11. 複数のパーミッションをチェックする場合は、
文字列の配列を受け取り、for文等でチェックするクラスを作ってもよい
Step.1 チェックの処理
public void showContacts(View v){
if (checkSelfPermission(Manifest.permission.READ_CONTACTS)
!= PackageManager.PERMISSION_GRANTED) {
if (shouldShowRequestPermissionRationale(Manifest.permission.READ_CONTACTS)) {
// Explain to the user why we need to read the contacts
}
//ポップアップなどで要求に対する説明を書く
requestPermissions(new String[]{Manifest.permission.READ_CONTACTS},
MY_PERMISSIONS_REQUEST_READ_CONTACTS);
}else{
showContactsDetails();//すでに許可されていた場合の処理
}
}
パーミッションのチェックは次のAPIを用いる
context#checkSelfPermission(String permission_name)
許可:PERMISSION_GRANTED(=0)
不許可:PERMISSION_DENIED(=-1)