如何重新启动appcelerator安卓应用?

时间:2017-07-18 07:06:07

标签: android appcelerator restart

您好我正在appcelerator钛开发Android应用程序。当ca用户做出某个动作时,我需要重新启动应用程序。我怎样才能做到这一点?我读到我可以通过使用android活动和意图来做到这一点。有人能告诉我如何做到这一点吗?

2 个答案:

答案 0 :(得分:0)

尝试此操作以重新启动您的应用

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

答案 1 :(得分:0)

通过重新启动你的意思是重新加载alloy.js然后再转换index.js,就像应用程序关闭并重新启动时一样?如果不再重新执行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流程关闭所有窗口即可。

  

注意:如果关闭任何窗口并且如果将exitOnClose设置为true,则整个应用程序将关闭而不会重新启动。因此,对于这种情况,您可以创建一个空窗口作为要插入堆栈的第一个窗口。重新启动时,关闭除exitOnClose为true的特殊窗口以外的所有窗口,并关闭所有其他窗口的窗口。因此,当您想要关闭整个应用程序时,请关闭所有窗口。启动时,只需关闭除此特殊窗口外的所有窗口。

您也可以使用任何应用程序初始化代码,您可以将其移动到实用程序JS,它将由您启动的第一个功能窗口调用。

如果您还需要任何进一步的输入,我可以根据您的需要发布更多示例代码。