7

私のアプリは位置情報の許可を使用しています。この権限が実行時にアプリ設定から取り消され、アプリに戻った場合、現在のアクティビティは破棄され、再作成されます。その活動の再現を防ぐ方法は?

4

2 に答える 2

10

できません。ユーザーがアプリからパーミッションを取り消すと、Android はプロセスを終了します。これにより、パーミッションの確認コードに戻る必要があり、パーミッションを失ったことがわかります。

UI がフォアグラウンドにないときはいつでもアプリのプロセスを終了できるため、アプリはすでにこのケースを処理できるはずです。できない場合は、それを修正する必要があります。バックグラウンドにある間にプロセスが他の理由で終了するためです (OS がシステム RAM を解放している、ユーザーがタスクキラー アプリを使用している、ユーザーが [設定] で [強制停止] を押しているなど)。 )。

于 2016-10-25T13:02:41.877 に答える
0

これは、Android M でのアクセス許可の変更を処理するために Android に実装された簡単なクリーンアップ メカニズムです。プロセスは終了し、ライブになるinit'sと、利用可能なアクセス許可が付与されます。

したがって、クエリへの回答->プロセス全体が再起動されるため、アクティビティの再現を防ぐことはできません。このようなイベントを引き続き検出したい場合は、許可を取り消す前にいくつかのフラグを保持し、アプリがフォアグラウンドになった後に確認することができます。

于 2016-10-25T13:11:42.083 に答える