दिलचस्प पोस्ट
"पूर्णांक आकार = 10" क्या एक निरंतर अभिव्यक्ति उत्पन्न होती है? डायनामिक प्रॉपर्टी नामों वाला एक ऑब्जेक्ट बनाएं PHP में एसिंक्रोनस शैल एप स्क्रीन पर एक पॉपअप विंडो केंद्र? माइक्रोडाटा बनाम आरडीएफए IPhone5 पर लॉन्च स्क्रीन पर काले सलाखों (और iPhone6) मुझे मैक के साथ नई लाइन के लिए सही विकल्प ऑपरेशन नहीं दे रही है – जीएनयू एसएड और बीएसडी / ओएसएक्स एसएडी के बीच अंतर Zend ट्यूटोरियल के साथ शुरू – Zend_DB_Adapter अपवाद फेंकता: "SQLSTATE ऐसी कोई फ़ाइल या निर्देशिका नहीं" क्या यह http: // को // के साथ बदलना मान्य है <script src = "http: // …">? GMail PHP API के साथ ईमेल का मुख्य भाग नहीं मिल सकता है एडीटी एंड्रॉइड गतिविधि के निर्माण की अनुमति नहीं देगा I एसएसपी एमटीसी में कस्टम डेटटाइम मॉडल बाइंडरर पायथन में एक "कॉल करने योग्य" क्या है? डाटा डेवलपमेंट गलती आवेदन डेवलपर्स द्वारा बनाई गई यह क्यों नहीं: सीएसएस शैली काम का दौरा किया?

एंड्रॉइड ब्राउज़र से कस्टम एंड्रॉइड एप्लिकेशन लॉन्च करें

क्या कोई मुझे एंड्रॉइड ब्राउज़र से अपने एंड्रॉइड एप्लिकेशन को लॉन्च करने के बारे में मार्गदर्शन कर सकता है?

वेब के समाधान से एकत्रित समाधान "एंड्रॉइड ब्राउज़र से कस्टम एंड्रॉइड एप्लिकेशन लॉन्च करें"

एक <intent-filter> <data> तत्व के साथ <data> उपयोग करें उदाहरण के लिए, twitter.com के सभी लिंक को संभालने के लिए, आप इसे अपने AndroidManifest.xml में अपने <activity> में डाल देंगे:

 <intent-filter> <data android:scheme="http" android:host="twitter.com"/> <action android:name="android.intent.action.VIEW" /> </intent-filter> 

उसके बाद, जब उपयोगकर्ता ब्राउज़र में ट्विटर के लिंक पर क्लिक करता है, तो उनसे पूछा जाएगा कि कार्रवाई को पूरा करने के लिए किस एप्लिकेशन का इस्तेमाल किया जाए: ब्राउज़र या आपके एप्लिकेशन।

बेशक, यदि आप अपनी वेबसाइट और अपने ऐप के बीच तंग एकीकरण प्रदान करना चाहते हैं, तो आप अपनी स्वयं की योजना को परिभाषित कर सकते हैं:

 <intent-filter> <data android:scheme="my.special.scheme" /> <action android:name="android.intent.action.VIEW" /> </intent-filter> 

उसके बाद, अपने वेब ऐप में आप लिंक की तरह बना सकते हैं:

 <a href="my.special.scheme://other/parameters/here"> 

