1

我正在为安卓开发一个应用程序。我并不总是清楚应用程序何时会被操作系统终止。有时当您按下返回按钮时会发生这种情况,有时当您按下主页按钮时会发生这种情况。这背后的逻辑是什么?

我的应用程序必须在很长一段时间内保持激活(当您运行它时,应用程序必须保持常驻)。还有一个问题是是否可以在事件进入时弹出并激活屏幕并将其带到前面。

有人已经做了这个吗?或者是否有更多关于此的信息(如何做)。搜索互联网,但没有找到一些有用的东西。

4

3 回答 3

1

还有一点——当安卓认为它需要更多内存来存储最近的应用时,它可以关闭你的应用。

如果您想实现可靠的常驻行为,您可能需要使用本机扩展,甚至使用 Java 开发您的应用程序。

更新: java service+air ui 示例: http ://www.jamesward.com/2011/05/11/extending-air-for-android/ 更新结束

而且你必须知道,空中应用程序至少要消耗 30mb 的内存(如果它们是空的并且什么都不做),通常它们会从 50-70mb 开始。我想没有用户会希望他的另外 70mb 的内存饥渴设备被不重要的东西吃掉。

为了自动最大化您的窗口,您可能需要 root 访问权限。

于 2012-12-28T07:09:52.603 回答
1

按主活动上的后退按钮将完成并退出应用程序。

按下 Home 按钮将暂停应用程序并将其留在后台,当它恢复时它将返回到以前的状态。

如果您不希望它在按下后退按钮时退出,请覆盖主 Activity 上的 onBackPressed() 方法。

如果您希望在显示屏幕时发生事件,请覆盖 onResume() 方法并在那里执行所需的检查和事件。

于 2012-12-28T06:52:59.583 回答
1

由于您的答案是使用 Flex,问题是您需要收听舞台的 keyDown 事件。

stage.addEventListener(KeyboardEvent.Key_DOWN, yourHandler);

然后您需要响应后退按钮并禁止此操作 - 如果您的意图是停止后退按钮。

private function _onStage_keyDownHandler(event:KeyboardEvent)
{
    if(event.keyCode == Keyboard.BACK)
    {
        event.stopImmediatePropogation();
        event.preventDefault();
        //your code here
    }
}
于 2012-12-28T19:33:41.010 回答