1

ボタンを押したときにユーザーの位置を追跡するアプリを開発しています。LocationListener を使用して場所を記録するサービスを実装しましたが、うまく機能しますが、いくつかの厳しいテストを行っており、いくつかのアプリケーションを開くと、アプリとサービスが Android によってランダムに強制終了されます。

しかし、私は Wikiloc というアプリをダウンロードし、同じ重いテストを行っています。複数のアプリを開いても、このアプリは決して強制終了されず、アプリが非表示にできない通知を作成することがわかります。アプリがシステムによって強制終了されないという事実に関連している可能性はありますか?

アプリでこれを達成するにはどうすればよいですか? 通知トリックを行う必要がありますか? もしそうなら、それはどのように実装されていますか?

4

1 に答える 1

0

Android サービスのドキュメントについては、startForeground(int, Notification) こちらをご覧ください。ドキュメントによると:

このサービスをフォアグラウンドで実行し、この状態でユーザーに表示される進行中の通知を提供します。デフォルトでは、サービスはバックグラウンドです。つまり、システムがより多くのメモリを再利用するためにそれらを強制終了する必要がある場合 (Web ブラウザーで大きなページを表示するなど)、あまり害を及ぼすことなく強制終了できます。サービスがバックグラウンド ミュージックの再生を実行している場合など、サービスを強制終了するとユーザーに混乱が生じる場合は、このフラグを設定して、音楽の再生が停止した場合にユーザーが気付くようにすることができます。

startForegroundサービスのonCreateメソッド内で呼び出します。

于 2016-04-28T13:11:19.717 に答える