Android為TV端助力 android 在5.0以后不允許使用隱式Intent方式來啟動Service


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);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM