Android kill process
本问题已经有最佳答案,请猛点这里访问。
如何在单击中终止整个应用程序..完成()不起作用? 它重定向到以前的活动...请指导我。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | public void onClick(View arg0) { // TODO Auto-generated method stub WallpaperManager wp = WallpaperManager .getInstance(getApplicationContext()); try { Display d = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)) .getDefaultDisplay(); int width = d.getWidth(); int height = d.getHeight(); wp.setBitmap(b1); } catch (IOException e) { Log.e("error","Cannot set image as wallpaper", e); } finish(); } |
如果您在堆栈上有多个活动,则
以这种方式使用
样品
1 2 3 4 | public void onBackPressed() { android.os.Process.killProcess(android.os.Process.myPid()); super.onBackPressed(); } |
有关更多详细信息,请参阅退出应用程序不赞成? ,如何以编程方式强制停止我的Android应用程序?
我希望这能帮到您。
您可以使用此功能关闭您的应用程序
1 | Process.killProcess( Process.myPid() ); |
完成()
在API级别1中添加
在您的活动完成后调用此选项并应关闭。活动结果将传播回通过onActivityResult()启动您的任何人。
您必须使用System.exit()在单击时终止您的应用程序以直接关闭活动。
Why finish() is not working for you ?
举一个例子,其中活动A调用了活动B,当你在活动B上调用了finish(),如果完成活动,但是当活动A给他调用它并且它是之前的活动时,它返回到活动A屏幕
What you can do?
使用Process.killProcess(您的进程ID);
通过使用finish()然后调用来终止当前活动来启动主页活动
1 2 3 4 | Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); |
我想你想要这个
1 2 3 4 | Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); |
-
使用
startActivityForResult 开始任何活动。 -
如果
result == RESULT_CANCELLED ,则在您开始其他活动的活动的onActivityResult 中写入finish() 。 -
最后在退出点使用
finish() 。