从TideSDK中的自定义URL检索参数

时间:2013-01-15 09:42:14

标签: macos url-scheme tidesdk

我正在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方法返回命令行参数列表。

对于如何访问启动网址的任何见解都将不胜感激!

3 个答案:

答案 0 :(得分:1)

答案 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上测试, 两者都成功地得到了论据。