React Native:如何在Android和iOS中打开操作系统设置?

10

我正在使用 React Native 开发一个 移动端 应用程序,希望在用户 点击 特定按钮时打开移动设备的设置

我已经查阅了RN的文档,但仍然找不到任何可以帮助我实现此目标的内容。请问有人能够指导我该如何实现吗?

谢谢 :)

4个回答

14
作为对 Rafael Perozin回答的补充。
Android 上,您还可以通过 链接 发送一个 意图(Intent)
import { Button, Linking } from "react-native";

const Screen = () => (
  <Button
    title="Open Settings"
      onPress={() => {
      Platform.OS === 'ios' 
        ? Linking.openURL('App-Prefs:Bluetooth')
        : Linking.sendIntent("android.settings.BLUETOOTH_SETTINGS");
    }}
  />
);

7

在我的情况下,我想要将用户发送到蓝牙设置,但CR7的答案对我无效。

所以,我使用以下方式解决了这个问题:

我还使用了react-native中的Platform来检查当前设备是否为IOS。

参考代码:

...
import {Linking, Platform} from 'react-native';
import AndroidOpenSettings from 'react-native-android-open-settings';
...

...
const goToSettings = () =>
  Platform.OS === 'ios'
    ? Linking.openURL('App-Prefs:Bluetooth')
    : AndroidOpenSettings.bluetoothSettings();
...

...
return (
<TouchableOpacity onPress={() => goToSettings()}>
  <Text>Go to settings</Text>
</TouchableOpacity>
);
...

您的iOS应用程序是否已通过此方式在应用商店中获得批准? - mvandillen
太理想了!AndroidOpenSettings.securitySettings(),正是我想要的。 - Chaki_Black

4
您可以尝试下面的代码:"android.settings.SETTINGS",它可以帮助您跳转到操作系统设置屏幕。
import {Linking } from 'react-native'
Linking.sendIntent("android.settings.SETTINGS");

-4
你尝试过使用 React Native(v0.60+)中的 Linking 组件吗?
import { Button, Linking } from "react-native";

const Screen = () => (
  <Button
    title="Open Settings"
    onPress={() => {
      Linking.openSettings();
    }}
  />
);

4
我试过这个。 "Linking.openSettings();" 可以进入应用设置,但不能进入手机设置。 - Sebastian Diaz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接