サービスの適切な実装を示すサンプル コードまたは例が必要です。一定時間後、たとえば 3 ~ 4 時間後にコードを実行したい。プロセスはバックグラウンドで実行され、デバイスも再起動されます。
bootreciever
オプションと を思いつきましたが、それを実装する方法や、実行中のプロセスに関数を実行して、間隔を置いて何度も実行する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>
Myservice.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 時間の間隔