Android 6.0アクセス許可システムを使用するように私のアプリの1つを移行しているときに、エミュレータを使用してアクセス許可をデバッグするのは非常に困難であることがわかりました。
調査結果:
requestPermissions()
メソッドを使用するときに権限の付与ダイアログが再表示されません。Androidエミュレータを使用して権限をデバッグする適切な方法は何ですか?
実際にデバッグするのは非常に簡単ですAndroid 6.0権限。権限を「インストール状態」にリセットして、 現在のフォアグラウンドアプリ次のADBシェルコマンドを使用してすべてのアプリ:
adb Shell pm reset-permissions
注:現在、ランタイムアクセス許可をリセットすることはできません特定のパッケージ、パッケージマネージャー(pm)ツールのヘルプセクションの状態:
すべてのランタイム権限をデフォルトの状態に戻します。
Android Studioのターミナルインターフェイスを使用してreset-permissions
コマンドを簡単に実行できます。ADBコマンドが機能するのは、ADBディレクトリがPATHシステム環境変数に追加されている場合のみです。 ADBをパス変数に追加 )。
以下を使用して、特定の権限をリセット/取り消すこともできます。
adb Shell pm revoke com.your.package Android.permission.WRITE_EXTERNAL_STORAGE
このコマンドの欠点は、アプリを再起動することですが、これによってすべてのアプリのランタイム権限がリセットされるわけではありません。権限を付与するには、revoke
をgrant
に置き換えます。