从iOS中的其他应用程序打开设置应用程序 - React Native

时间:2016-08-22 14:07:24

标签: ios react-native

我正在浏览React Native中的docs,并且只能从我所在的应用中找到导航到外部链接。

我希望能够导航到Settings应用(更具体地说是隐私>位置服务页面),但似乎无法找到相关信息。有native iOS方式,我试图通过React Native复制它。

这可能吗?

我已尝试以下方法来检测是否存在设置网址。控制台记录Settings url works但是,它不会导航到该页面。

更新:感谢@zvona我现在正在导航到设置页面,但不知道如何进入特定的深层链接。

Linking.canOpenURL('app-settings:').then(supported => {

    console.log(`Settings url works`)
    Linking.openURL('app-settings:'
}).catch(error => {
    console.log(`An error has occured: ${error}`)
})

9 个答案:

答案 0 :(得分:41)

您可以使用以下方式访问应用程序的设置: Linking.openURL('app-settings:');

但我还不知道如何打开特定的深层链接。

答案 1 :(得分:11)

我通过下面的代码成功打开了设置,希望它有用:)

Linking.canOpenURL('app-settings:').then(supported => {
  if (!supported) {
    console.log('Can\'t handle settings url');
  } else {
    return Linking.openURL('app-settings:');
  }
}).catch(err => console.error('An error occurred', err));

参考:https://facebook.github.io/react-native//docs/linking.html

答案 2 :(得分:3)

Linking.openURL('应用程序的设置:1&#39);

答案 3 :(得分:1)

由于React Native版本是0.59,因此应该可以使用conn.Open(); using (SqlCommand cmd = conn.CreateCommand("SELECT * FROM city.xls WHERE Date BETWEEN @dateFrom AND @dateTo")) { cmd.Parameters.AddWithValue("@dateFrom", dateFrom); cmd.Parameters.AddWithValue("@dateTo", dateTo); SqlDataAdapter da = new SqlDataAdapter(); da.SelectCommand = cmd; da.Fill(dat); D2.DataSource = dat; D2.DataBind(); } 。这在React Native Linking documentation中进行了描述。虽然它对我没有用。当我快速尝试时,我看到一条openSettings();错误消息。

_reactNative.Linking.openSettings is not a function

答案 4 :(得分:1)

添加对我有用并且易于应用的答案。

@ react-native-community / react-native-permissions中的

openSettings函数适用于iOS和Android。

调用openSettings函数会将用户定向到您应用的设置页面。

import { openSettings } from 'react-native-permissions';
openSettings();

答案 5 :(得分:1)

您可以从“ react-native”导入Linking,然后使用Linking.openSettings()触发调用。该链接非常简洁地说明了这一点:

https://til.hashrocket.com/posts/eyegh79kqs-how-to-open-the-settings-app-in-reactnative-060

答案 6 :(得分:1)

您可以使用最简单的方式从 react-native 打开应用设置。 只是, import { Linking } from 'react-native'; 和用户在任何你想打开应用程序设置的地方。 Linking.openSettings();

答案 7 :(得分:0)

老问题,但这对我在Android上不起作用,我发现了一些确实存在的问题。希望这有助于任何寻找相同的人。 :)

https://github.com/lunarmayor/react-native-open-settings 我没有能力为iOS测试它。

打开给定应用程序的平台特定设置。

答案 8 :(得分:0)

例如:要在“设置/蓝牙”下导航,您必须使用Linking.openURL('App-Prefs:Bluetooth');

对于iOS 14和ReactNative 16.13