【发布时间】:2018-03-16 08:01:59
【问题描述】:
当我为我的项目使用深层链接并尝试访问Ti.Android.currentActivity.getIntent().getData() 时,它总是为Ti SDK 6.2.0 及更高版本返回null,但如果我将SDK 降级到6.1.2,那么它可以正常工作。它无法从传入的意图中读取数据。
复制步骤:
- 新建合金App,使用如下测试代码
- 在任何安卓设备上安装应用程序。
- 转到浏览器并浏览到链接
app name://videoURL - 它将打开应用程序,但
getData()始终为空,但它应该返回一个 URL
预期结果:当应用程序从深层链接打开时,它应该返回 URL。
这里是测试代码:
在alloy.js 中:
Alloy.Globals.getDeepLinkURL = function() {
Alloy.Globals.deepLinkURLAndroid =Ti.Android.currentActivity.getIntent().getData();
console.log("Alloy.Globals.deepLinkURLAndroid");
console.log(Alloy.Globals.deepLinkURLAndroid);
console.log(Ti.Android.currentActivity.getIntent());
};
在 index.js 中:
$.index.addEventListener('open',function(){
if(OS_ANDROID){
Alloy.Globals.getDeepLinkURL();
}
});
【问题讨论】:
-
您好像忘记添加要重现的测试代码了。
-
嗨,哈姆,感谢您的回复。我已经添加了测试代码。
标签: javascript android titanium-mobile deep-linking appcelerator-titanium