【Android開発】[Java]許可ダイアログを出すシンプルな方法

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) {
// needPermission()
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による権限管理

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×