如何创建具有多个活动的Appcelerator Alloy Android应用程序

时间:2017-02-21 20:05:36

标签: android android-activity titanium titanium-alloy

在android中,应用程序通常有多个活动来表示不同的入口点/视图。最基本的情况是ToDo应用程序,其中主要活动将应用程序启动到索引视图,但辅助活动将启动到特定的ToDo视图。虽然这对于Titanium经典应用程序非常有效,但如果在主应用程序启动之前启动了辅助活动,那么Alloy应用程序会被严重破坏。

以下是一个简单示例:https://github.com/DaKaZ/multiactive

您可以使用ADB启动第二项活动:

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文件中看到的那样,我试图找到一种引导合金的方法,但这不起作用:

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);
}

0 个答案:

没有答案