2011-01-19 13 views
5

जब भी मैं "myapp: //blah.com/a? B = 1 दर्ज करता हूं तो मुझे अपना ऐप शुरू करने के लिए ब्राउज़र की आवश्यकता होती है & सी = 2 "ब्राउज़र में। मैंने इस विषय पर बहुत कुछ खोजा है, लेकिन उत्तरों में से कोई भी वास्तव में मेरी मदद नहीं करता है। क्या आप समझने में मदद कर सकते हैं कि मैं क्या खो रहा हूं?एंड्रॉइड ब्राउज़र से ऐप कैसे शुरू करें, जब मैं पता बार में "myapp: //" टाइप करता हूं

<activity android:name=".MyAppMain" 
       android:label="@string/app_name" 
       android:configChanges="keyboardHidden|orientation" 
       android:screenOrientation="portrait"> 
     <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="myapp" /> 
     </intent-filter> 
    </activity> 

ग्रहण (भागो एंड्रॉयड आवेदन के रूप में) से स्थापना के बाद मेरे ऐप अपने आप ही ठीक काम कर सकते हैं, लेकिन जब मैं में टाइप "MyApp:? //blah.com/a ख = 1 & ग = 2" , ब्राउज़र बस इस स्ट्रिंग के लिए googling है। क्या आप बता सकते हैं कि मैं और क्या खो रहा हूं? क्या मुझे सिस्टम में किसी भी तरह से इंस्टॉलेशन के बाद इंस्टॉलेशन की आवश्यकता है जिसे मैं "myapp: //" urls को संभालना चाहता हूं?

+0

क्या यह काम करता है यदि आप केवल अपने प्रकट में उस '' का उपयोग करते हैं? –

+0

नहीं, डैनियल, यह अभी भी गुगल रहा है :-) – user789175

+0

@ user789175 क्या आपने इसे समझ लिया? – Phil

उत्तर

0

मैंने यह किया है

<activity android:name=".ReceiveInviteActivity"> 

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

       <data 
       android:scheme="appname" 
       android:host="project.example.com" 

       /> 
      </intent-filter> 

     </activity> 

और गतिविधि

if (Intent.ACTION_VIEW.equals(action)) { 
      final List<String> segments = intent.getData().getPathSegments(); 
      Log.d("LISTARRAY",segments.toString()); 
      String idString = segments.get(0); 
      Log.d("LISTITEM",segments.get(0).getClass().toString()); 
      String friendId = idString.substring((idString.indexOf("="))+1); 
      Log.d("friendId!",friendId); 

का उपयोग कर मुझे आशा है कि यह आप में मदद मिलेगी।

0

कारण है कि यह काम नहीं कर रहा के लिए इस उत्तर चेक आउट: Android custom URI scheme incorrectly encoded when type in browser

असल में, डिफ़ॉल्ट Android ब्राउज़र केवल कुछ यूआरआई योजनाओं को स्वीकार करता है, तो अपने कस्टम एक जब यूआरएल बार में सीधे टाइप किया काम नहीं करेगा।

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