[英]Start Service on boot but not entire Android app
我正在使用Android。
我正在使用的應用程序使用“活動”來設置特定的用戶輸入值,然后服務使用這些值來根據這些值提供警報。 做研究我確定了如何在手機啟動時讓應用程序啟動,但是,我真正想要的是讓服務啟動但沒有將應用程序加載到屏幕上。 目前,當我打開設備時,整個應用程序加載到屏幕,然后我必須退出它。
我已經下載了類似的程序,這些程序具有設置界面,但在后台運行。 怎么做的?
首先,你必須創建一個接收器:
public class BootCompletedReceiver extends BroadcastReceiver {
final static String TAG = "BootCompletedReceiver";
@Override
public void onReceive(Context context, Intent arg1) {
Log.w(TAG, "starting service...");
context.startService(new Intent(context, YourService.class));
}
}
然后為AndroidManifest.xml添加權限:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
並注冊意向接收者:
<receiver android:name=".BootCompletedReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
完成此操作后,您的應用程序( Application
類)將與服務一起運行,但不會運行任何活動。
啊,並且不要將你的應用程序放在SD卡(APP2SD或類似的東西)上,因為它必須駐留在主存儲器中才能在引導完成后立即可用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.