This question already has an answer here:
-
How to kill an application with all its activities? [duplicate]
6 answers
How to kill whole application in onne single click.. finish() is not working?? it redirects to tha previous activity...pls guide me.
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();
}
System.exit()
does not kill your app if you have more than one activity on the stack
Use android.os.Process.killProcess(android.os.Process.myPid());
this way.
for sample
public void onBackPressed() {
android.os.Process.killProcess(android.os.Process.myPid());
super.onBackPressed();
}
For more detail see Is quitting an application frowned upon? , How to force stop my android application programmatically?
I hope this will help you.
You can use this function to close your application
Process.killProcess( Process.myPid() );
i think you want this
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
Finish ()
Added in API level 1
Call this when your activity is done and should be closed. The Activity Result is propagated back to whoever launched you via onActivityResult().
you must use System.exit() to kill your application on a click to directly close the activity.
Why finish() is not working for you ?
Take an example where Activity A had called Activity B and when you call finish() on your activity B if finish the activity but as Activity A had given him called and it is a previous activity it returns back you to Activity A screen
What you can do?
- You can call System.exit() - It will directly kill the application wherever it is called from it does not matter.
Use Process.killProcess(your process id);
Start the home activity by killing your current activity by using finish() and then call
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);