private void validateserviceintent(intent service) else
}}
既然,原始碼裡是這樣寫的,那麼這裡有兩種解決方法:
1、設定action和packagename:
intent mintent = new intent();
mintent.setaction("***.***.***");//你定義的service的action
mintent.setpackage(getpackagename());//這裡你需要設定你應用的包名
context.startservice(mintent);
此方式是google官方推薦使用的解決方法
2、設定componentname:
intent intent = new intent();
componentname componentname = new componentname(pkgname,servicename);
intent.setcomponent(componentname);
context.startservice(intent);
補充知識點:在android5.0之前的顯示和隱式啟動service
隱式啟動
final intent serviceintent=new intent();
serviceintent.setaction("com.android.service");
顯示啟動
final intent serviceintent=new intent(this,service.class);
startservice(serviceintent);
啟動遠端service的兩種方式 顯示和隱式
1 顯式啟動 service端 android exported true 客戶端 public static final string name gesture detector remote service com.easyliu.watchgesture.service.gesturedete...
Intent顯示啟動與隱式啟動
android的acitivity啟動大致有兩種方式 顯式啟動與隱式啟動。下面分別介紹 1.顯示啟動 清單檔案註冊activity activity android name com.example.intentmethod.xianshiactivity android label string ...
顯示提交 和 隱式提交
我發現有人經常 濫用 oracle 中的commit和rollback的用法。首先,大家要清楚 commit rollback,都是用在執行 dml 語句之後的。所謂 dml 語句就是 insert delete update select 而 create table view 之類的語句,是 d...