और जब उपयोगकर्ता उसे क्लिक करता है, तो आपका ऐप स्वचालित रूप से लॉन्च हो जाएगा (क्योंकि यह संभवतः केवल एक ही होगा जो my.special.scheme:// प्रकार के यूआरआई को नियंत्रित कर सकता है)। इसका एकमात्र नतीजा यह है कि अगर उपयोगकर्ता में ऐप इंस्टॉल नहीं होता है, तो उन्हें एक गंदा त्रुटि मिल जाएगी और मुझे यकीन नहीं है कि जांच करने का कोई तरीका है।


संपादित करें: अपने प्रश्न का उत्तर देने के लिए, आप getIntent().getData() उपयोग कर सकते हैं getIntent().getData() जो एक Uri ऑब्जेक्ट देता है तब आप Uri.* विधियों का इस्तेमाल कर सकते हैं जो आपको आवश्यक डेटा प्राप्त कर सकते हैं। उदाहरण के लिए, मान लें कि उपयोगकर्ता http://twitter.com/status/1234 लिंक पर क्लिक किया है:

 Uri data = getIntent().getData(); String scheme = data.getScheme(); // "http" String host = data.getHost(); // "twitter.com" List<String> params = data.getPathSegments(); String first = params.get(0); // "status" String second = params.get(1); // "1234" 

आप अपनी Activity में कहीं से भी ऊपर कर सकते हैं, लेकिन आप संभवतः इसे onCreate() में करना चाहते हैं। आप Uri में पथ सेगमेंट की संख्या प्राप्त करने के लिए params.size() का भी उपयोग कर सकते हैं। अन्य Uri विधियों के लिए javadoc या एंड्रॉइड डेवलपर वेबसाइट को देखें, जो आप विशिष्ट भागों को निकालने के लिए उपयोग कर सकते हैं।

कृपया मेरी टिप्पणी यहां देखें: एंड्रॉइड ब्राउज़र में एक लिंक बनाओ, मेरा ऐप शुरू करें?

हम लोगों को अपनी योजनाओं का इस्तेमाल करने से हतोत्साहित करते हैं, जब तक कि वे एक नई विश्वव्यापी इंटरनेट योजना को परिभाषित नहीं कर रहे हों।

28 जनवरी 2014 तक सभी उपर्युक्त उत्तर CHROME साथ मेरे लिए काम नहीं किया

मेरी ऐप http://example.com/someresource/ hangouts, gmail आदि जैसे ऐप्स से लिंक को ठीक से लॉन्च किया गया है, लेकिन क्रोम ब्राउज़र में से नहीं

इसे हल करने के लिए, ताकि यह क्रोम से ठीक से लॉन्च किया जा सके, आपको इस तरह इन्टेंट फिल्टर सेट करना होगा

  <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="example.com" android:pathPrefix="/someresource/" android:scheme="http" /> <data android:host="www.example.com" android:pathPrefix="/someresource/" android:scheme="http" /> </intent-filter> 

pathPrefix तत्व ध्यान दें

आपका ऐप अब गतिविधि पिकर के अंदर दिखाई देगा, जब भी उपयोगकर्ता Google खोज परिणामों या किसी अन्य वेबसाइट से लिंक पर क्लिक करके क्रोम ब्राउज़र से http://example.com/someresource/ पैटर्न का अनुरोध करेगा

मेरे मामले में मुझे <intent-filter> लिए दो श्रेणियां सेट करना पड़ा और फिर यह काम किया:

 <intent-filter> <data android:scheme="my.special.scheme" /> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.BROWSABLE"/> </intent-filter> 

वहाँ भी <category android:name="android.intent.category.BROWSABLE"/> लिंक से ठीक से पहचानी जाने वाली गतिविधि बनाने के लिए आशय फ़िल्टर में जोड़ा जाना चाहिए।

उदाहरण के लिए, आपके पास अगली बातें हैं:

अपना ऐप खोलने के लिए एक लिंक: http://example.com

आपके ऐप का पैकेज नाम: com.example.mypackage

फिर आपको आगे करना होगा:

1) अपनी गतिविधि के लिए एक आशय फ़िल्टर जोड़ें (आप चाहते हैं कि कोई भी गतिविधि हो सकती है। अधिक जानकारी के लिए दस्तावेज़ की जांच करें)

  <activity android:name=".MainActivity"> <intent-filter android:label="@string/filter_title_view_app_from_web"> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <!-- Accepts URIs that begin with "http://example.com" --> <data android:host="example.com" android:scheme="http" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> 

2) लिंक का परीक्षण करने या इस विधियों का उपयोग करने के लिए एक HTML फ़ाइल बनाएं ।

 <a href="intent://example.com#Intent;scheme=http;package=com.example.mypackage;end">Open your Activity directly (just open your Activity, without a choosing dialog). </a> <a href="http://example.com">Open this link with browser or your programm (by choosing dialog).</a> 

