1
在AndroidManifest.xml中,我將BroadcastReceiver註冊到「android.intent.action.BOOT_COMPLETED」事件中。 這會在每次Android設備啓動時啓動服務。應用啓動時的Android啓動系統服務
...
<receiver android:name="MySystemScheduleReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
...
但是,我希望系統服務在應用程序安裝後立即啓動,無需重新啓動設備。
當應用程序啓動時,是否可以使用系統事件? 或者我需要設置自定義事件嗎?
我應該修改我的清單文件以類似
...
<receiver android:name="MySystemScheduleReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="com.myapp.StartSysService" />
</intent-filter>
</receiver>
...
,然後從我的主要活動有類似
...
Intent intent = new Intent();
intent.setAction("com.myapp.StartSysService");
sendBroadcast(intent);
...
如果是這樣,我應該使用哪一種方法推出的服務? (的onCreate,...的onResume)
感謝
「不過,我想系統服務的應用程序安裝後立即啓動,而不需要重新啓動設備」 - 系統服務部分固件,而不是應用程序。請編輯您的問題,以便**完整且準確**關於您所指的內容。 – CommonsWare 2013-04-10 16:24:57
你有任何的GUI活動?如果是的話,你可以像這樣從你的活動開始** onCreate **方法的服務:'Intent service = new Intent(); service.setAction( 「com.myapp.MyService」); context.startService(service);' – 2013-04-10 16:42:15
我將sendBroadcast調用放在onCreate(主要的GUI活動)中,它似乎工作正常。謝謝。 – user1936810 2013-04-10 19:02:35