実際にAndroidの最小SDKバージョン21-22つまり、5.0は許可を確認する必要はありませんが、私たちが別の携帯電話でアプリをテストする必要がある場合などです。最小限のsdkバージョン23で、つまりマシュマロで。あなたはあなたのアプリケーションの外部で許可をチェックする必要があります。
//requesting Permission
private void requestingPermission(){
if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.ACCESS_NETWORK_STATE)){
//Exaplian here why you need this permission
}
//Ask for the permission
ActivityCompat.requestPermissions(this,new String[]{
Manifest.permission.ACCESS_NETWORK_STATE, },STORAGE_PERMISSION_CODE);
}
今すぐ別の
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
//checking the request code of Permission request
if (requestCode == STORAGE_PERMISSION_CODE){
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED){//Toast.makeText(getApplicationContext(),"Permission Granted",Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(getApplicationContext(),"Permission Denied",Toast.LENGTH_SHORT).show();
}
}
}
いけない、あなたのアクティビティのonCreate方法の下に呼び出すことを忘れ追加Starting_Activityでのコードの下
write()メソッド
requestingPermission();
はで許可ACCESS_COARSE_LOCATIONですあなたのマニフェスト、ターゲットAPIはapi 23以上で? –
マニフェストにあり、targetSdkVersionが25、minSdkVersionが15 –
Hmm非常に奇妙です。私はもっとコードなしで知ることはできませんが、あなたの周りの仕事はできるでしょう if(Build.VERSION.SDK_INT