2016-08-22 1 views
10

に反応オープン設定アプリ - 私はネイティブ反応し、唯一の私は午前のアプリからの外部リンクにナビゲートする見つけることができるで<a href="https://facebook.github.io/react-native/docs/linking.html" rel="noreferrer">docs</a>を通じてつもりネイティブ

私がナビゲートすることができるようにしたいです。 Settingsアプリ(詳細には、プライバシー>位置情報サービスページ)にアクセスする必要がありますが、必要な情報が見つからないようです。 React Nativeを使って複製しようとしているのは、native iOSの方法です。

これは可能ですか?

設定URLがあるかどうかを検出するために、以下を試しました。しかし、コンソールにはSettings url worksというログが記録されますが、そのページには移動しません。

更新:@ zvonaに感謝します。設定ページに移動しますが、特定のディープリンクを取得する方法がわかりません。特定のディープリンクを開く方法(まだ) Linking.openURL('app-settings:');

しかし、私は知りません。

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

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

答えて

22

あなたはしてアプリケーションの設定にアクセスすることができます。

+0

これは私が必要とした場所のページに移動しました(これは驚くほど場所のアクセスにあった)。おそらく、iOSは自分のコードの他の領域に基づいて場所を要求していることを知るには十分スマートです。 – Simon

+1

設定ページの元URLをどのように見つけましたか? – Simon

+0

私はネイティブコードが貧弱ですが、私はあなたがAppellegate.mに 'NSLog(UIApplicationOpenSettingsURLString);'(私があなたがリンクした答えに見ました)を追加し、出力は 'app-settings: ':) – zvona

1

Linking.openURL( 'app-settings:1');

3

私は成功し、以下のコードで設定を開いて、それが参考に願っています:)

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/releases/0.31/docs/linking.html

0

古い質問が、これは、Androidと私に私のために動作しませんでしたそれが何かを発見した。これが同じものを探している人に役立つことを願っています。 :)

https://github.com/lunarmayor/react-native-open-settings 私はiOSでもテストすることはできません。

特定のアプリケーションのプラットフォーム固有の設定を開きます。

3

ので好きですが、ディープリンクの設定のインデックスを参照することができます。たとえばLinking.openURL('app-settings:{3}')については

Linking.openURL('app-settings:{index}') 

は、Bluetoothの設定を開きます。

+0

iOS10.3.3 + React Native 0.44.3、index = 3(およびその他のインデックス1、2、3 ...)がCellularデータにジャンプします... –

関連する問題