继续我学习Android的尝试,我只是阅读以下内容:
问题:用户是否可以选择终止应用程序,除非我们使用菜单选项来杀死它?如果不存在这样的选项,用户如何终止该应用程序?
答案:(Romain Guy):用户没有,系统会自动处理.这就是活动生命周期(特别是onPause/onStop/onDestroy)的用途.无论你做什么,都不要放"退出"或"退出"应用程序按钮.它与Android的应用程序模型无关.这也与核心应用程序的工作方式相反.
呵呵,我在Android世界中采取的每一步都会遇到某种问题=(
显然,你无法在Android中退出应用程序(但Android系统可以很好地完全破坏你的应用程序).那是怎么回事?我开始认为编写一个充当"普通应用程序"的应用程序是不可能的 - 用户可以在他/她决定这样做时退出应用程序.这不应该依赖操作系统来做.
我尝试创建的应用程序不是Android Market的应用程序.它不是一般公众"广泛使用"的应用程序,它是一个将用于非常狭窄的业务领域的商业应用程序.
我实际上真的很期待为Android平台开发,因为它解决了Windows Mobile和.NET中存在的许多问题.然而,上周对我来说有点懈怠...我希望我不必放弃Android,但它现在看起来不太好=(
有没有办法让我真的退出申请?
我有一个应用程序,在主页上我有通过应用程序导航的按钮.
在那个页面上,我有一个"EXIT"按钮,当点击它时,应该将用户带到应用程序图标所在的手机上的主屏幕.
我怎样才能做到这一点?
我想关闭我的应用程序,以便它不再在后台运行.
怎么做?这是Android平台上的好习惯吗?
如果我依赖"后退"按钮,它会关闭应用程序,但它会保留在后台.甚至有一个名为"TaskKiller"的应用程序只是为了在后台杀死这些应用程序.
我有2个活动,所以活动1转到活动2然后活动2我有一个退出按钮.但是当我点击它时,它只退出活动编号2并再次返回活动1.它基本上感觉就像我刚刚启动应用程序.我不知道为什么?
这是我的代码.
Button btExit = (Button) findViewById(R.id.btExit);
btExit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
System.exit(0);
}
});
Run Code Online (Sandbox Code Playgroud) 如何以编程方式关闭我的应用程序?
我用了
finish();
Run Code Online (Sandbox Code Playgroud)
要么
android.os.Process.killProcess(android.os.Process.myPid());
Run Code Online (Sandbox Code Playgroud)
要么
System.exit(0);
Run Code Online (Sandbox Code Playgroud)
要么
moveTaskToBack(true);
Run Code Online (Sandbox Code Playgroud)
但它关闭了当前的运行活动,但我需要关闭整个应用程序?
我需要关闭应用程序以检索一些内存,然后再次重新启动应用程序.
要么
有没有办法清除应用程序的所有内存?
我有两个活动,第一个是泼水活动.我想知道如何将应用程序从第二个活动退出到主页.我已经使用了这种方法它可以工作但它需要发射器.
public void AppExit()
{
this.finish();
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
Run Code Online (Sandbox Code Playgroud) 如果我打电话给System.exit()
对手有什么不同killProcess()
.
我只对差异感兴趣
我有一个Android应用程序,有3个活动.对于第一个和第二个活动,我希望后退按钮退出所有现有活动.
当后退按钮退出活动时,它会启动,但如果按下第二个活动,则会显示第一个活动,而不是退出应用程序,因为第一个活动将指向第二个活动.
我需要此功能的原因是因为第1和第2个活动使用计时器计时器,当我按下HOME按钮时它继续运行.但我需要一种方法来重置计时器以使用BACK按钮完全退出应用程序.
这是我在第1和第2活动中出现的后退按钮的代码.
@Override
public void onBackPressed() { // method for exit confirmation
AlertDialog.Builder builder = new AlertDialog.Builder(BreakActivity.this);
builder.setMessage("Are you sure you want to exit?")
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
BreakActivity.this.finish();
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alert = builder.create();
alert.show();
}
};
Run Code Online (Sandbox Code Playgroud)
我研究了使用以下代码的可能性:
intent = new Intent(this, FinActivity.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent)
finish();
Run Code Online (Sandbox Code Playgroud)
但是,我不确定应该在哪里实现,如果在按下BACK按钮后显示确认消息后选择"是",我真的只想结束所有应用程序(参见第一个代码片段).
任何帮助这项工作将不胜感激!
谢谢