45

私のウィジェットは、Activityスコープ外のアクセス許可を保護するための呼び出しを行います。の外部でAndroid Mのアクセス許可を要求することは可能Activityですか?

4

6 に答える 6

5

いいえ、できません。あなたができることは、ユーザーがタップできる通知を送信し、アクティビティを使用して許可を要求/管理することです (おそらくダイアログテーマを使用)。

于 2015-07-20T16:54:13.183 に答える
3

Easy Permissionsライブラリを使用できます。

Android では、これらのリクエストがActivity. Easy Permissions を使用すると、これはもはや問題ではありません。提供する限り、どこからでも許可を要求できますContext。さらに、すでに付与されているアクセス許可を要求した場合、ユーザーにプロンプ​​トは表示されません。

ここに画像の説明を入力

完全な開示、当社はこの無料で使用できるライブラリを管理および開発しています。そうは言っても、私たちはそれが便利なツールであると確信しており、それ以外の方法で共有することはありません.

于 2018-02-08T17:38:46.207 に答える
2

メソッドを使えば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)

これは、パーミッション リクエストの結果を処理するメソッドです。

于 2015-09-25T16:01:30.013 に答える
2

アクティビティまたはフラグメントからのみ許可をリクエストできます。

アクティビティまたはフラグメント内でアプリがパーミッションを必要とするポイントを特定し、requestPermission メソッドを呼び出します。要求されたアクセス許可を取得するまでコードを処理してから、 onRequestPermissionResult() メソッドから機能を再開するため、通知の送信は機能しません。

于 2015-09-20T19:23:20.787 に答える