Android6の権限取得に対応するため以下のようにアプリ起動時に許可されるまで権限のリクエストを行う処理を作っているのですが、実機でデバッグしているときは動作するのですがリリース用のAPKを作って動かしたところ1回権限を求めたあと回答結果にかかわらず先へ進みません。
どうすれば解決するでしょうか。
Android Stadio 1.1.0
compileSdkVersion 21
targetSdkVersion 23
で開発しています
private void setUp(){ // アプリの起動処理 } private boolean getPermission(){ if(!getRequestPermissionState("権限1")){ return false; } if(!getRequestPermissionState("権限2")){ return false; } if(!getRequestPermissionState("権限3")){ return false; } return true; } private boolean getRequestPermissionState(String permission){ if (ContextCompat.checkSelfPermission(this, permission)== PackageManager.PERMISSION_GRANTED){ // 許可されている時の処理 return true; } // 拒否されている時は再度許可を求める if (ActivityCompat.shouldShowRequestPermissionRationale(this, permission)) { ActivityCompat.requestPermissions(this, new String[]{permission}, 0); } else { ActivityCompat.requestPermissions(this, new String[]{permission}, 0); } return false; } @Override public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { switch (requestCode) { case 0: { if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { if(getPermission()){ setUp(); } }else{ if(getPermission()){ setUp(); } } break; } } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/03/06 10:32