3) परीक्षण करने के लिए मोबाइल क्रोम का उपयोग करें

4) यही वह है

और इसकी जरूरी आवश्यकता नहीं है कि बाजार में ऐप को प्रकाशित करने के लिए गहरी लिंकिंग का परीक्षण करें)

इसके अलावा, अधिक जानकारी के लिए, दस्तावेज़ीकरण और उपयोगी प्रस्तुति देखें ।

निम्नलिखित लिंक ब्राउज़र से सीधे ऐप (अगर स्थापित किया गया) लॉन्च करने की जानकारी देता है अन्यथा यह सीधे खेल के स्टोर में ऐप खुलता है ताकि उपयोगकर्ता बिना किसी डाउनलोड को डाउनलोड कर सके।

https://developer.chrome.com/multidevice/android/intents

हाँ, स्कीम की खोज के बजाय क्रोम खोज करता है। यदि आप यूआरआई योजना के माध्यम से अपना ऐप लॉन्च करना चाहते हैं, तो प्ले स्टोर पर इस शांत उपयोगिता ऐप का उपयोग करें। यह मेरा दिन बचाया है 🙂 https://play.google.com/store/apps/details?id=com.naosim.urlschemesender

कृपया ध्यान दें कि आपका आइकन एंड्रॉइड लॉन्चर से गायब हो गया है, जब आप इन्टेंट-फिल्टर को अलग करना चाहते हैं, तो आप इस सुविधा को लागू करते हैं।

  <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <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:scheme="your-own-uri" /> </intent-filter> </activity> 

गहरी लिंक्स को संभालने के लिए फेलिक्स का दृष्टिकोण गहरी लिंक्स को संभालने का विशिष्ट तरीका है। मैं आपके पुस्तकालय को अपने गहरे संबंधों के रूटिंग और पार्सिंग को संभालने का सुझाव भी दे सकता हूं:

https://github.com/airbnb/DeepLinkDispatch

आप किसी विशेष गहरी लिंक यूआरआई के लिए अपनी गतिविधि को रजिस्टर करने के लिए एनोटेशन का उपयोग कर सकते हैं, और यह पथ सेगमेंट प्राप्त करने, मिलान करने के सामान्य रगमारोल को किए बिना आपके लिए पैरामीटर निकालेगा। आप बस इस तरह की व्याख्या और गतिविधि की व्याख्या कर सकते हैं :

 @DeepLink("somePath/{someParameter1}/{someParameter2}") public class MainActivity extends Activity { ... } 

example.php:

 <?php if(!isset($_GET['redirecting'])){ $app_link = 'YourApp://profile/blabla'; $full_link = 'http://yoursite.com/profile/bla'; ?> <iframe src="example.php?redirecting=ok&firstLINK=<?php echo urlencode($app_link);?>" style="display:none;" scrolling="no" frameborder="0"></iframe> <iframe src="example.php?redirecting=ok&secondLINK=<?php echo urlencode($full_link);?>" style="display:none;" scrolling="no" frameborder="0"></iframe> <?php } else { ?> <script type="text/javascript"> self.window.location = '<?php echo $_GET['firstLINK'];?>'; window.parent.location.href = '<?php echo $_GET['secondLINK'];?>'; </script> <?php } 

हे मुझे समाधान मिला मैंने श्रेणी को "डिफ़ॉल्ट" के रूप में सेट नहीं किया था इसके अलावा मैं इरादा डेटा के लिए मुख्य गतिविधि का उपयोग कर रहा था। अब मैं इरादा डेटा के लिए एक अलग गतिविधि का उपयोग कर रहा हूँ सहायता के लिए धन्यवाद। 🙂

आपको CALLBACK_URL 'app: //' में एक छद्म-होस्टनाम को जोड़ने की आवश्यकता है और URL के रूप में कोई मतलब नहीं है और इसे पार्स नहीं किया जा सकता है