0
私が達成しようとしているのは、URLをブラウザ、ノート、アプリ、またはメッセンジャーでクリックすると自動的にアクティビティを開くことです。 のAndroidManifest.xmlでhttp://testsite.com/code/AB1234独自のインテントフィルタを設定することはできますか?
、私は活動のためのインテントフィルタを設定している:HomeActivityで
<activity android:name=".HomeActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="testsite.com"
android:pathPrefix="/code"
android:scheme="http" />
</intent-filter>
</activity>
、単にURLからコードを取得し、トーストの上にそれを示す
は、だから私は、このURLの形式を持っています:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
String code = getIntent().getData().getLastPathSegment();
Toast.makeText(this, code, Toast.LENGTH_LONG).show();
}
私がリンクをクリックすると、システムは自分のアプリケーションとブラウザアプリケーションをアプリケーションチューザーに表示しています。私はこのURLがブラウザでも処理できることを知っています。可能であれば、自分のインテントフィルターに優先順位を付ける方法を知りたいです。
私のアプリを自動的に開くことはできますか?はいの場合はどうすればいいですか?インテントフィルタをどのように変更する必要がありますか?
このリンクは役に立ちます。 Android 6.0以降を実行している端末のURLからアプリを直接開くことはできますが、そのユーザーの下には常にポップアップが表示されます。 https://developer.android.com/training/app-links/deep-linking.html – jitinsharma
あなたは 'http:// something'の代わりに' myapp:// something'のようなカスタムプロトコルを定義しようとすることができます。この種のURLはブラウザでは処理されず、デフォルトでアプリが使用されます。しかし、あなたのアプリケーションがインストールされていないそのようなURLをクリックすると、ブラウザに*ページが見つかりません*になることに注意してください –