2


1

AndroidアプリケーションのオープンURIを設定することはできますか?

この記事から:http://developer.android.com/guide/publishing/publishing.html#marketintent

Androidマーケットは、次のようなURIを持つACTION_VIEWインテントによって呼び出すことができます

http://market.android.com/details?id=

それはどのように機能しますか? market.android.comは、Android Marketアプリケーションを開くのに役立つ情報をブラウザーに返しますか? または単にブラウザがローカルでトリックを行いますか?

同じことを行えるオープンURIを設定することは可能ですか?

たとえば、MyBooks(com.mybooks.app)というアプリと次のようなサイトがあります。

http://www.mybooks.com

URLは

http://www.myboos.com/details?id=0001

ブラウザがこのURLを開くと、サイトは何らかの定義済みの応答を返します。これには、「com.myboos.app.action.VIEW」などのIntentアクション文字列とクエリされたID 0001が含まれる場合があります。

ブラウザは、そのアクション「com.mybooks.app.action.View」を使用してアクティビティを開始しようとすることができます。そのためのアクティビティがある場合は、それを開始してIDを渡します。 そうでない場合は、次のような別のURLに接続しようとします

http://www.myboos.com/details?id=0001&installed=false

これはどのバージョンのAndroidでも動作しますか?

2 Answer


4


あなたは実際にこれを考え直しています-「market.android.com/ ??」 URLがブラウザに到達することさえありません。これらのURLから返される特別なデータはありません。 実際に行われるのは、システムブラウザがアクセスする前に、マーケットアプリで定義されたインテントフィルターによってシステムがURLを照合することです。 Intentフィルターと独自のセットアップ方法の詳細については、http://developer.android.com/guide/topics/intents/intents-filters.html#ccases [Androidのドキュメント]をご覧ください。


1


インテントとインテントフィルターについては、http://developer.android.com/guide/topics/intents/intents-filters.html#ifs [この記事]をご覧ください。 AndroidManifest.xmlでこのようなものを設定できるはずです。


個人的に試したことはありませんが、これが正しい方向を示してくれることを願っています。