2011-09-14 16 views
11

URLからアプリを起動する方法と、そのURLを書き込む方法を理解しようとしています。URLから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> 

this answerで説明したように、私は、URLを使用しますが、何も起こりません。

私の意図がうまく書かれているか、そのアプリケーションを呼び出すURLを書き込むべきかどうか、私の "メイン"アクティビティに電話する必要があることをお知らせください。

答えて

26

<activity>には2つの<intent-filter>要素が必要です。 1つはMAINLAUNCHERです。他はVIEWBROWSABLE/DEFAULT、そしてあなたの<data>要素になります。

<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はあなたの活動を起動する必要があります。

+0

あなたのコメントのためのthx、これは私のためには動作しません。そのURLをブラウザに書き込もうとしましたが、アプリが起動しません。 –

+0

@FelipeDev:このテクニックを示すサンプルプロジェクトは次のとおりです。https://github.com/commonsguy/cw-advandroid/tree/master/Introspection/URLHandler – CommonsWare

+0

@FelipeDev:ここには訪問可能なページのURLがありますあなたのブラウザでは、そのアプリケーションを起動するリンクを呼び出します:http://commonsware.com/sample – CommonsWare

関連する問題