我需要一个示例代码或示例来显示服务的正确实现。我想在一段时间后运行代码,比如 3-4 小时。并且该过程应该在后台运行,甚至设备也会重新启动。
我想出了选项bootreciever
and boot_completed
,但真的不知道如何实现它或async
运行进程的功能以在间隔后一次又一次地运行。
显现
<service
android:name=".Myservice"
android:label="My Service" >
<intent-filter>
<action android:name="com.app.ader.Myservice" />
</intent-filter>
</service>
<receiver android:name="com.app.ader.StartMyServiceAtBootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
我的服务.java
public class Myservice extends Service {
String tag="TestService";
@Override
public void onCreate() {
super.onCreate();
Toast.makeText(this, "Service created...", Toast.LENGTH_LONG).show();
Log.i(tag, "Service created...");
}
@Override
public void onStart(Intent intent, int startId) {
super.onStart(intent, startId);
Log.i(tag, "Service started...");
}
@Override
public void onDestroy() {
super.onDestroy();
Toast.makeText(this, "Service destroyed...", Toast.LENGTH_LONG).show();
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
}
StartMyServiceAtBootReceiver.java
public class StartMyServiceAtBootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent startServiceIntent = new Intent(context, Myservice.class);
context.startService(startServiceIntent);
}
}
我的服务在启动后运行......但我什至需要在安装应用程序后运行服务。不知道如何实现该 nd 以及警报管理器???间隔 3-4 小时