【问题标题】:request java location permissions [duplicate]请求java位置权限[重复]
【发布时间】:2021-08-18 11:06:28
【问题描述】:

当我执行这段代码时

        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:一次只能请求一组权限 有没有办法解决这个问题?

【问题讨论】:

  • 您正在发送一个字符串数组,您是否尝试过添加两个要检查的数组?

标签: java android


【解决方案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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-01
    • 2018-12-21
    • 2017-09-13
    • 2016-12-06
    • 2015-12-07
    • 2014-11-17
    • 1970-01-01
    相关资源
    最近更新 更多