重启时如何重启android服务?

时间:2011-10-11 05:11:34

标签: android service

我手动启动一个Android服务,它可以进行一些数据收集工作。

假设由于重启导致中断,那么服务就在那里结束。我需要在重启时重启相同的服务。

注意:我没有在启动时启动服务。 提前谢谢。

1 个答案:

答案 0 :(得分:3)

您可以在启动中断后重新启动服务。

只需将标志存储在共享pref中,如果引导中断,则将布尔值设置为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>

...干杯