Java ActivityCompat.requestPermissions不';不显示对话框
在AndroidManifest.xml中:Java ActivityCompat.requestPermissions不';不显示对话框,java,android,Java,Android,在AndroidManifest.xml中: <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="23" /> <uses-permission-sdk-m android:name="android.permission.ACCESS_FINE_LOCATION"/> 调用requestPermissions()后,将调用onRequestPermissionsResult,而不
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="23" />
<uses-permission-sdk-m android:name="android.permission.ACCESS_FINE_LOCATION"/>
调用requestPermissions()后,将调用onRequestPermissionsResult,而不显示确认对话框
有人知道问题是什么,或者如何显示此对话框吗
谢谢。这可能是因为您已经向应用程序授予了所需的权限
要从头开始测试,请先卸载应用程序,然后重试。这样,以前授予的所有权限都将被吊销。即使您卸载应用程序并从头开始安装,也会发生这种情况吗?您确定尚未授予应用程序权限吗?是的,会发生这种情况。我尝试过多次重新安装,但问题没有解决…你是想打字吗?如果之前显示过该对话框,并且用户拒绝了该对话框并选中“永不显示”,则该对话框也不会显示。请使用
uses-permission-sdk-23
而不是uses-permission-sdk-m
,因为该对话框已弃用,请重新安装应用程序,请勿升级。您使用的手机版本如何?谢谢您的回答,SMR。但是很抱歉,这个问题解决不了。我在应用程序开始时调用它,如果我在下一次调用使用GPS的方法,则会发生SecurityException,并且我的应用程序会强制终止。
if (PermissionChecker.checkSelfPermission(preActivity, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(preActivity, Manifest.permission.ACCESS_FINE_LOCATION)){
setDisplay();
} else {
// show dialog here
ActivityCompat.requestPermissions(preActivity, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, REQUEST_PERMISSION_CODE);
}
} else {
~~~~~
}