如何创建具有多个活动的Appcelerator Alloy android应用程序
在android中,一个应用程序通常有多个活动来表示不同的入口点/视图。最基本的情况是ToDo应用程序,其中主活动将应用程序启动到索引视图,而辅助活动启动到特定的ToDo视图。虽然这对钛合金经典应用程序非常有效,但如果在主应用程序启动之前启动辅助活动,合金应用程序就会严重损坏 下面是一个简单的例子: 您可以使用ADB启动第二个活动:如何创建具有多个活动的Appcelerator Alloy android应用程序,android,android-activity,titanium,titanium-alloy,Android,Android Activity,Titanium,Titanium Alloy,在android中,一个应用程序通常有多个活动来表示不同的入口点/视图。最基本的情况是ToDo应用程序,其中主活动将应用程序启动到索引视图,而辅助活动启动到特定的ToDo视图。虽然这对钛合金经典应用程序非常有效,但如果在主应用程序启动之前启动辅助活动,合金应用程序就会严重损坏 下面是一个简单的例子: 您可以使用ADB启动第二个活动: adb shell am start -n "com.kaztopia.multiactive/.SecondActivityActivity" -a androi
adb shell am start -n "com.kaztopia.multiactive/.SecondActivityActivity" -a android.intent.action.VIEW -c android.intent.category.DEFAULT -e "message" "HERE_I_AM"
正如我在自述文件中所说,如果应用程序已经运行,那么第二个活动就可以完美地工作。但如果不是这样,它就坏得可怕。正如您在SecondActivity.js文件中看到的,我试图找到一种引导alloy的方法,但这不起作用:
if (typeof Alloy === 'undefined' || typeof Backbone === 'undefined' || typeof Alloy.Globals === 'undefined') {
Ti.API.debug("------------------------- NO ALLOY -------------------------");
if (typeof Alloy === 'undefined') {
var Alloy = require('alloy');
}
if (typeof Backbone === 'undefined') {
var Backbone = require('alloy/backbone');
}
if (typeof _ === 'undefined') {
var _ = require('alloy/underscore')._;
}
try {
Ti.API.debug('Calling app.run()');
require('app').run();
} catch (err) {
Ti.API.debug('Calling app._restart()');
Ti.App._restart();
}
setTimeout(openModal, 1000);
}
这似乎与钛中的一个bug有关,我打开了一个Jira记录:这似乎与钛中的一个bug有关,我打开了一个Jira记录: