2016-08-22 8 views
10

मैं में docs के माध्यम से जा रहा हूँ मूल निवासी प्रतिक्रिया और केवल एप्लिकेशन मैं में हूँ से बाहरी लिंक पर नेविगेट करके पा सकते हैंसेटिंग खोलें आईओएस में एक और App से अनुप्रयोग - प्रतिक्रिया मूल निवासी

मैं नेविगेट करने के लिए सक्षम होना चाहते हैं। Settings ऐप (अधिक विशेष रूप से गोपनीयता> स्थान सेवा पृष्ठ पर) लेकिन, इस पर आवश्यक जानकारी नहीं मिल रही है। native iOS ऐसा करने का तरीका है जिसे मैं प्रतिक्रिया मूल के माध्यम से दोहराने की कोशिश कर रहा हूं।

क्या यह संभव है?

मैंने सेटिंग यूआरएल है या नहीं, यह जानने के लिए मैंने निम्नलिखित कोशिश की है। कंसोल लॉग करता है कि 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}`) 
}) 

उत्तर

22

आप के साथ आवेदन की सेटिंग को एक्सेस कर सकते हैं: Linking.openURL('app-settings:');

लेकिन मैं नहीं जानता कि (अभी तक) कैसे एक विशिष्ट डीप-लिंक को खोलने के लिए।

+0

यह उस स्थान पृष्ठ पर नेविगेट किया गया जिसकी मुझे आवश्यकता थी (जो आश्चर्यजनक रूप से स्थान पहुंच पर सही था)। शायद आईओएस यह जानकर काफी समझदार है कि मैं अपने कोड के अन्य क्षेत्रों के आधार पर स्थान का अनुरोध कर रहा हूं। – Simon

+1

आपने यह कैसे पता लगाया कि सेटिंग्स पृष्ठ किस यूआरएल से था? मैं इसे दस्तावेज़ों में नहीं ढूंढ सका – Simon

+0

मैं मूल कोड के साथ खराब हूं, लेकिन मैंने अभी 'NSLog (UIApplicationOpenSettingsURLString) जोड़ा है; '(जिसे मैंने आपके द्वारा लिंक किए गए उत्तर में देखा) Appdelegate.m और आउटपुट' ऐप-सेटिंग्स था: ':) – zvona

1

Linking.openURL ('ऐप-सेटिंग्स: 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 मेरे पास आईओएस के लिए परीक्षण करने की क्षमता नहीं है।

दिए गए एप्लिकेशन के लिए प्लेटफ़ॉर्म विशिष्ट सेटिंग्स खोलता है।

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

उदाहरण Linking.openURL('app-settings:{3}') के लिए ब्लूटूथ सेटिंग्स को खोलने होगा:

3

आप डीप-लिंक तो जैसे सेटिंग्स के सूचकांक को संदर्भित कर सकते हैं।

+0

आईओएस 10.3.3 पर प्रतिक्रिया नहीं कर रहा है + मूल निवासी 0.44.3, इंडेक्स = 3 (और अन्य इंडेक्स 1, 2, 3 ...) सेलुलर डेटा पर कूद जाएगा ... –

संबंधित मुद्दे