2017-02-13 7 views
1

現在開かれているアプリケーションでbranch.ioリンクを使用して新しいアクティビティを開こうとしています。 次のコードが機能します。ここで問題となるのは、ブラウザが開かれ、これが新しいアクティビティを呼び出すことです。同じアプリケーション内のbranch.ioリンクを開く

Intent actionIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://sample.test-app.link/foo")); 
startActivity(actionIntent); 

私はブラウザは、branch.ioのウェブサイトを訪問し、データを取得し、intent://....のような他のリンクを呼び出すことを知っています。私はインテントリンク(intent://)をウェブリンク(https)から入手する方法を探しています。

ありがとうございます!アクティビティのインテントフィルタプット下のマニフェストファイルで

答えて

1

解決策はApp linksを有効にし、リンク設定でSHA256フィンガープリントを追加することです。

httpリクエストを取得するための新しいインテントフィルタを設定する必要があります。

<intent-filter android:autoVerify="true"> 
    <action android:name="android.intent.action.VIEW" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
    <category android:name="android.intent.category.BROWSABLE" /> 
    <data android:scheme="https" android:host="xxxx.test-app.link" /> 
</intent-filter> 

あなたのアプリがリンクを受信して​​処理すると、ブラウザは開かれません。

手順はin the docsと記載されています。

0

は、私はあなたが以下の手順でそれを達成することができると思う今、あなたのクリック可能なリンクがあるべき

<data android:host="example.com" android:scheme="http" ></data> 

のような:

http://example.com/tutor/

アクティビティでは、URLに基​​づいて条件を設定するコードを右に設定できます

Uri data = getIntent().getData(); 
    if(data!=null) { 
     List<String> params = data.getPathSegments(); 
     String first = params.get(0); // "status" 
     String second = params.get(1); 
    } 
+0

ありがとうございました!あなたが正しいです、これはうまくいくはずですが、私は[branch.io](https://branch.io/)で解決策が必要です。私は解決策を今見つけました;-) – Fabi755

+0

知っておいて... :) – Khushvinder

1

ブランチSDKは、アプリの独自のWebビューからアプリに戻ってルーティングするようには設計されていません。それはあなたが何か働いているように聞こえて、それは素晴らしいです。

ブランチリンクから作成されたインテント文字列を取得する最も簡単な方法については、アプリがインストールされているデバイスで、Chromeアドレスバーにブランチリンクを貼り付けてEnterキーを押します。インテント文字列は、結果のWebページに表示されるアドレスバーとエラーの両方に表示されます。

このようにインテント文字列を取得するのは、このようにアドレスバーにインテント文字列を入力してChromeを開いてもアプリケーションを開くことができないためです。

関連する問題