2017-07-18 19 views
0

こんにちは私はappceleratorチタンでアンドロイドアプリを開発しています。ユーザーが特定の操作を行うと、アプリケーションを再起動する必要があります。これどうやってするの?私はアンドロイドの活動とインテントを使ってこれを行うことを読んでいます。誰かが私にこのことをどうやって伝えることができますか?appcelerator android appを再起動するにはどうすればよいですか?

答えて

0

アプリケーションが閉じられた、新鮮な、立ち上げ直すかのようにそれが起こるとき、あなたはその後、リロードalloy.jsとindex.js、同じように意味ですか再開することにより、アプリケーション

Intent i = getBaseContext().getPackageManager() 
      .getLaunchIntentForPackage(getBaseContext().getPackageName()); 
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(i); 
+0

私はこのコードも見つけましたが、私のアプリはAppcelerator Titaniumで開発されました。私はいくつかのJavaコードを書くためにハイパーループを使うことができると知っていますが、私はそこにはJavaScriptのソリューションがあると思いました。 ありがとうございました! :) –

+1

@CristiCalacianu https://stackoverflow.com/questions/40452206/android-app-hangs-on-restart-appcelerator-titanium –

+0

私はそれをtiapp.xmlに配置し、アプリが反応しなくなるのを防ぐのに役立ちます再開。私の質問は、このような何かをやってアプリを再起動する方法です:button.addEventlistener( 'click'、function(){ //クリックイベントでアプリを再起動 }); –

0

を再起動するために、これをみては? alloy.jsをもう一度再実行しない場合は、配列内の開いているすべてのウィンドウを追跡し、ボタンをクリックしてすべてのウィンドウを閉じ、index.jsまたはコントローラのどちらかを起動しますアプリケーションに転送します。店の窓に

のサンプルコードは、このすべての時間を、すべてのウィンドウへの参照を持って使用し

windowStack.push({ 
    windowObj : windowObject, //Ti.UI.createWindow 
    winName : windowName,  //Provide a human readable name for logs 
    winId : windowId   //Unique id for every window you open to identify 
}); 

を参照します。ウィンドウを閉じるには、LIFOプロセスに従い、すべてのウィンドウを閉じます。

注:あなたが任意のウィンドウを閉じて、それがtrueに設定さexitOnClose持っている場合は、アプリケーション全体が終了し、再起動しません。この場合、スタックに挿入される最初のウィンドウとして空のウィンドウを作成することができます。再起動するときは、exitOnCloseがtrueのこの特別なウィンドウを除くすべてのウィンドウを閉じ、他のすべてのウィンドウはfalseにします。だから、アプリケーション全体を閉じるには、すべてのウィンドウを閉じます。起動時に、この特別なウィンドウ以外のすべてを閉じてください。

あなたが持っているすべてのアプリ初期化コードも、起動した最初の機能ウィンドウから呼び出されるユーティリティJSに移動できます。

さらに入力が必要な場合は、必要なサンプルコードをいくつか投稿することができます。

+0

はい、そのようなものです。しかし、アプリは合金で書かれていません。私はアプリを再起動したいと思います:) –

+0

上記のアプローチはあなたの要件に応じて動作する必要があります。 app.jsから起動すると、グローバル配列を作成し、開いたすべてのウィンドウ参照を保存します。この配列は、配列の最後に一番上のウィンドウを持つウィンドウスタックとして機能します。これで、この配列をLIFOとして使用できます。私は上記のサンプルコードを含んでいます。 – Soumya

関連する問題