- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
继续尝试学习Android,我只是read the following:
问题:用户是否可以选择终止应用程序
除非我们将菜单选项杀死?如果没有这样的选择,
用户如何终止应用程序?
答案:(Roman Guy):用户没有,系统会自动处理。这就是活动生命周期(尤其是onPause / onStop / onDestroy)的用途。无论您做什么,都不要放置“退出”或“退出”应用程序按钮。它对Android的应用程序模型没有用。这也与核心应用程序的工作方式相反。
呵呵,我在Android世界中迈出的每一步都会遇到某种问题=(
显然,您无法在Android中退出应用程序(但Android系统可以在需要时完全销毁您的应用程序)。那是怎么回事?我开始认为不可能编写一个功能像“普通应用程序”的应用程序-用户可以在决定退出应用程序时退出该应用程序。那不是应该依靠操作系统来做的事情。
我尝试创建的应用程序不是适用于Android Market的应用程序。它不是公众“广泛使用”的应用程序,而是将在非常狭窄的业务领域中使用的商业应用程序。
实际上,我真的很期待开发Android平台,因为它解决了Windows Mobile和.NET中存在的许多问题。但是,上周对我来说是个休假……我希望我不必放弃Android,但是现在看起来还不太好=(
我有办法真正退出该应用程序吗?
最佳答案
这最终将解决您的问题,但是我首先想解决您在撰写本文时已经给出的各种答案的各种评论中提出的一些问题。我无意改变您的想法-相反,这些是供将来阅读此帖子的其他人使用的。
关键是我不能允许
Android确定我的应用何时
将被终止。那一定是
用户的选择。
数以百万计的人对环境根据需要关闭应用程序的模型感到非常满意。这些用户根本不会考虑“终止” Android应用程序,而只是考虑“终止”网页或“终止”恒温器。
iPhone用户的使用方式大致相同,因为按下iPhone按钮并不一定像终止应用程序一样“感觉”,因为许多iPhone应用程序从用户离开的地方接起,即使该应用程序确实关闭了(因为仅iPhone)目前一次允许一个第三方应用)。
正如我上面所说的,有很多
我的应用中发生的事情(数据正在
推送到设备,列出任务
总是应该在那里等)。
我不知道“列出应该始终存在的任务”是什么意思,但是“将数据推送到设备上”是一种令人愉快的小说,在任何情况下都不应该由活动来完成。使用计划的任务(通过AlarmManager
)来更新数据,以实现最大的可靠性。
我们的用户登录后无法执行
他们每次接到电话
然后Android决定终止该应用。
有很多iPhone和Android应用程序都可以解决这个问题。通常是因为它们保留登录凭据,而不是强迫用户每次手动登录。
例如,我们要检查更新
退出应用程序时
在任何操作系统上,这都是一个错误。据您所知,您的应用程序“退出”的原因是因为操作系统正在关闭,然后您的更新过程中途会失败。通常,这不是一件好事。要么在启动时检查更新,要么完全异步地检查更新(例如,通过计划任务),而不是退出。
一些评论表明,
后退按钮不会终止该应用程序
全部(请参阅上面我的问题中的链接)。
按下“返回”按钮不会“杀死应用程序”。当用户按下“返回”按钮时,它将完成屏幕上的活动。
它仅应在
用户想要终止它-从不
任何其他方式。如果你不会写
在Android中表现类似的应用,
那我认为Android无法使用
用于编写真实的应用程序=(
然后,Web应用程序也不能。或WebOS,如果我正确理解了他们的模型(还没有机会玩过)。在所有这些中,用户不会“终止”任何东西-他们只是离开。 iPhone有点不同,它目前仅允许一次运行一次(有一些例外情况),因此离开的行为意味着该应用程序将立即终止。
有没有办法让我真正戒烟
应用程序?
正如其他人告诉您的那样,用户(通过BACK)或您的代码(通过finish()
)可以关闭您当前正在运行的活动。对于编写正确的应用程序,用户通常不需要使用“退出”选项来使用Web应用程序。
根据定义,没有两个应用程序环境是相同的。这意味着您可以看到随着新环境的出现和其他环境被掩埋而引起的环境趋势。
例如,试图消除“文件”概念的运动正在增加。大多数Web应用程序都不强迫用户考虑文件。 iPhone应用程序通常不会强迫用户考虑文件。 Android应用程序通常不会强迫用户考虑文件。等等。
同样,有越来越多的人试图消除“终止”应用程序的概念。大多数Web应用程序并不强迫用户注销,而是在一段时间不活动之后隐式注销用户。与Android相同,在较小程度上与iPhone(可能还有WebOS)相同。
这就需要更加强调应用程序设计,关注业务目标,而不是坚持与先前的应用程序环境绑定的实现模型。缺乏时间或意愿去做的开发人员将对破坏他们现有思维模型的新环境感到沮丧。这不是这两种环境的错,更不是因为风暴绕过山而不是通过山而造成的故障。
例如,某些开发环境(例如Hypercard和Smalltalk)将应用程序和开发工具混合在一个设置中。除了应用程序的语言扩展(例如VBA,Excel中的Lisp in AutoCAD)之外,此概念还没有引起太大的关注。因此,想出了心理模型的开发人员认为应用程序本身中存在开发工具,因此他们要么必须更改其模型,要么将自己限制在其模型可以实现的环境中。
因此,当您编写:
和其他杂乱的事情
发现,我认为发展
我们针对Android的应用不会
发生。
目前看来,这对您来说是最好的。同样,我建议您不要尝试将应用程序移植到Web上,因为您在Android应用程序中也发现了一些相同的问题(例如,没有“终止”)。相反,或者相反,有一天,如果您确实将应用程序移植到Web上,则可能会发现Web应用程序的流程可能更适合Android,并且可以在那时重新访问Android端口。
关于android - 退出应用程序会感到烦恼吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19080811/
我目前正在为 Cocoa/Objective-C 项目编写一个脚本来完全自动化我的编译-运行-调试过程。 我的最后一行代码是: lldb -f Build/MyApp.app -o "run" 这实际
我有一个带有登录屏幕的脚本,如果按下取消按钮,我想完全退出该应用程序。我尝试了 3 种方法: 系统退出() QApplication.quit() QCoreApplication.instance(
我有一个 Flash 应用程序,可以重定向到另一个页面。我很乐意捕获任何其他窗口卸载事件(单击链接/提交表单)并警告用户他们将丢失 Flash 应用程序中的进度。 但是,我找不到任何方法来判断 URL
我正在尝试在 Ubuntu 上用 Python 编写一个简单的程序,它将在播放视频完成后关闭/退出/退出 VLC Player。 能否请您指导我应该在我的程序中添加什么以获得我需要的结果。 impor
我在 Lynda.com 上学习 PHP 2 视频时遇到了一个问题,因为讲师似乎忽略了告诉我们他在视频中执行的步骤之一。我在这里上传了相关视频http://www.youtube.com/watch?
某天在群内有同学问到,在python下我用input或者raw_input都得输入完后回车才能获取到输入的值,那如何实现任意键退出暂停等功能呢,我当时也没有多想,因为接触python时间也不算长,主
我按顺序调用了几个函数(我无法编辑),但有些函数会重定向用户,所以我永远不会进入下一个函数。 我正在调用一个第三方函数,它调用了我能够阻止的 wp_redirect(),但是下一行是 exit;我不知
终止/退出主函数的 D 方式是什么? import std.stdio; import core.thread; void main() { int i; while (i <= 5)
我正在申请写作。用户可以打开应用程序、写一些文本、保存他们的工作等。 我试图做到这一点,以便点击 window close按钮将提示用户 (a) 保存他们的工作(如有必要)或 (b) 退出。 我正在尝
我正在通过在 repl 中检查别人的代码来玩弄它。 它不断调用 System/exit,这导致我的 repl 崩溃。这真是令人气愤。 在我有权访问的所有代码中,我都模拟了调用。 但它也会调用一些我没有
我正在使用 subprocess执行mimic的模块程序(指定 here )。下面的代码成功地读取了一些文本并写入了一个 mp3 文件。 import subprocess proc = subpro
退出 .then 范围后数组上的值被清除 在下面的代码中tableValues1.length 给我正确的长度,直到它位于每个循环内当它退出时,作用域数组长度为零。 请谁能帮我解决这个问题 - 谢谢
我正在尝试为 s3cmd 编写一个 docker 镜像。当我通过 docker-compose 运行从 Dockerfile 构建的图像时,容器在 docker compose run 命令之前退出。
这个问题已经有答案了: 已关闭12 年前。 Possible Duplicate: Quitting an application - is that frowned upon? 我编写了一个 And
我遇到 Selenium WebDriver 仅执行一次后退出 for 循环的问题。据推测,这是获取内容和在加载页面之前启动循环的问题。是否有可能让 webdriver 等待页面加载? List al
#include #include #include #include "Player.h" using namespace std; void PlayerMenu(); int main()
class Test{ public static void main(String args[]) { Patron list[] = new PatronData(
我正在做一些作业,遇到了这个问题。 Write a program that reads several lines of text and prints a table indicating the
我正在用 C 创建一个简单的 Linux 命令 shell。我无法理解我的代码在哪里出现问题。 “commands”是我希望作为一个父进程的子进程同时执行的 Linux 命令字符串列表。当所有执行完成
我的控制台应用程序有点问题。应用程序应该从用户那里获取数字并将它们添加到列表中,但是如果输入是“c”,它应该关闭。我不知道如何在不使用 Scanner.nextLine() 挂起应用程序并退出循环的情
我是一名优秀的程序员,十分优秀!