7

私のアプリは、ユーザーがトグルボタンでアクティブまたは非アクティブにできるジオローカリゼーション サービスを実行します。サービスのステータスを確認するために、共有設定にブール値を書き込みます。サービスの onDestroy() のおかげで、サービスの開始と終了をリッスンします。

私の問題は、ユーザーが「高度なタスクキラー」でサービスを強制終了すると、サービスが強制終了されたことがわからず、onDestroy が呼び出されないことです。

どうすれば対処できますか?

ご協力いただきありがとうございます。

フロラン

4

2 に答える 2

2

プロセスが強制終了されると(ATKまたはAndroid独自の強制停止ボタン、またはここの関数を使用して)、プロセスはすぐにメモリから削除されます(カーネルで許可されている場合)。これは、追加のコードが実行される可能性がないことを意味します。つまり、アプリケーションに送信された「強制キル」を実際に処理する方法はありません。

これを処理したい場合は、2つのオプションがあります(私が考えることができます):

  1. ATKの「無視」リストにアプリを追加するようにユーザーに指示する免責事項を公開します。
  2. onDestroy()メソッドに依存せずに機能を維持する方法を見つけてください。

編集:

現在実行中のプロセスのリストからプロセスを確認する場合は、getRunningAppProcesses()を調べてください。

于 2011-05-02T20:37:36.577 に答える
-1

onDestroy()

サービスを再起動する場合は、 で再起動できますonDestroy()

于 2012-07-02T07:17:01.497 に答える