他のユーザーがそのリンクをクリックすると、私が処理できるいくつかのインテントデータで自分のアプリケーションを開くように、リンクを共有したいと思います。公開の意図
Intent i= new Intent(android.content.Intent.ACTION_SEND);
i.setType("text/plain");
i.putExtra(android.content.Intent.EXTRA_SUBJECT,"Subject");
i.putExtra(android.content.Intent.EXTRA_TEXT, "xyz.com/blah");
i.putExtra("important stuff", "important stuff");
startActivity(Intent.createChooser(i, "Share via"));
は、私はまた、マニフェストにこれを追加しました:
は<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:scheme="http" />
<data android:scheme="https" />
<data android:host="xyz.com" />
</intent-filter>
だから、共有テキストをクリックすることで、私のアプリを開きます。今私はimportant stuff
に従って私のアプリで働きたい。ただし、それをクリックすると(たとえば、Whatsappから)、私は受け取ったインテントで次のように表示されます。
文字列名:キーでcom.android.browser.application_id
値:com.whatsapp
どうやって取り戻すことができ、私は意図に送らimportant stuff
?
インテントエクストラはあなたの共有インテントと一緒に行かれ、そのインテントに応答しているアプリによって処理されます。ユーザーがあなたのリンクをクリックすると、それらの追加なしでまったく新しいインテントが作成されます。別のアプリケーションからリンクがクリックされた後にそのデータが必要な場合は、そのアプリケーションがそれらのエクストラを送信する必要があります(そうでないかもしれません)、またはURLに関連データを持っている必要があります( 'https://example.com/キー/値 ')例えば –