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