これについて多くの質問があります。 私はそれらの大部分を試して、それに多くの時間を費やしました。 しかし、すべてのソリューション実際アプリが閉じられた後、または最近のアプリからスワイプされた後にアラームマネージャー/サービス/ブロードキャストレシーバーが機能していない
を得ていないが、私は、バックグラウンド・プロセスでもアプリが、私は繰り返し
はそう最初に私が持っていた15分後に、ユーザのGPS位置を取りたい、最近のアプリ から削除された無限時間に実行したいです私は5秒の定期的な間隔でLocationServiceRestarterを呼び出します警報リピータを開始していますその放送受信機の 名前はLocationServiceRestarter である私のサービスを呼び出す放送受信機を作成している
TRY 1 ****** と次のように試してみました
Intent intent = new Intent("com.lmf.overduereport.gpstimer.LocationServiceRestarter");
intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(),
0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager am =
(AlarmManager)getSystemService(Activity.ALARM_SERVICE);
alarm_manager.setRepeating(AlarmManager.RTC_WAKEUP,SystemClock.elapsedRealtime()+5*1000,5*1000,pendingIntent);
私は最近のアプリを私は放送受信機と呼ばれるかどうについての私のフォルダにログを書き込み放送受信機内部のログを追加した からアプリを削除しない場合、それは正常に動作します。 この場合、ブロードキャスト受信機自体はアラームマネージャーから呼び出されていませんが、明らかに私が場所を記録するために呼びたいサービスを呼び出すことはありません。
TRY 2 ****** 無限に実行できるサービスを試しました。それはまた、アプリが
TRY 3 ****** を閉じた後、この時間は私が上記
Intent intent = new Intent("com.lmf.overduereport.gpstimer.LocationServiceRestarter");
intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(),
0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager am =
(AlarmManager)getSystemService(Activity.ALARM_SERVICE);
//--
am.set(AlarmManager.ELAPSED_REALTIME_WAKEUP,
SystemClock.elapsedRealtime() + 5000, pendingIntent);
放送受信機を呼び出し、中になりますが、以下のなかった代わりに、そのことを繰り返しアラームマネージャを呼び出すことはありません動作しなくなりましたチェーンが続行されますので、新しいスケジュール時刻と放送受信を再開します上記
LocationServiceM.appendLog("Got Reciever******");
intent = new Intent("com.lmf.overduereport.gpstimer.LocationServiceRestarter");
intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context,
12345, intent, PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager am =
(AlarmManager) context.getSystemService(Activity.ALARM_SERVICE);
am.set(AlarmManager.ELAPSED_REALTIME_WAKEUP,
SystemClock.elapsedRealtime() + 5000, pendingIntent);
を次のように放送受信機は、私はアラームマネージャを追加しました。
しかし、悲しいことにもうまくいきません。最近のアプリからアプリが削除されないと正常に動作します。
でも私は運と運命のないサービスと同じことを試みました。
結論:最近のアプリからアプリを削除してもアラームマネージャーやブロードキャスト受信機は呼び出されません。
しかし、最近のアプリからもアプリが閉鎖されていても、バックグラウンドで実行される多くのアプリが見られました。
このリンクを参照してください。 –
Samsung galaxy j5 Prime。アンドロイドバージョン6.0.1とパナソニックP81アンドロイドバージョン4.2.2 .. –