我按照這個鏈接教程能夠讓請求允許在運行時:https://developer.android.com/training/permissions/requesting.html允許請求允許在運行時不工作
,它不工作,我複製相同的代碼,但是有不同的權限「ACCESS_FINE_LOCATION 「
我的代碼作爲活動
int permissionCheck = ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION);
if (permissionCheck != PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(this,
Manifest.permission.ACCESS_FINE_LOCATION)) {
DialogUtils.showDialogMessage(this, getString(R.string.error),
getString(R.string.error_location_permission_not_granted), getString(R.string.ok), getString(R.string.cancel), new OnClickListener() {
@Override
public void onClick(View view) {
/*ContextCompat.requestPermissions(ItemDetailsActivity2.this,
new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
MAP_PERMISSION_REQUEST_CODE);*/
}
}, null);
} else {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
MAP_PERMISSION_REQUEST_CODE);
}
}
的onCreate方法如下
,這是回調方法
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
switch (requestCode) {
case MAP_PERMISSION_REQUEST_CODE: {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
initalizeMap();
} else {
DialogUtils.showDialogMessage(this, getString(R.string.error), getString(R.string.error_location_permission_not_granted), getString(R.string.ok), null);
}
return;
}
}
}
,這是我的構建配置
compileSdkVersion 23
buildToolsVersion '23.0.3'
minSdkVersion 15
targetSdkVersion 15
誰能告訴我什麼是我的問題呢?
編輯當我改變了targetSdkVersion至23日在這兩個清單和gradle這個文件,並運行我的應用程序它給了我下面的屏幕,當我按下允許,給了我黑色的屏幕長時間
,並且別做任何事
請問你能告訴我現在有什麼問題嗎?
是的,我在Android 6.0.1版本的設備上運行 –