アプリがバックグラウンドタスクから強制終了した場合でも、私のサービスを実行したい。誰も私にいくつかの提案をお願いします。 (細かい作業、私はアプリを最小化する)アプリが殺されたときにサービスを実行するには?
ここに私のコード:
public class MyService extends Service {
private BroadcastReceiver mReceiver = null;
public MyService() {
}
@Override
public IBinder onBind(Intent intent) {
// TODO: Return the communication channel to the service.
throw new UnsupportedOperationException("Not yet implemented");
}
@Override
public void onCreate() {
final IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON);
filter.addAction(Intent.ACTION_SCREEN_OFF);
mReceiver = new ScreenReceiver();
registerReceiver(mReceiver, filter);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if (ScreenReceiver.wasScreenOn) {
Log.e("MYAPP", "SCREEN TURNED OFF");
} else {
// this is when onPause() is called when the screen state has not changed
}
return START_STICKY;
}
@Override
public void onDestroy() {
super.onDestroy();
}
}
ブロードキャストレシーバーを使用して意図を検出し、サービスを開始することができます –
例がありますか? – help
あなたのサービスの 'onDestroy()'で放送を送信し、 'BroadcastReceiver'を作成(登録)して、サービスが殺された場合に' broadcast'を得ることができます。しかし、実際に悪い習慣は、ユーザーによって殺されているサービスを再起動する......決して公開するつもりのアプリのためにこれを行う必要があります... – Opiatefuchs