Android中如何做到Service被關閉後又自動啟動
如何做到啟動一個Service,並且在用戶關閉後能自動又啟動了呢?
一般的,都會在上麵說到的BroadcastReceiver的實現裏麵,監聽手機啟動完成後,啟動一個Service,這是一般的做法。問題是,用戶可以關閉掉該Service。那麼怎樣才能使它被關閉掉以後,再次啟動呢?聰明的你一定立即就想到了,如果不直接啟動Service,而是啟動一個timmer,或者alarmManager,然後每隔一段時間去啟動Service,就可以了。
package com.arui.framework.android.daemonservice; import android.app.AlarmManager; import android.app.PendingIntent; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.os.SystemClock; public class BootBroadcast extends BroadcastReceiver { @Override public void onReceive(Context context, Intent mintent) { if (Intent.ACTION_BOOT_COMPLETED.equals(mintent.getAction())) { // 啟動完成 Intent intent = new Intent(context, Alarmreceiver.class); intent.setAction("arui.alarm.action"); PendingIntent sender = PendingIntent.getBroadcast(context, 0, intent, 0); long firstime = SystemClock.elapsedRealtime(); AlarmManager am = (AlarmManager) context .getSystemService(Context.ALARM_SERVICE); // 10秒一個周期,不停的發送廣播 am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, firstime, 10 * 1000, sender); } } }
具體看這個:
https://blog.csdn.net/arui319/article/details/7040980
最後更新:2017-04-02 06:52:14