继续我学习Android的尝试,我只是阅读以下内容:
问题:用户是否可以选择终止应用程序,除非我们使用菜单选项来杀死它?如果不存在这样的选项,用户如何终止该应用程序?
答案:(Romain Guy):用户没有,系统会自动处理.这就是活动生命周期(特别是onPause/onStop/onDestroy)的用途.无论你做什么,都不要放"退出"或"退出"应用程序按钮.它与Android的应用程序模型无关.这也与核心应用程序的工作方式相反.
呵呵,我在Android世界中采取的每一步都会遇到某种问题=(
显然,你无法在Android中退出应用程序(但Android系统可以很好地完全破坏你的应用程序).那是怎么回事?我开始认为编写一个充当"普通应用程序"的应用程序是不可能的 - 用户可以在他/她决定这样做时退出应用程序.这不应该依赖操作系统来做.
我尝试创建的应用程序不是Android Market的应用程序.它不是一般公众"广泛使用"的应用程序,它是一个将用于非常狭窄的业务领域的商业应用程序.
我实际上真的很期待为Android平台开发,因为它解决了Windows Mobile和.NET中存在的许多问题.然而,上周对我来说有点懈怠...我希望我不必放弃Android,但它现在看起来不太好=(
有没有办法让我真的退出申请?
我知道这个问题很常见,并且在Stack Overflow上多次询问,但在访问了近四页的搜索引擎结果和几乎关于这个问题的Stack Overflow的20个问题后,我发现它们都没有得到正确的解决或回答.
我想要的是:
我想在最近的应用程序列表中显示我的应用程序,但是当我关闭应用程序时,我的进程应该被终止,应用程序应该从最近的应用程序列表中删除.
我找到了一些答案:
use System.exit(0); //doesn't clear app from recents
OR
use android.os.Process.killProcess(android.os.Process.myPid()); //doesn't clear app from recents
OR
use finish() or this.finish() or Activity.finish();// doesn't clear app from recents
Run Code Online (Sandbox Code Playgroud)
我在每个答案中看到的一个常见建议是在清单中添加以下代码:
android:excludeFromRecents //I think this is wrong approach.
Run Code Online (Sandbox Code Playgroud)
因为当用户在我的应用程序运行时按下主页按钮添加此项后,用户无法在最近的应用程序列表中看到我的应用程序.
关于此的许多其他建议,但他们都没有做任何关闭应用程序和从最近的应用程序列表中清除应用程序.此外,如果你进去Settings>Apps>yourApp>your Application看到仍然它要求"强制停止"意味着应用程序正在运行!
我正在从服务启动活动,并希望它出现在最近的应用列表中.
但是,如果我退出应用程序,我希望从最近的应用程序列表中删除活动(例如,按活动的UI上的按钮调用finish()).
从最近的应用列表中排除活动android:excludeFromRecents="true"并未向我提供我需要的初始活动行为,即最近的应用列表中显示的活动.
这可能吗?
步骤1-应用程序在最近的应用程序列表中不存在(应用程序已从最近的应用程序列表中删除).
第2步 - 一旦我收到通知,打开IncomingCall活动,用户接受呼叫.
步骤3-用户单击断开连接按钮完成IncomingCall活动.
问题 - 应用程序显示在最近的应用程序列表甚至应用程序之前不在最近的应用程
清单入口
<activity
android:name=".activities.IncomingCall"
android:excludeFromRecents="true"
android:launchMode="singleTop"
android:screenOrientation="portrait" >
</activity>
Run Code Online (Sandbox Code Playgroud)
在活动中使用
public void onClick(View v) {
switch (v.getId()) {
case R.id.onCallDisconnectButton:
phoneCallBaseClass.disconnect();
IncomingCall.this.finish();
break;
}
}
Run Code Online (Sandbox Code Playgroud)
而且我也试过下面的链接,但它将在app已经存在于后台时工作
或者是否有任何其他方式来显示来电视图以便它不会在历史记录中持续存在.
你可以举例说明任何VoIP电话应用
在来电来电后,从最近的应用列表中删除应用,用户断开呼叫活动(IncomingCallActivity)将不会存在于最近的应用列表中.但在我的案例中,在断开呼叫后,活动在最近的应用列表中仍然存在.
谢谢
我的应用程序使用 aDefaultHttpClient发出网络请求。有时(通常在很长一段时间后恢复应用程序后)应用程序将停止加载数据,我需要在它再次加载内容之前将其从最近的应用程序列表中清除。
我的问题是,两者之间有什么区别: - 通过点击后退按钮关闭应用 - 从最近的应用列表中清除该应用
当我的应用停止加载内容时,通过后退按钮退出并重新打开并不能解决问题。只有通过从最近的应用程序列表中清除它才能杀死该应用程序。
当用户使用后退按钮退出时,有没有办法“杀死”应用程序?
谢谢
我正在研究Android应用程序.当我的应用程序运行并按下手机上的最近应用程序按钮时,将调用Activity的onPause()方法.在这个onPause里面我调用了finish().所以活动被破坏了.
但它在最近的应用程序列表中仍然可见.
当我从onPause()中销毁我的活动时,如何确保它未列在最近的应用程序列表中.
xml android activity-lifecycle android-recents android-studio