Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 539675
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 13, 20262026-05-13T10:09:39+00:00 2026-05-13T10:09:39+00:00

Moving on in my attempt to learn Android, I just read the following :

  • 0

Moving on in my attempt to learn Android, I just read the following:

Question: Does the user have a choice to kill the application
unless we put a menu option in to kill it? If no such option exists,
how does the user terminate the application?

Answer: (Romain Guy): The user doesn’t, the system handles this automatically. That’s what the activity lifecycle (especially onPause/onStop/onDestroy) is for. No matter what you do, do not put a “quit” or “exit” application button. It is useless with Android’s application model. This is also contrary to how core applications work.

Hehe, for every step I take in the Android world I run into some sort of problem =(

Apparently, you cannot quit an application in Android (but the Android system can very well totally destroy your app whenever it feels like it). What’s up with that? I am starting to think that it’s impossible to write an app that functions as a “normal app” – that the user can quit the app when he/she decides to do so. That is not something that should be relied upon the OS to do.

The application I am trying to create is not an application for the Android Market. It is not an application for “wide use” by the general public, it is a business app that is going to be used in a very narrow business field.

I was actually really looking forward to developing for the Android platform, since it addresses a lot of issues that exist in Windows Mobile and .NET. However, the last week has been somewhat of a turnoff for me… I hope I don’t have to abandon Android, but it doesn’t look very good right now =(

Is there a way for me to really quit the application?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-13T10:09:39+00:00Added an answer on May 13, 2026 at 10:09 am

    This will eventually get to your question, but I first want to address a number of issues you raise in your various comments to the various answers already given at the time of this writing. I have no intention of changing your mind — rather, these are here for others who come to read this post in the future.

    The point is that I cannot allow for
    Android to determine when my app is
    going to be terminated. that must be
    the choice of the user.

    Millions of people are perfectly happy with the model where the environment closes up the application as needed. Those users simply don’t think about "terminating" the Android app, any more than they think about "terminating" a Web page or "terminating" a thermostat.

    iPhone users are much the same way, in that pressing the iPhone button does not necessarily "feel" like the app was terminated since many iPhone apps pick up where the user left off, even if the app really was shut down (since iPhone only allows one third-party app at a time, at present).

    As I said above, there is a lot of
    things going on in my app (data being
    PUSHed to the device, lists with tasks
    that always should be there, etc.).

    I don’t know what "lists with tasks that always should be there" means, but the "data being PUSHed to the device" is a pleasant fiction and should not be done by activity in any case. Use a scheduled task (via AlarmManager) to update your data for maximum reliability.

    Our users log in and can’t be doing
    that every time they get a phone call
    and Android decides to kill the app.

    There are many iPhone and Android applications that deal with this. Usually, it is because they hold onto login credentials, rather than forcing users to log in every time manually.

    For example, we want to check updates
    when exiting the application

    That is a mistake on any operating system. For all you know, the reason your application is being "exited" is because the OS is shutting down, and then your update process will fail mid-stream. Generally, that’s not a good thing. Either check updates on start or check updates totally asynchronously (e.g., via a scheduled task), never on exit.

    Some comments suggest that hitting the
    back button does not kill the app at
    all (see link in my question above).

    Pressing the BACK button does not "kill the app". It finishes the activity that was on-screen when the user pressed the BACK button.

    It should only terminate when the
    users want to terminate it – never
    ever any other way. If you can’t write
    apps that behave like that in Android,
    then I think that Android can’t be used
    for writing real apps =(

    Then neither can Web applications. Or WebOS, if I understand their model correctly (haven’t had a chance to play with one yet). In all of those, users don’t "terminate" anything — they just leave. iPhone is a bit different, in that it only presently allows one thing to run at a time (with a few exceptions), and so the act of leaving implies a fairly immediate termination of the app.

    Is there a way for me to really quit
    the application?

    As everybody else told you, users (via BACK) or your code (via finish()) can close up your currently-running activity. Users generally don’t need anything else, for properly-written applications, any more than they need a "quit" option for using Web applications.


    No two application environments are the same, by definition. This means that you can see trends in environments as new ones arise and others get buried.

    For example, there is a growing movement to try to eliminate the notion of the "file". Most Web applications don’t force users to think of files. iPhone apps typically don’t force users to think of files. Android apps generally don’t force users to think of files. And so on.

    Similarly, there is a growing movement to try to eliminate the notion of "terminating" an app. Most Web applications don’t force the user to log out, but rather implicitly log the user out after a period of inactivity. Same thing with Android, and to a lesser extent, iPhone (and possibly WebOS).

    This requires more emphasis on application design, focusing on business goals, and not sticking with an implementation model tied to a previous application environment. Developers who lack the time or inclination to do this will get frustrated with newer environments that break their existing mental model. This is not the fault of either environment, any more than it is the fault of a mountain for storms flowing around it rather than through it.

    For example, some development environments, like Hypercard and Smalltalk, had the application and the development tools co-mingled in one setup. This concept did not catch on much, outside of language extensions to apps (e.g., VBA in Excel, Lisp in AutoCAD). Developers who came up with mental models that presumed the existence of development tools in the app itself, therefore, either had to change their model or limit themselves to environments where their model would hold true.

    So, when you write:

    Along with other messy things I
    discovered, I think that developing
    our app for Android is not going to
    happen.

    That would appear to be for the best, for you, for right now. Similarly, I would counsel you against attempting to port your application to the Web, since some of the same problems you have reported with Android you will find in Web applications as well (e.g., no "termination"). Or, conversely, someday if you do port your app to the Web, you may find that the Web application’s flow may be a better match for Android, and you can revisit an Android port at that time.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

When moving my .Net Compact Framework application to the SD-card of a Windows CE
Moving through the maze forward is pretty easy, but I can't seem to figure
Before moving on to use SVN, I used to manage my project by simply
Simply moving the file to ~/.Trash/ will not work, as if the file os
After moving to .NET 2.0+ is there ever a reason to still use the
When moving a file from old.package to new.package I want two things to happen:
I am interested in moving a number of my projects from Visual Studio and
My team is moving from Visual SourceSafe to Subversion soon, while developing/supporting a legacy
We are planning on moving for MS Source Safe (ouch) to SVN. We are
We're looking at moving from a check-out/edit/check-in style of version control system to Subversion,

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.