0

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 メソッドがコマンド ライン引数のリストを返すと記載されているため、これが機能していないように見えてもまったく驚くことはありません。

起動 URL にアクセスする方法についての洞察をいただければ幸いです。

4

3 に答える 3

1

window.location.search を見てください

https://developer.mozilla.org/en-US/docs/DOM/window.location

于 2013-01-15T16:53:36.943 に答える
0

現在、これを行うための「公式の」方法はないようです。そのため、かなりうまく機能するように思われる独自のソリューションを思いつきました (ただし、現在は OSX 用にのみ実装されています)。

TideSDK ソースを検索すると、ネイティブ アプリケーション デリゲートが作成されている場所が見つかりました。アプリ デリゲートに URL 起動ハンドラーを追加し、起動 URL を新しいアプリ デリゲート メンバーに格納し、Ti.UI のバインディングを使用して API に接続しました。

他の誰かがこの機能に興味を持っている場合、または Windows でこのタスクを達成する方法について洞察を持っている場合は、連絡してください!

于 2013-01-24T00:06:32.587 に答える
0

私はあなたの問題を抱えていませんが、次の機能は私にとってはうまくいくと言いたいだけです.

var args = Ti.API.application.getArguments();

これはurlprotoclレジストリの問題である可能性はありますか?

私のURLプロトコルはこれで設定されています:MSDN

したがって、「コマンド」の値は

"C:\YOUR_APP_FOLDER\YOURAPP.exe" "%1"

win7 と winxp でテストしたところ、どちらも引数を正常に取得できました。

于 2013-03-05T03:38:28.340 に答える