【问题标题】:Open branch.io link in same app在同一个应用程序中打开 branch.io 链接
【发布时间】:2017-02-14 04:01:32
【问题描述】:

我尝试在当前打开的应用程序中打开一个带有 branch.io 链接的新活动。 以下代码有效。这里的问题是浏览器打开了,这调用了新的活动。

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

我知道浏览器访问branch.io的网站,获取数据并调用另一个链接,如intent://....。我正在寻找一种从网络链接 (https) 获取意图链接 (intent://) 的方法。

谢谢!

【问题讨论】:

    标签: android android-intent branch.io


    【解决方案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

    【讨论】:

      【解决方案2】:

      Branch SDK 并非旨在促进从应用自己的 Web 视图路由回应用。话虽如此,听起来你已经得到了一些工作,这太棒了。

      关于获取从 Branch 链接创建的 Intent 字符串的最简单方法:在安装了应用程序的设备上,将 Branch 链接粘贴到 Chrome 地址栏中,然后按 Enter。意图字符串将出现在地址栏中和结果网页上出现的错误中。

      以这种方式检索意图字符串是可行的,因为 Chrome 不支持通过像这样在地址栏中输入意图字符串来打开应用程序。

      【讨论】:

        【解决方案3】:

        我认为您可以通过以下步骤实现它:

        在活动的意图过滤器下的清单文件中放置:

          <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);
            }
        

        【讨论】:

        • 感谢您的帮助!你是对的,这应该可行,但我需要branch.io 的一些解决方案。我现在找到了解决方案;-)
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-05-01
        相关资源
        最近更新 更多