可以使用廣播接收者來實現service一直在後臺執行,即服務如果被kill就用BroadcastReceiver重新啟動,這種方式來實現service一直在後臺執行的。
實現程式碼:
1.在配置檔案
AndroidManifest.xml
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
2.需要新增相應許可權
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
3.在Receiver中就可以新增開機,或者網路狀態改變後需要進行的操作
public class BootCompletedReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
}
4.執行操作,Intent intent = new Intent(context,Service.class); context.startService(intent); 這樣即可一直保護Service在後臺運行了。
可以使用廣播接收者來實現service一直在後臺執行,即服務如果被kill就用BroadcastReceiver重新啟動,這種方式來實現service一直在後臺執行的。
實現程式碼:
1.在配置檔案
AndroidManifest.xml
中向系統註冊BroadcastReceiver<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
2.需要新增相應許可權
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
3.在Receiver中就可以新增開機,或者網路狀態改變後需要進行的操作
public class BootCompletedReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
}
}
4.執行操作,Intent intent = new Intent(context,Service.class); context.startService(intent); 這樣即可一直保護Service在後臺運行了。