2017-09-07 160 views
8

मैं एक बटन पर क्रोम (एंड्रॉइड पर) से स्थान सेटिंग खोलने की कोशिश कर रहा हूं Android Intents का उपयोग कर क्लिक करें। मैं बारकोड स्कैनर उदाहरण का पालन कर रहा हूं और यूआरएल को उसी तरह एन्कोड करने का प्रयास किया। स्थान के लिए मैं इस की कोशिश की है: -एंड्रॉइड पर क्रोम से स्थान सेटिंग गतिविधि खोलना

const uri = "intent://com.google.android.gms.location.settings.GOOGLE_LOCATION_SETTINGS#Intent;action=com.google.android.gms.location.settings.GOOGLE_LOCATION_SETTINGS;end" 

मैं भी इस का उपयोग कर खुलने की सेटिंग की कोशिश की: -

const uri = "intent://ACTION_SETTINGS#Intent;action=android.provider.Settings.ACTION_SETTINGS;end" 

या इस

const uri = "intent://android.provider.Settings.ACTION_SETTINGS#Intent;action=android.provider.Settings.ACTION_SETTINGS;end" 

लेकिन कुछ भी नहीं काम करने के लिए लगता है। किसी भी मदद की सराहना की है।

मैं इसे href टैग का उपयोग करके एक बटन से जोड़ रहा हूं।

उत्तर

3

क्योंकि सेटिंग्स क्रियाएँ BROWSABLE श्रेणी का समर्थन नहीं किया (विवरण के लिए Dickeylth की this सवाल और Rafal Malek की answer पर एक नज़र डालें) आप Chrome के साथ एंड्रॉयड उद्देश्य से सीधे स्थान सेटिंग नहीं खोल सकता लगता है। लेकिन that ट्यूटोरियल जैसे <category android:name="android.intent.category.BROWSABLE"/> समर्थन के साथ कस्टम गतिविधि में कस्टम एंड्रॉइड एप्लिकेशन और Deep Links के माध्यम से आप 100% ऐसा कर सकते हैं।

उस मामले में अपने आवेदन SettingsActivity कोड होना चाहिए की तरह:

public class SettingsActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     startActivityForResult(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS), 0); 
    } 

} 

और के लिए SettingsActivity

<activity android:name=".SettingsActivity"> 
    <intent-filter> 
     <action android:name="android.intent.action.VIEW"/> 
     <category android:name="android.intent.category.DEFAULT" /> 
     <category android:name="android.intent.category.BROWSABLE"/> 
     <data 
      android:host="open.location.settings" 
      android:scheme="http"/> 
    </intent-filter> 

</activity> 

और, अंत में, "गहरी" HTML फ़ाइल में SettingsActivity के लिए लिंक AndroidManifest.xml हिस्सा:

<a href="http://open.location.settings">Open Location Settings</a> 

लगता है, अगर आप डी उपयोगकर्ता पक्ष पर ऐप इंस्टॉल नहीं करना चाहते हैं, आप इसे Instant Apps में भी कर सकते हैं। तत्काल ऐप के लिंक के लिए विवरण आप here पा सकते हैं।

+0

वैसे मेरा उपयोग मामला कुछ सर्वेक्षण/डेटा-संग्रह फ़ॉर्म के लिए है, इसमें कोई ऐप शामिल नहीं है, जिस पर मैं गहरा लिंक कर सकता हूं। वैसे भी, आपके द्वारा उल्लेखित उत्तर को देखते हुए, मुझे भी लगता है कि यह संभव नहीं होगा। धन्यवाद। – deepankar

+0

@ दीपंकर इस मामले के लिए आप [त्वरित ऐप्स] (https://developer.android.com/topic/instant-apps/index.html) का उपयोग कर सकते हैं। –

+0

हाँ तत्काल ऐप्स अच्छा विकल्प प्रतीत होता है, लेकिन वे केवल एंड्रॉइड 6.0 और उसके बाद के संस्करण पर काम करते हैं। बहुत से डिवाइस कम श्रेणी में आते हैं। – deepankar

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