権限確認、覚書
権限がないときは、ダイアログを出して促す
ユーザーが権限を許すときは、設定画面に遷移する
権限が不足していれば、アプリ終了しますからね!
public class InitActivity extends AppCompatActivity { final static String [] PERMISSION_LIST = new String[]{ Manifest.permission.RECORD_AUDIO, Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); checkPermission(); } final static int MY_PERMISSIONS_REQUEST = 1; void checkPermission() { // "今後は確認しない" にチェックがある場合は、ダイアログが表示されずに onRequestPermissionsResult が呼び出される ActivityCompat.requestPermissions(this, PERMISSION_LIST, MY_PERMISSIONS_REQUEST); } @Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { switch (requestCode) { case MY_PERMISSIONS_REQUEST: if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { Intent Intent = new Intent(this, MainActivity_.class); startActivity(Intent); } else { Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS); Uri uri = Uri.fromParts("package", getPackageName(), null); intent.setData(uri); startActivity(intent); } finish(); } } }