0
我手動啓動一個安卓服務,它可以完成一些數據收集工作。如何重新啓動Android服務,當它被重啓中斷?
假設如果重啓導致中斷,則服務在那裏結束。我需要在重啓時重新啓動相同的服務。
注意:我沒有啓動啓動服務。 在此先感謝。
我手動啓動一個安卓服務,它可以完成一些數據收集工作。如何重新啓動Android服務,當它被重啓中斷?
假設如果重啓導致中斷,則服務在那裏結束。我需要在重啓時重新啓動相同的服務。
注意:我沒有啓動啓動服務。 在此先感謝。
您可以在引導中斷後重新啓動服務。
只存儲共享pref中的標誌,如果引導中斷,則boolean設置爲true。
現在啓動完成後,您可以使用以下代碼重新啓動服務。
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class MyStartupIntentReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
// check for interreupted flag in shared pref
// if true restart your service
}
}
添加下面的代碼片段到你的清單
<receiver android:name="MyStartupIntentReceiver">
<intent-filter>
<action
android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.HOME" />
</intent-filter>
</receiver>
乾杯....
感謝Android_Crazy – RanjitRock
要啓動該服務的設備啓動時? –
你想要一些一次性註冊啓動事件嗎?就像Windows一樣,註冊表項「RunOnce」就是爲了這個目的。 –
不,我手動啓動服務,我需要重新啓動服務,如果有像重新啓動中斷,我想停止服務,我只是殺了服務..我需要監視電話事件只有特定的時間,並且不應該有任何inturreption – RanjitRock