Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> android 在5.0以後不允許使用隱式Intent方式來啟動Service,androidintent

android 在5.0以後不允許使用隱式Intent方式來啟動Service,androidintent

編輯:關於android開發

android 在5.0以後不允許使用隱式Intent方式來啟動Service,androidintent


android5.0以後不能使用隱式intent :需要指定Intent的ComponentName信息:intent.setComponent(xxx),或指定Intent的setPackage("包名"),如果兩者都沒有指定的話將會報以上錯誤。尤其在framework層啟動APP層的service時,如果是隱式啟動service,可能會導致系統進程掛掉,出現不斷重啟的現象。

三 解決方法

 1. Intent intent = new Intent();
    ComponentName componentName = new ComponentName(pkgName,serviceName);
    intent.setComponent(componentName);
    context.startService(intent);

 

 

2.Intent mIntent = new Intent();
 mIntent.setAction("XXX.XXX.XXX");//Service能夠匹配的Action
 mIntent.setPackage(pkgName);//應用的包名
 context.startService(mIntent);

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved