如何在单击中终止整个应用程序..完成()不起作用?它重定向到以前的活动...请指导我。
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();
}
答案 0 :(得分:25)
System.exit()
不会终止您的应用
以这种方式使用android.os.Process.killProcess(android.os.Process.myPid());
。
表示样本
public void onBackPressed() {
android.os.Process.killProcess(android.os.Process.myPid());
super.onBackPressed();
}
有关详细信息,请参阅Is quitting an application frowned upon?,How to force stop my android application programmatically?
我希望这会对你有所帮助。
答案 1 :(得分:5)
您可以使用此功能关闭应用程序
Process.killProcess( Process.myPid() );
答案 2 :(得分:1)
startActivityForResult
开始任何活动。finish()
onActivityResult
,请在您开展其他活动的活动的result == RESULT_CANCELLED
中写下finish()
。答案 3 :(得分:1)
我想你想要这个
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
答案 4 :(得分:1)
在API级别1中添加 在您的活动完成后调用此选项并应关闭。活动结果将传播回通过onActivityResult()启动您的任何人。
您必须使用System.exit()在单击时终止您的应用程序以直接关闭活动。
为什么finish()不适合你?
举个例子,其中活动A调用了活动B,当你在活动B上调用了finish()时,如果完成了活动,但是当活动A给他调用它并且它是之前的活动时,它返回到活动A屏幕
你可以做什么?
使用Process.killProcess(您的进程ID);
通过使用finish()然后调用
来终止当前活动来启动主页活动Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);