回覆列表
  • 1 # sdf8146

    可以使用廣播接收者來實現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在後臺運行了。

  • 中秋節和大豐收的關聯?
  • 巨神戰擊隊2裡面的演天羽是是誰?