How can I programmatically close an application?

后端 未结 5 1185
抹茶落季
抹茶落季 2021-01-14 02:08

I am looking for code for a button that completely closes my app.

I tried with some stuff from Google, but my app is still running in the background. I need to close

相关标签:
5条回答
  • 2021-01-14 02:51

    You can close all activities from background and when re-open the app It starts from first activity

    this.finish();
    Intent intent = new Intent(getApplicationContext(), CloseApp.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(intent);
    

    You can close all activities from background and when re-open the app It starts from paused activity[where you closed] activity

        this.finish();
        Intent intent = new Intent(Intent.ACTION_MAIN);
        intent.addCategory(Intent.CATEGORY_HOME);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(intent);
    
    0 讨论(0)
  • 2021-01-14 02:54

    Why do you need to really close your app? Assuming it's just a normal app and not running any background services or holding a wakelock (you'd know if you were doing those things), the system does a very good job of task management and will end your app if it's backgrounded and it needs the RAM without any manual intervention. Normally if you just finish() your base Activity this will happen on its own, but there's almost never a reason to do that.

    (The only exception to this is if your Application is somehow holding onto references to already-finished Activities, which can cause ugly memory leaks and keep your app from closing normally, but you'd also probably know if you're doing anything fishy with an overridden Application subclass.)

    That is: 99% of the time if you want to forcibly close your Application, you either need to fix whatever bug in your code makes you think the system can't handle it on it's own, or you need to reread the documentation on the Android application lifecycle again (because you should have already read this 3 times before you started writing an Android app :)).

    0 讨论(0)
  • 2021-01-14 02:55

    Maybe this link will help developer page

    I quoted the part below that i think might help you.

    Shutting down components

    A content provider is active only while it's responding to a request from a ContentResolver. And a broadcast receiver is active only while it's responding to a broadcast message. So there's no need to explicitly shut down these components.

    Activities, on the other hand, provide the user interface. They're in a long-running conversation with the user and may remain active, even when idle, as long as the conversation continues. Similarly, services may also remain running for a long time. So Android has methods to shut down activities and services in an orderly way:

    An activity can be shut down by calling its finish() method. One activity can shut down another activity (one it started with startActivityForResult()) by calling finishActivity().

    A service can be stopped by calling its stopSelf() method, or by calling Context.stopService().

    Components might also be shut down by the system when they are no longer being used or when Android must reclaim memory for more active components. A later section, Component Lifecycles, discusses this possibility and its ramifications in more detail.

    0 讨论(0)
  • 2021-01-14 03:07

    have in mind that:

    finish();
    

    method closes current Activity only. If you have multiple Activities opened, you should call finish() per Activity.

    Note: Closing Service is different.

    0 讨论(0)
  • 2021-01-14 03:11

    Android doesn't like you closing your apps. Here's a discussion on that: Is quitting an application frowned upon?

    If you really want to do it, for whatever reason, you need to close all your activities. Here's a discussion on how you could do it: Closing several android activities simultaneously

    0 讨论(0)
提交回复
热议问题