Androidで許可ダイアログを出す方法です。
利用ライブラリ
https://github.com/permissions-dispatcher/PermissionsDispatcher
1. AndroidManifestの設定
AndroidManifest.xml
1 2
| <uses-permission android:name="android.permission.CAMERA" />
|
2. 許可が必要な機能を持っているクラスにアノテーションを付与する
1 2 3 4 5 6
| @RuntimePermissions public class HogeFragment {
}
|
3. 許可が必要な機能を実行する関数を修正する
関数の後ろにWithPermissionCheck
を追加するだけ
1 2 3 4 5 6 7 8 9
| @RuntimePermissions public class HogeFragment {
public void onClick(final View v) { needPermissionWithPermissionCheck(this) }
}
|
4. 許可が必要な関数にアノテーションを付与する
1 2 3 4 5 6 7 8 9
| @RuntimePermissions public class HogeFragment {
@NeedsPermission(Manifest.permission.CAMERA) public void piyo() { }
}
|
5. 許可の結果を受け取る関数を作成する
1 2 3 4 5 6 7 8 9 10 11 12
| @RuntimePermissions public class HogeFragment {
@SuppressLint("NeedOnRequestPermissionsResult") @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { if (PermissionUtils.verifyPermissions(grantResults)) { piyo(); } } }
|
以上です
参考
PermissionsDispatcherによる権限管理