我正在TideSDK中组建一个桌面应用程序,并且在查找通过自定义启动URL传递给应用程序的参数时遇到了一些麻烦。
应用程序在调用适当的协议时启动(称之为aaa://),但我无法弄清楚如何获取URL字符串。我读了几个线程,建议我可以通过Ti.API.application.getArguments()调用获取字符串,但它返回奇怪的东西(见下文)。
// launch application with aaa://some_args_here
var args = Ti.API.application.getArguments();
// returns (StaticBoundList) [ /path/to/app, "-psn_0_721072", ]
我并不完全惊讶这似乎不起作用,因为API文档说getArguments方法返回命令行参数列表。
对于如何访问启动网址的任何见解都将不胜感激!
答案 0 :(得分:1)
看一下window.location.search
https://developer.mozilla.org/en-US/docs/DOM/window.location
答案 1 :(得分:0)
目前似乎没有“官方”的方式来做到这一点,所以我提出了我自己的解决方案似乎运行得很好(虽然目前它只针对OSX实现)。
通过TideSDK源搜索,我找到了创建本机应用程序委托的位置。我在app delegate中添加了一个URL启动处理程序,它将启动URL存储在新的app delegate成员中,并使用Ti.UI中的绑定将其连接到API。
如果其他人对此功能感兴趣,或者对如何为Windows完成此任务有深入见解,请与我们联系!
答案 2 :(得分:0)
虽然我没有你的问题,但只想说以下功能对我来说很好。
var args = Ti.API.application.getArguments();
这可能是urlprotocl注册表的问题吗?
我的网址协议由此设置:MSDN
因此“命令”中的值是
“C:\ YOUR_APP_FOLDER \ YOURAPP.exe”“%1”
在win7和winxp上测试, 两者都成功地得到了论据。