2013-02-19 16 views
9

हाय दोस्तों मैं ईमेल पर किसी लिंक से या कुछ सोशल नेटवर्किंग वेबसाइटों पर पोस्टिंग से एप्लिकेशन लॉन्च करने का प्रयास कर रहा हूं। मुझे पता है कि यह प्रश्न कुछ दोस्तों द्वारा पहले ही उठाया जा चुका है लेकिन फिर भी मुझे जिस समस्या का सामना करना पड़ रहा है वह यह है कि एंड्रॉइड पर कुछ डिवाइस या कुछ जीमेल एप्लिकेशन में एंकर टैग या लिंक नहीं दिखाया गया है जो मैंने निर्दिष्ट किया है।लिंक या ईमेल से एंड्रॉइड एप्लिकेशन लॉन्च करना

आशय फिल्टर कि मैं अपने गतिविधि करने के लिए सेट के नीचे है:

<action android:name="android.intent.action.VIEW" /> 
<category android:name="android.intent.category.DEFAULT" /> 
<category android:name="android.intent.category.BROWSABLE" /> 
<data android:scheme="myappname" /> 

और मैं इस एंकर टैग के साथ ईमेल भेज रहा हूँ

myappname://processtobedone/?id=1 

यह ईमेल आवेदन के साथ ठीक काम करता है कि मैं Huewai डिवाइस पर है लेकिन डिवाइस के डिफ़ॉल्ट जीमेल एप्लिकेशन में यह नहीं दिखा रहा है कि इसमें एक लिंक है और डिफ़ॉल्ट रूप से कुछ उपकरणों में यह https को जोड़ता है: टैग के लिए प्रत्यय के रूप में और ब्राउजर लॉन्च करता है।

आशा है कि आप मेरी समस्या को समझ सकते हैं और बेहतर प्रतिक्रिया की उम्मीद कर सकते हैं।

अग्रिम में धन्यवाद।

+0

संभावित डुप्लिकेट http://stackoverflow.com/questions/3469908/make-a-link-in-the-android-browser- स्टार्ट-अप-माय-एप) –

उत्तर

2

एक असली लिंक बनाएं (http :) जो आपके द्वारा नियंत्रित वेबसाइट चला जाता है, जैसे अमेज़ॅन एस 3 पर एक स्थिर वेबसाइट, उस साइट पर जावास्क्रिप्ट का उपयोग एंड्रॉइड उपयोगकर्ता एजेंट का पता लगाने के लिए करें और उसके बाद एंकर टैग के साथ एक लिंक पर रीडायरेक्ट करें ।

<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="www.this-so-does-not-exist.com" 
     android:path="/something" 
     android:scheme="http"/> 
</intent-filter> 

फिर, http://www.this-so-does-not-exist.com/something के लिए लिंक (आपके ऐप्लिकेशन लाएगा एक चयनकर्ता में, वेब के साथ: एक कस्टम योजना का उपयोग कर के

+0

आपको जावास्क्रिप्ट की भी आवश्यकता नहीं है। यदि कस्टम योजना के बजाय '' का वेब पेज URL है, तो उपयोगकर्ता सीधे ऐप खोलने का विकल्प चुन सकता है। – CommonsWare

+0

@ कॉमन्सवेयर अरे, यह है कि कैसे Instagram काम करना चाहिए। मैंने हमेशा सोचा कि यह एक विकल्प था – CQM

+0

@ कॉमन्सवेयर क्या आप कृपया बता सकते हैं कि कस्टम योजना के बजाय यूआरएल को कैसे परिभाषित किया जाए। – CodingRat

12

इसके बजाय, आप एक <intent-filter> कि एक यूआरएल है कि आप को नियंत्रित की पहचान करता है हो सकता है ब्राउज करें) जिनके पास आपका ऐप है, और आपके वेब पेज को उन डिवाइसों पर लाएगा जिनके पास आपका ऐप नहीं है।

+0

धन्यवाद और देरी उत्तर @ कॉमन्सवेयर के लिए खेद है। मैं कोशिश करूँगा। – Dinash

+0

हाय आपके उत्तर के लिए धन्यवाद और यह अधिकांश डिवाइस पर ठीक काम करता है लेकिन यह बिल्कुल नहीं है क्योंकि यह एचटीसी ईवीओ 4 जी के साथ काम नहीं कर रहा है। जब भी मैं लिंक पर क्लिक करता हूं तो यह सीधे ब्राउज़र को खोलता है और मुझे यकीन है कि ऐसा क्यों है। यह भी जांच की गई कि क्या कोई डिफ़ॉल्ट सेट किया जा रहा है और यह या तो सेट नहीं है। – Dinash

+0

@ दीनाश: यह दृष्टिकोण ऐप्पल द्वारा प्राप्त आयात प्रतिबंध से उत्पन्न कामकाज के कारण विभिन्न यूएस-शिप किए गए एचटीसी उपकरणों पर काम नहीं कर सकता है। Http://commonsware.com/blog/2012/07/23/linkify-problem-patent-behavior.html और http://commonsware.com/blog/2012/07/24/linkify-problem-detection-mitigation देखें .html – CommonsWare

0
<activity 
android:name=".SplashEmailActivity" 
android:screenOrientation="portrait" 
android:exported="true" 
android:launchMode="singleInstance" android:configChanges="orientation|keyboard|keyboardHidden|screenSize" 
android:windowSoftInputMode="stateHidden|adjustResize" > 

<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="http" android:host="your.domain.name"/> 

</intent-filter> 

</activity> 
की [एंड्रॉयड ब्राउज़र में लिंक मेरे एप्लिकेशन को शुरू करें?] (
संबंधित मुद्दे