Android 6.0(Marshmallow)からpermissionモデルが新しくなってます。
Android 6.0未満はインストール時に必要なpermissionsを一括で
同意し、アプリの実装も許可されているものとして実装してます。
同意し、アプリの実装も許可されているものとして実装してます。
が、
Android 6.0からはインストール後の初期状態は全て拒否されており、
アプリを起動して必要になった時にユーザーに同意を求めます。
アプリを起動して必要になった時にユーザーに同意を求めます。
PhoneGapを使ってる場合
Javaでネイティブでゴリゴリ実装〜という場合は素直にユーザーの同意が
必要になった場合に
必要になった場合に
if (checkSelfPermission(Manifest.permission.READ_CONTACTS)
!= PackageManager.PERMISSION_GRANTED) {
// ユーザーに許可を求める
・・・・
}
といった具合に実装していかないといけませんが、PhoneGapなら
cordova-plugin-android-permissions
という便利なプラグインがっ!!cordova-plugin-android-permissions
Android6.0未満の場合はpermissionチェックで全て許可済みになります。
今後の為に入れておいて損は無いかな〜と。
今後の為に入れておいて損は無いかな〜と。
Install
$ phonegap cordova plugin add cordova-plugin-android-permissions
例)カメラのパーミッションが必要な場合
var permissions = cordova.plugins.permissions;
permissions.hasPermission(permissions.CAMERA, checkPermissionCallback, null);
function checkPermissionCallback(status) {
if(!status.hasPermission) {
var errorCallback = function() {
console.warn('Camera permission is not turned on');
}
permissions.requestPermission(
permissions.CAMERA,
function(status) {
if(!status.hasPermission) errorCallback();
},
errorCallback);
}
}
指定できるpermission一覧はここで確認できます。
0 件のコメント:
コメントを投稿