其實Android的最低sdk版本21-22即5.0不需要檢查權限,但是當我們必須在不同的手機上測試我們的應用程序的例如。在最低sdk版本23上,即在棉花糖上。您需要在應用程序中檢查外部的權限。
寫下面的代碼在你的Starting_Activity
//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調用以下方法()方法
requestingPermission();
是在許可ACCESS_COARSE_LOCATION你的清單,你的目標API上的API 23或更高? –
它在清單和targetSdkVersion是25,minSdkVersion是15 –
嗯很奇怪。我不知道沒有更多的代碼,但作爲一個工作,你可以做 if(Build.VERSION.SDK_INT