我手动启动一个Android服务,它可以进行一些数据收集工作。
假设由于重启导致中断,那么服务就在那里结束。我需要在重启时重启相同的服务。
注意:我没有在启动时启动服务。 提前谢谢。
答案 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>
...干杯