我正在使用 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);
}
这是工作。但是在调试模式下它会提示一次,但在发布模式下它会提示两次。
感谢您的答复!