React Native中如何直接开启应用的定位权限设置
How to open application's location permission settings directly in React Native
REACTNATIVE : 目前正在使用 Linking.openSettings() 打开我的应用程序设置页面。
现在,我想使用 REACT NATIVE 在 Android 和 iOS 中直接打开应用程序权限屏幕,它位于应用程序设置内以启用位置、存储等权限。
有什么可能吗?提前致谢!
很快就可以了,
对于 IOS 操作系统,请尝试以下操作,
import { Linking } from 'react-native'
Linking.openURL('app-settings:')
但是Android不能使用链接,我们应该添加两个依赖,
npm install --save react-native-device-info
npm install react-native-intent-launcher
因此,
import DeviceInfo from 'react-native-device-info';
import IntentLauncher, { IntentConstant } from 'react-native-intent-launcher'
const package= DeviceInfo.getBundleId();
const openAppSettings = () => {
if (Platform.OS === 'ios') {
Linking.openURL('app-settings:')
} else {
IntentLauncher.startActivity({
action: 'android.settings.APPLICATION_DETAILS_SETTINGS',
data: 'package:' + package
})
}
}
REACTNATIVE : 目前正在使用 Linking.openSettings() 打开我的应用程序设置页面。
现在,我想使用 REACT NATIVE 在 Android 和 iOS 中直接打开应用程序权限屏幕,它位于应用程序设置内以启用位置、存储等权限。
有什么可能吗?提前致谢!
很快就可以了,
对于 IOS 操作系统,请尝试以下操作,
import { Linking } from 'react-native'
Linking.openURL('app-settings:')
但是Android不能使用链接,我们应该添加两个依赖,
npm install --save react-native-device-info
npm install react-native-intent-launcher
因此,
import DeviceInfo from 'react-native-device-info';
import IntentLauncher, { IntentConstant } from 'react-native-intent-launcher'
const package= DeviceInfo.getBundleId();
const openAppSettings = () => {
if (Platform.OS === 'ios') {
Linking.openURL('app-settings:')
} else {
IntentLauncher.startActivity({
action: 'android.settings.APPLICATION_DETAILS_SETTINGS',
data: 'package:' + package
})
}
}