2011-09-14 30 views
11

Tôi đang cố gắng tìm ra cách bắt đầu một ứng dụng từ một URL và cách tôi nên viết URL đó.Giới thiệu về việc khởi động ứng dụng Android từ một URL

Tôi có đoạn code sau trong AndroidManifest tôi:

<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> 

tôi đã sử dụng một URL như được giải thích trong this answer, nhưng không có gì xảy ra.

Vui lòng cho tôi biết nếu ý định của tôi được viết tốt và cách tôi nên viết URL gọi ứng dụng đó và lưu ý rằng tôi cần phải gọi Hoạt động "Chính" của mình.

Trả lời

26

Bạn cần có hai yếu tố <intent-filter> cho số <activity> này. Một cái sẽ dành cho MAINLAUNCHER. Người kia sẽ cho VIEW, BROWSABLE/DEFAULT, và <data> yếu tố của bạn:

<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> 

Sau đó, http://my.app nên khởi động hoạt động của bạn.

+0

thx cho nhận xét của bạn, nhưng điều này không hiệu quả đối với tôi. Tôi đã thử viết URL đó trong trình duyệt nhưng ứng dụng của tôi không bắt đầu. –

+0

@FelipeDev: Đây là một dự án mẫu thể hiện kỹ thuật này: https://github.com/commonsguy/cw-advandroid/tree/master/Introspection/URLHandler – CommonsWare

+0

@FelipeDev: và đây là URL đến trang mà bạn có thể truy cập trong trình duyệt của bạn gọi ra các liên kết sẽ khởi chạy ứng dụng đó: http://commonsware.com/sample – CommonsWare

Các vấn đề liên quan