Android Nativescript 应用提示 ACCESS_BACKGROUND_LOCATION
Android Nativescript App Prompting ACCESS_BACKGROUND_LOCATION
我正在尝试在 Google Play 商店发布 NS8 应用程序。该应用程序需要蓝牙才能工作,因为它可以连接到其他设备。由于 Google 播放政策,我将以 SDK 30 为目标。
我知道为了让它工作,我需要在 AndroidManifest
中声明以下权限
ACCESS_FINE_LOCATION
和 ACCESS_BACKGROUND_LOCATION
但是,当我将 Bundle 上传到 Google Play 时,我收到以下警告
This release includes permissions that haven't been declared in Play Console. Go to Sensitive app permissions to update your permission declarations.
我想我需要在应用程序中提示请求后台位置权限。使用 nativescript-community/ble
我已经知道请求 FINE_LOCATION。但是我想知道,如何获得后台位置访问的明确提示?我的视频需要一个。
编辑:所以我设法找到了一些手动提示位置的代码,所以我试图将其调整为 ACCESS_BACKGROUND_LOCATION
,但我仍然需要帮助。
import {
AndroidActivityRequestPermissionsEventData,
AndroidActivityResultEventData,
AndroidApplication,
android as andApp
} from '@nativescript/core/application';
...
let permissionCb = (args: AndroidActivityRequestPermissionsEventData) => {
console.log(args);
console.log(args.requestCode);
console.log(args.permissions);
}
andApp.on(AndroidApplication.activityRequestPermissionsEvent, permissionCb);
const neededPermission = android.Manifest.permission.ACCESS_BACKGROUND_LOCATION;
androidx.core.app.ActivityCompat.requestPermissions(this._getActivity(), [neededPermission], 0);
问题是,我的应用无法识别 android.Manifest.permission.ACCESS_BACKGROUND_LOCATION
。我该怎么办?
事实证明,只有 ACCESS_FINE_LOCATION 是必需的,因为我的应用程序的蓝牙功能无论如何只在前台扫描。
我正在尝试在 Google Play 商店发布 NS8 应用程序。该应用程序需要蓝牙才能工作,因为它可以连接到其他设备。由于 Google 播放政策,我将以 SDK 30 为目标。
我知道为了让它工作,我需要在 AndroidManifest
中声明以下权限ACCESS_FINE_LOCATION
和 ACCESS_BACKGROUND_LOCATION
但是,当我将 Bundle 上传到 Google Play 时,我收到以下警告
This release includes permissions that haven't been declared in Play Console. Go to Sensitive app permissions to update your permission declarations.
我想我需要在应用程序中提示请求后台位置权限。使用 nativescript-community/ble
我已经知道请求 FINE_LOCATION。但是我想知道,如何获得后台位置访问的明确提示?我的视频需要一个。
编辑:所以我设法找到了一些手动提示位置的代码,所以我试图将其调整为 ACCESS_BACKGROUND_LOCATION
,但我仍然需要帮助。
import {
AndroidActivityRequestPermissionsEventData,
AndroidActivityResultEventData,
AndroidApplication,
android as andApp
} from '@nativescript/core/application';
...
let permissionCb = (args: AndroidActivityRequestPermissionsEventData) => {
console.log(args);
console.log(args.requestCode);
console.log(args.permissions);
}
andApp.on(AndroidApplication.activityRequestPermissionsEvent, permissionCb);
const neededPermission = android.Manifest.permission.ACCESS_BACKGROUND_LOCATION;
androidx.core.app.ActivityCompat.requestPermissions(this._getActivity(), [neededPermission], 0);
问题是,我的应用无法识别 android.Manifest.permission.ACCESS_BACKGROUND_LOCATION
。我该怎么办?
事实证明,只有 ACCESS_FINE_LOCATION 是必需的,因为我的应用程序的蓝牙功能无论如何只在前台扫描。