2

我正在使用 react-native 0.59,然后将 API 更新为 29。更改 29,在请求位置许可时,选项列表中的“始终允许”已被删除。

然后,我为位置权限创建了一个桥梁。因为有些文章指出我需要手动列出该选项。

        int permissionCheck = ContextCompat.checkSelfPermission(this.getReactApplicationContext(),
                Manifest.permission.ACCESS_BACKGROUND_LOCATION);
        
        
        if (permissionCheck == PackageManager.PERMISSION_GRANTED) {
            promise.resolve(true);
        } else {
            // Intent i = new Intent(mClass.this, GeoLocationService.class);
            final Activity activity = getCurrentActivity();
            
            ActivityCompat.requestPermissions(
                activity,
                new String[]{
                    Manifest.permission.ACCESS_BACKGROUND_LOCATION,
                    Manifest.permission.ACCESS_FINE_LOCATION
                },
                MY_PERMISSIONS_REQUEST_LOCATION
            );
            
            promise.resolve(false);
        }

这是工作。但是在调试模式下它会提示一次,但在发布模式下它会提示两次。

在此处输入图像描述

在此处输入图像描述

感谢您的答复!

4

0 回答 0