在同一应用中打开 branch.io link
Open branch.io link in same app
我尝试在当前打开的应用程序中打开一个带有 branch.io link 的新 activity。
以下代码有效。这里的问题是浏览器打开了,这调用了新的 activity.
Intent actionIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://sample.test-app.link/foo"));
startActivity(actionIntent);
我知道浏览器访问 branch.io 的网站,获取数据并调用另一个 link,例如 intent://....
。我正在寻找一种方法来从网络中获取意图-link (intent://
)-link (https
).
谢谢!
我认为您可以通过以下步骤实现:
在 activity 的意图过滤器下的清单文件中放置:
<data android:host="example.com" android:scheme="http" ></data>
现在您的可点击 link 应该是这样的:
在activity中,您可以根据URL
对代码进行任何条件设置
Uri data = getIntent().getData();
if(data!=null) {
List<String> params = data.getPathSegments();
String first = params.get(0); // "status"
String second = params.get(1);
}
解决方案是启用 App links
并在 link 设置中添加 SHA256 指纹。
在您的应用中,您应该设置一个新的 intent 过滤器以获取 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>
现在您的应用程序接收并处理 links,浏览器将不会打开。
描述了步骤 in the docs。
Branch SDK 并非旨在促进从应用程序自己的网络视图路由回应用程序。也就是说,听起来您已经取得了成功,这太棒了。
关于获取从 Branch link 创建的 Intent 字符串的最简单方法:在安装了该应用程序的设备上,将 Branch link 粘贴到 Chrome 地址栏然后点击进入。意图字符串将出现在地址栏和结果网页上出现的错误中。
以这种方式检索 intent 字符串是可行的,因为 Chrome 不支持像这样在地址栏中输入 intent 字符串来打开应用程序。
我尝试在当前打开的应用程序中打开一个带有 branch.io link 的新 activity。 以下代码有效。这里的问题是浏览器打开了,这调用了新的 activity.
Intent actionIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://sample.test-app.link/foo"));
startActivity(actionIntent);
我知道浏览器访问 branch.io 的网站,获取数据并调用另一个 link,例如 intent://....
。我正在寻找一种方法来从网络中获取意图-link (intent://
)-link (https
).
谢谢!
我认为您可以通过以下步骤实现:
在 activity 的意图过滤器下的清单文件中放置:
<data android:host="example.com" android:scheme="http" ></data>
现在您的可点击 link 应该是这样的:
在activity中,您可以根据URL
对代码进行任何条件设置Uri data = getIntent().getData();
if(data!=null) {
List<String> params = data.getPathSegments();
String first = params.get(0); // "status"
String second = params.get(1);
}
解决方案是启用 App links
并在 link 设置中添加 SHA256 指纹。
在您的应用中,您应该设置一个新的 intent 过滤器以获取 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>
现在您的应用程序接收并处理 links,浏览器将不会打开。
描述了步骤 in the docs。
Branch SDK 并非旨在促进从应用程序自己的网络视图路由回应用程序。也就是说,听起来您已经取得了成功,这太棒了。
关于获取从 Branch link 创建的 Intent 字符串的最简单方法:在安装了该应用程序的设备上,将 Branch link 粘贴到 Chrome 地址栏然后点击进入。意图字符串将出现在地址栏和结果网页上出现的错误中。
以这种方式检索 intent 字符串是可行的,因为 Chrome 不支持像这样在地址栏中输入 intent 字符串来打开应用程序。