1

最近、Android アプリをインストールしましたUrlが、携帯電話のブラウザーで特定のアプリを閲覧すると (アプリは今すぐ舞台裏で実行する必要があります)、アプリが自動的に起動することがわかりました。これを達成する方法を知りたいですか?使ってみた

"intent-filter <data schema:"http" android:host="*****" />

、しかし、それはそのアプリと同じようには機能しません(自動的に開始します)。このプログラムがどのように機能するかについてのビデオをYouTubeにアップロードします。ここでアプリをダウンロードできます:Baidu_map_download

具体的な URL:http://map.baidu.com/mobile/zt/locshare

4

1 に答える 1

0

開発者としてのあなたは、それに受動的な影響を与えるだけです。基本的に、マニフェストでアクティビティの IntentFilter を設定できます。たとえば、メインのアクティビティには、インテント android.intent.action.MAIN と android.intent.category.LAUNCHER が必要です。

例:

<activity
        android:name=".ui.activities.MainActivity"
        android:label="@string/app_name">
    // Here the Intent Filter is set
    <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
    </intent-filter>
</activity>

アプリを特定のインテントで起動する場合は、ここで利用可能なインテントを検索できますが、このインテントを IntentFilter に追加する必要はありません。スマートフォンのユーザーは、IntentFilter にこの Intent を持つすべてのアプリから Intent のデフォルト アプリケーションを選択できます。

編集1:

特定のインテントの選択ダイアログを表示できます。これにより、ユーザーは次のように、このインテントの既定のアプリを選択できます。

Intent intent = new Intent(Intent.ACTION_VIEW);
String title = getString(R.string.chooser_title);
Intent chooserIntent = Intent.createChooser(intent, title);
startActivity(chooserIntent);

編集2:

この IntentFilter は、google.com へのすべてのリンクを処理します

<intent-filter>
    <data android:scheme="http" android:host="google.com"/>
    <action android:name="android.intent.action.VIEW" />
</intent-filter>

これをマニフェストのアプリケーション タグに追加すると、そのカテゴリに該当する URL を参照したときにアプリが起動されます。

于 2013-11-04T10:59:58.477 に答える