我尝试在当前打开的应用中使用branch.io链接打开一个新活动。 以下代码有效。这里的问题是浏览器被打开,这将调用新活动。
Intent actionIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://sample.test-app.link/foo"));
startActivity(actionIntent);
我知道浏览器访问branch.io的网站,获取数据并调用intent://....
之类的其他链接。我正在搜索从网络链接(intent://
)获取意图链接(https
)的方法。
谢谢!
答案 0 :(得分: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。
答案 1 :(得分:1)
Branch SDK的目的不是为了方便从应用程序自己的网页浏览回到应用程序。也就是说,听起来你已经有了一些工作,这太棒了。
关于获取从分支链接创建的Intent字符串的最简单方法:在安装了应用的设备上,将Branch链接粘贴到Chrome地址栏并按Enter键。意图字符串将出现在地址栏和将出现在结果网页上的错误中。
以这种方式检索意图字符串是有效的,因为Chrome不支持通过在地址栏中输入意图字符串来打开应用程序。
答案 2 :(得分:0)
我认为你可以通过以下步骤实现它:
在活动的意图过滤器下的清单文件中:
Uri data = getIntent().getData();
if(data!=null) {
List<String> params = data.getPathSegments();
String first = params.get(0); // "status"
String second = params.get(1);
}
现在您的可点击链接应该是:
在活动中,您可以使代码根据网址
制作任何条件 chart.xAxis[0].removePlotLine('plot-line-1');
chart.xAxis[0].addPlotLine({
....
id: 'plot-line-1'
});