Titanium Android:开发者选项;“不要保留活动”;使应用程序关闭

Titanium Android:开发者选项;“不要保留活动”;使应用程序关闭,titanium,titanium-alloy,Titanium,Titanium Alloy,当我在GalaxyS3上尝试用Tianium开发的android应用程序时,它只打开了一秒钟,然后就关闭了,没有任何错误。意识到if是“开发人员选项”下的“不要保留活动””的错误,经过一些研究,我在这里找到了:。如果我取消勾选“不要保留活动”,一切正常。现在,我想让它工作,虽然“不要保持活动”我们检查,在上面的链接中,我读到钛文档谈到这一点,所以我在这里结束:。所以我把代码从 if (OS_ANDROID) { Alloy.createController('home').getView

当我在GalaxyS3上尝试用Tianium开发的android应用程序时,它只打开了一秒钟,然后就关闭了,没有任何错误。意识到if是“开发人员选项”下的“不要保留活动””的错误,经过一些研究,我在这里找到了:。如果我取消勾选“不要保留活动”,一切正常。现在,我想让它工作,虽然“不要保持活动”我们检查,在上面的链接中,我读到钛文档谈到这一点,所以我在这里结束:。所以我把代码从

if (OS_ANDROID) {
    Alloy.createController('home').getView().open(); }

我想可能我不能使用简单的open,比如(win.open()),它被压碎了,因为活动没有在清单中声明。实际上,我没有找到一个关于如何使用活动和tiapp.xml的好例子,如何添加它们? 所以我在tiapp.xml中添加了一些可能很愚蠢的东西:

 <activity android:name=".HomeActivity" url="home.js"/>
那么,我怎样才能声明在钛中的活动呢? 有没有办法避免此复选框影响您的应用程序(除了取消选中它:)


提前感谢您的帮助

我创建了一个android活动,将其与一个警报对话框一起使用,这样我就可以像这样关闭主活动:

var mainActivity = Ti.Android.currentActivity;

$.mainWindow.addEventListener('android:back',function(e){
    $.dialog.show();
});

$.dialog.on('click', function(e){
    if (e.index == 0){
        mainActivity.finish();
    }
    else
        Ti.API.info('You clicked NO');  
});
UI.Window还有一个活动属性,您可以阅读文档进行进一步调查:

我的LG Galaxy L5也有同样的问题(我一打开应用程序就会崩溃) 我已使用名为:

navBarHidden : false
它指的是:


在Android上,设置此属性将强制创建重量级窗口。有关更多信息,请参阅该类主要说明中的“Android重量级和轻量级Windows”。

我将navBar设置为false并添加了上述代码,但它不会改变任何内容。实际上,它不会崩溃,它只是关闭,因为它认为关闭的活动不再需要了,所以它会破坏它。我明白这一点,但我不明白为什么它会关闭整个应用程序。在alloy中,当你打开应用程序时,首先看到的是带有alloy默认图像的窗口,然后它会在index.js中打开窗口,我认为这是因为在index.js打开后,第一个屏幕会留下“不要保留活动”开始执行他的工作。有什么想法吗?是的,它不会崩溃,它只是关闭,你试过使用模态窗口吗
modal:true
如果我的windows中没有此属性,我在Galaxy L5中尝试过的所有其他Tianium应用程序都将关闭
var mainActivity = Ti.Android.currentActivity;

$.mainWindow.addEventListener('android:back',function(e){
    $.dialog.show();
});

$.dialog.on('click', function(e){
    if (e.index == 0){
        mainActivity.finish();
    }
    else
        Ti.API.info('You clicked NO');  
});
navBarHidden : false