読者です 読者をやめる 読者になる 読者になる

スマゲ

スマートなゲームづくりを目指して日々精進

AndroidのRuntime Permissionを実装する

AndroidをRuntime Permissionを実装してみます

■関連
Android6.0からのPermissionの仕様変更についてのまとめ - スマゲ
Requesting Permissions at Run Time | Android Developers

■実装
・AndroidManifest.xmlに利用したい権限を追加する

<uses-permission android:name="android.permission.CAMERA" />

・権限をリクエストするコード

if(Build.VERSION.SDK_INT >= 23) {
    requestPermissions(new String[]{"android.permission.CAMERA"}, 0);
}

・ユーザーの判断を受け取るコード
以下のコードをActivityに追加

@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
    switch (requestCode) {
        case 0: {
            if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                Log.i("permission", "permitted");
            } else {
                Log.i("permission", "not permitted");
            }
            break;
        }
    }
}

■実行結果
f:id:sanukin39:20160321144917p:plain

■まとめ
簡単ですがユーザーに対して権限を聞くことができるようになりました