请求java位置权限

时间:2021-05-31 06:10:19

标签: java android

当我执行这段代码时

        while (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED  && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
        ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 1);
        ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, 1);
    }

我收到此警告 W/Activity:一次只能请求一组权限 W/Activity:一次只能请求一组权限 有什么办法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:-1)

这里有两件事,首先我认为您不需要两套位置权限,如果您使用的是 ACCESS_FINE_LOCATION,那么粗略应该很好地涵盖在它之下。

其次,不要发送单独的权限请求,您应该发出一组组合请求并发送它。那应该可行。

int permissions_code = 42; 
String[] permissions = {Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION};

 ActivityCompat.requestPermissions(this, permissions, permissions_code);