gpt4 book ai didi

java - 请求位置的运行时权限时

转载 作者:太空狗 更新时间:2023-10-29 14:02:40 25 4
gpt4 key购买 nike

目前,在首次启动我的应用程序时请求运行时许可时,它会提示用户使用他们的位置。如果您单击是,它不会像它应该的那样启用位置。

但如果我重新启动该应用程序,它会启用该位置。关于我在哪里可以让它在首次启动时启用位置的任何建议?代码的第一部分在 OnCreate 中调用。

    if (ContextCompat.checkSelfPermission(MapsActivity.this,
Manifest.permission.ACCESS_FINE_LOCATION)
!= PackageManager.PERMISSION_GRANTED) {

// Should we show an explanation?
if (ActivityCompat.shouldShowRequestPermissionRationale(MapsActivity.this,
Manifest.permission.ACCESS_FINE_LOCATION)) {

// Show an expanation to the user *asynchronously* -- don't block
// this thread waiting for the user's response! After the user
// sees the explanation, try again to request the permission.

} else {

// No explanation needed, we can request the permission.

ActivityCompat.requestPermissions(MapsActivity.this,
new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
REQUEST_CODE_ASK_PERMISSIONS);

}
}

@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
if (requestCode == REQUEST_CODE_ASK_PERMISSIONS) {
if (permissions.length == 1 &&
permissions[0] == Manifest.permission.ACCESS_FINE_LOCATION &&
grantResults[0] == PackageManager.PERMISSION_GRANTED) {
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
== PackageManager.PERMISSION_GRANTED) {
mMap.setMyLocationEnabled(true);
} else {
// Show rationale and request permission.
}
mMap.setMyLocationEnabled(true);
} else {
//permission denied
}
}
}

public void onMapReady(GoogleMap googleMap) {

int permissionCheck = ContextCompat.checkSelfPermission(MapsActivity.this,
Manifest.permission.ACCESS_FINE_LOCATION);

最佳答案

如果您在模拟器上进行测试,则只会在第一次运行时询问权限。 How to debug Android 6.0 permissions?

此外,如果您没有完全卸载应用程序,并且它是从较低版本的 SDK 升级的,或者用户在运行时设置了权限并将其设为默认权限,则不会再次询问运行时权限。

尝试完全卸载应用程序,或检查默认设置并清除它们。

关于java - 请求位置的运行时权限时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34554263/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com