簡體   English   中英

在啟動時啟動服務,但不是整個Android應用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM