アプリに再開イベントを添付していて、現在フォーカスされているウィンドウを検出したい
Ti.App.addEventListener('resume', function(e) {
// what window is focused? visible?
});
アプリに再開イベントを添付していて、現在フォーカスされているウィンドウを検出したい
Ti.App.addEventListener('resume', function(e) {
// what window is focused? visible?
});
Ti.UI.currentWindow を試すことができますが、過去に結果がまちまちでした。
最も基本的なオプションは、app.js にグローバル変数を作成してウィンドウを保存することです。そのため、再開時に確認してください。おそらくウィンドウ用のラッパーを作成したいので、 open() でウィンドウでグローバルを設定します。
次のようなすべてのウィンドウフォーカスイベントでフラグを設定するだけです
Ti.App.Properties.setString('currentWindow',Ti.UI.currentWindow.title);
したがって、このフラグをリクエストするだけで済みます..
すべてのウィンドウ フォーカス イベントでこのコードを記述します。
Ti.App.Properties.setString('currentWindow',Ti.UI.currentWindow.title);
Ti.UI.currentWindow.title は基本的に、そのウィンドウが作成されているファイルの名前にする必要があります。
これで、再開イベントでこれを行う必要があります
var newwin_name= Ti.App.Properties.getString('currentWindow');
var newwin = Ti.UI.createWindow({url:newwin_name+'.js'});
newwin.open();
これが役立つことを願っています。
プロパティ 'Ti.UI.currentWindow' は、Ti.UI.createWindow.url メソッドを使用してコンテキストに JavaScript をロードした場合にのみ使用できます。ただし、このメソッドは、バージョン 3.6.0 および合金の導入 ( http://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.Window-property-url ) ->その後 Ti から削除されました。 UI.getCurrentWindow が null を返す
現在のウィンドウにポインターを保持できる唯一の方法は、作成時にそれを Alloy.Globals コレクションのグローバル変数に割り当てることでした。複数のウィンドウを使用し、それらのウィンドウをナビゲートする方法が多すぎる場合、これはトリッキーな方法です。ですので、覚えておいてください。
このコードを試してください
まず、グローバル イベントを設定します。それを処理してwindowTitleを受け取ります
Ti.App.addEventListener('resume', function(e) {
alert(e.windowTitle)
});
そして、このイベントを発生させたい場所でこれを作ります
Ti.App.fireEvent('resume',{
windowTitle : Ti.UI.currentWindow.title
});
カスタムデータをグローバルイベントに送信できます
フォーカスされたウィンドウは最後に開かれたウィンドウです!
使用できます
var currentWindow = Ti.UI.getCurrentWindow();