2011-09-14 14 views
11

मैं यह पता लगाने की कैसे एक यूआरएल से किसी एप्लिकेशन को शुरू करने के लिए, और कैसे मुझे लगता है कि यूआरएल लिखना चाहिए करने के लिए कोशिश कर रहा हूँ से Android एप्लिकेशन शुरू करने के बारे में।एक यूआरएल

मैं अपने AndroidManifest में निम्नलिखित कोड है:

<activity android:name=".MyActivity"> 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN"></action> 
     <action android:name="android.intent.action.VIEW"></action> 
     <category android:name="android.intent.category.LAUNCHER"></category> 
     <category android:name="android.intent.category.DEFAULT"></category> 
     <category android:name="android.intent.category.BROWSABLE"></category> 
     <data android:host="my.app" android:scheme="http"></data> 
    </intent-filter> 
</activity> 

मैं एक URL का उपयोग किया रूप this answer में बताया गया है, लेकिन कुछ नहीं होता।

कृपया मुझे बताएं कि मेरी मंशा अच्छी तरह से लिखा है, और कैसे मैं URL है, जो कि एप्लिकेशन कॉल लिखना चाहिए, और ध्यान दें कि मैं अपने "मुख्य" गतिविधि कॉल करने के लिए की जरूरत है।

उत्तर

26

आप इस <activity> के लिए दो <intent-filter> तत्वों की आवश्यकता है। एक MAIN और LAUNCHER के लिए होगा।

<activity android:name=".MyActivity"> 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN"></action> 
     <category android:name="android.intent.category.LAUNCHER"></category> 
    </intent-filter> 
    <intent-filter> 
     <action android:name="android.intent.action.VIEW"></action> 
     <category android:name="android.intent.category.DEFAULT"></category> 
     <category android:name="android.intent.category.BROWSABLE"></category> 
     <data android:host="my.app" android:scheme="http"></data> 
    </intent-filter> 
</activity> 

फिर, http://my.app अपनी गतिविधि लॉन्च की जानी चाहिए: अन्य VIEW के लिए BROWSABLE/DEFAULT, और अपने <data> तत्व हो जाएगा। अपनी टिप्पणी के लिए

+0

THX, लेकिन यह मेरे लिए काम नहीं करता। मैंने ब्राउजर में उस यूआरएल को लिखने की कोशिश की, लेकिन मेरा ऐप शुरू नहीं हुआ। –

+0

@ फ़ेलिपडेव: यहां एक तकनीक है जो इस तकनीक का प्रदर्शन करती है: https://github.com/commonsguy/cw-advandroid/tree/master/Introspection/URL हैंडलर – CommonsWare

+0

@ फ़ेलिपडेव: और यहां एक ऐसे पृष्ठ का URL है जिसे आप देख सकते हैं आपके ब्राउज़र में जो लिंक को आमंत्रित करता है जो उस एप्लिकेशन को लॉन्च करेगा: http://commonsware.com/sample – CommonsWare

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