許可設定が[設定]から[許可]に変更されたときに、アプリケーションにブロードキャストやアラートが表示されますか?私は、アプリケーションが起動し、LOCATION GROUP権限を持っているときに何らかのログを開始するシナリオを持っています。しかし、ユーザーがアプリケーションのクラッシュの間にこの権限を取り消すと、ユーザーがログを取り消したときにログを停止する方法はありません。このロギングは第三者図書館からのものですので、間にチェックパーミッションのチェックを入れることはできません。アンドロイドでのブロードキャストアクション許可の変更M
答えて
許可設定が「設定」から「変更」に変更されても、アプリケーションはブロードキャストやアラートを受信しませんか?
これは文書化されていません。
以前に許可された権限をユーザーが取り消すと、プロセスは終了します。次に実行すると、パーミッションのチェックの一環としてパーミッションの変更を知ることになります。
ユーザーが以前に拒否されたアクセス許可を与えた場合、プロセスはではなく、が終了しています。しかし、もう一度、checkSelfPermission()
に電話をすると、アクセス権があることがわかります。
ここでの教訓は、アクセス許可の検索結果をキャッシュしないことです。彼らはかなり安いコールのようですので、必要に応じてcheckSelfPermission()
に電話してください。
targetSdkVersion
が23未満の場合、checkSelfPermission()
は役に立ちませんが、SecurityException
ではなく、偽のデータを取得する必要があります。ロケーションの修正の場合、ユーザーがロケーションへのアクセス許可を取り消した場合、ロケーションを取得しないでください。
しかし、ユーザーは、当社のアプリケーションのクラッシュ
の間にこの権限を取り消すとき、私は、バックグラウンドサービスが実行されているシナリオを試していないと、ユーザーが許可を取り消します。それはあなたのプロセスを終了する必要がありますので、あなたのサービスが次回実行されるときに権限の変更について知ることができます。あなたのプロセスがではなく、で終了していることが判明している場合は、Androidのバグの兆候かもしれません。
実際には、設定/アプリケーションから権限を取り消してから、自分のアプリに戻すことができます。 –
私は許可を取り消しましたが、今は私がpsを実行してもプロセスは実行されませんが、私のアプリケーションは最近のアプリケーションリストに残っており、そこから起動することができます。私は最近のアプリのリストからそれをきれいにすることができる方法はありますか? –
@SumitShrivastava: "しかし、私のアプリケーションはまだ最近のアプリのリストにあります" - 確かに。 Android 5.0以降では、永遠にそこにいます。 「最近のアプリリストからもそれを消去できる方法はありますか?」 - ユーザーが設定でアクセス権を切り替えたときではありません。 overview/recent-apps画面に表示されるあなたのアプリによって引き起こされている問題を説明してください。 – CommonsWare
- 1. AndroidのMテストREAD_PHONE_STATE(危険なアクセス許可)の許可
- 2. 変更の許可ダイアログ)
- 3. アンドロイドのttyポートのアクセス許可と所有権をプログラムで変更する
- 4. データベースの変更を許可する
- 5. サブバージョンファイルのアクセス許可を変更する
- 6. フォルダのアクセス許可を変更する
- 7. リストアイテムのアクセス許可を変更する
- 8. Android MでAndroidのアクセス許可を有効にする方法
- 9. アンドロイドC2DM不明許可com.google.android.providers.gsf.permission.READ_GSERVICES
- 10. アンドロイド23 URI許可拒否
- 11. Oracleによる許可変更シーケンス
- 12. pythonでのファイルのアクセス許可の変更
- 13. Android Mリクエスト複数の許可を一度に
- 14. Android Mのマイクに対する許可をリクエストする
- 15. 許可をリクエストした後、Android MでパッケージインストーラがクラッシュするREAD_SMS
- 16. Pythonのサブプロセスです。フォルダの変更を許可しますか?
- 17. Eclipseで必要なライブラリのアクセス許可を変更する
- 18. matlabの行列(m x n)の変更
- 19. Azure Active Directoryアプリケーションのアクセス許可の変更の遅延
- 20. C++ - 変更後のファイルのアクセス許可を修正する
- 21. サブライムテキスト2のファイルとフォルダのアクセス許可を変更する
- 22. Excel VBA管理者のみブックの変更を許可する
- 23. Picloud(AMAZON EC2サーバー)のサブプロセス変更フォルダの許可?
- 24. 他のアプリとデータを共有する際のAndroid Mのアクセス許可
- 25. ファイルをダウンロードし、アンドロイドでstorgeの許可を求める
- 26. オフラインアクセス許可の変更5日、2012、publish_streamは2012年5月
- 27. バインドメカニズムによる変更の表示を許可するArrayCollectionラッパー
- 28. webGrid.Columnは列幅の変更を許可していません
- 29. TFS + GIT Repoコマンドラインによるアクセス許可の変更
- 30. tomcat jmxパスワードのファイルアクセス許可を変更するには
ブロードキャストがありません。アクセス許可が与えられているかどうかを確認することができます。 – tyczj
このようなsuxorsは、特に、*必須*、プロンプト、承認済みのバックグラウンドで実行されているサービス許可を得ていますが、誰かがパーミッションを無効にして*実行中*を拒否しています。権限が変更されたことを伝えるイベントがなければ、サービスは正常に動作し続けるように見えます。すでに承認されている権限へのすべての呼び出しに対して権限をテストすることは、賢明に推奨されるプラクティスに従わなければなりません。イベントをキャッチしてサービスを一時停止し、再開が必要な第一級の通知を促す方がよいでしょう。 – swooby