私のウィジェットは、Activity
スコープ外のアクセス許可を保護するための呼び出しを行います。の外部でAndroid Mのアクセス許可を要求することは可能Activity
ですか?
6 に答える
いいえ、できません。あなたができることは、ユーザーがタップできる通知を送信し、アクティビティを使用して許可を要求/管理することです (おそらくダイアログテーマを使用)。
Easy Permissionsライブラリを使用できます。
Android では、これらのリクエストがActivity
. Easy Permissions を使用すると、これはもはや問題ではありません。提供する限り、どこからでも許可を要求できますContext
。さらに、すでに付与されているアクセス許可を要求した場合、ユーザーにプロンプトは表示されません。
完全な開示、当社はこの無料で使用できるライブラリを管理および開発しています。そうは言っても、私たちはそれが便利なツールであると確信しており、それ以外の方法で共有することはありません.
メソッドを使えばActivity外でもパーミッションを要求できると思います
ActivityCompat.requestPermissions (アクティビティ アクティビティ、String[] アクセス許可、int requestCode)
サポート ライブラリから取得し、Activity をメソッドのパラメーターとして渡します。
例えば:
ActivityCompat.requestPermissions(targetActivity, new String[] {Manifest.permission.CAMERA}, PERMISSION_REQUEST_CODE);
targetActivity は、メソッドを実装するアクティビティです。
onRequestPermissionsResult (int requestCode、String[] パーミッション、int[] grantResults)
これは、パーミッション リクエストの結果を処理するメソッドです。
アクティビティまたはフラグメントからのみ許可をリクエストできます。
アクティビティまたはフラグメント内でアプリがパーミッションを必要とするポイントを特定し、requestPermission メソッドを呼び出します。要求されたアクセス許可を取得するまでコードを処理してから、 onRequestPermissionResult() メソッドから機能を再開するため、通知の送信は機能しません。