Android 完全退出应用程序的解决方法

2016-02-19 10:09 5 1 收藏

今天图老师小编要向大家分享个Android 完全退出应用程序的解决方法教程,过程简单易学,相信聪明的你一定能轻松get!

【 tulaoshi.com - 编程语言 】

有一种需要,我们在菜单项中点击退出应用程序,应用程序就退出,不需要回到MainActivity

设计:


有两个应用界面MainActivity和BActivity,以及用于程序的通用类ExitUtil

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

步骤:

1、添加一个类,名为ExitUtil
代码如下:

public class ExitUtil {
 public static final int EXIT_APPLICATION = 0x0001;
 private Context mContext;
 public ExitUtil(Context context) {
  mContext = context;
 }
 // 完全退出应用程序
 public void exit() {
  Intent intent = new Intent(mContext, MainActivity.class);
  // 设置FLAG!!!表示从当前Activity跳转到intent构造方法中添加的类,并且把两个Activity之间的Activity给finish掉!
  intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
  // 发出退出应用程序指示
  intent.putExtra("flag", EXIT_APPLICATION);
  mContext.startActivity(intent);
 }
}

2、添加BActivity,覆写其中的方法如下,并且需要在清单文件中对此Activity进行配置
代码如下:

public class BActivity extends Activity {
 private static final int MENU_EXITAPPLICATION = Menu.FIRST;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  TextView tv = new TextView(this);
  tv.setText("wecolme!");
  setContentView(tv);
 }
 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
  menu.add(0, MENU_EXITAPPLICATION, 0, "退出程序");
  return super.onCreateOptionsMenu(menu);
 }
 @Override
 public boolean onOptionsItemSelected(MenuItem item) {
  // 其它Activity调用程序就通过此方法
  if (item.getItemId() == MENU_EXITAPPLICATION) {
   ExitUtil eu = new ExitUtil(this);
   eu.exit();
  }
  return super.onOptionsItemSelected(item);
 }
}

3、修改MainActivity方法
代码如下:

public class MainActivity extends Activity {
 Button btn = null;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  btn = (Button) findViewById(R.id.btn);
  btn.setOnClickListener(new OnClickListener() {// 点击进入BActivity
   @Override
   public void onClick(View v) {
    Intent intent = new Intent(getApplicationContext(), BActivity.class);
    startActivity(intent);
   }
  });
 }
 // 接受退出程序的指令
 @Override
 protected void onStart() {
  int flag = getIntent().getIntExtra("flag", 0);// 第一次,进入应用时获取得到的flag为默认的值0!
  if (flag == ExitUtil.EXIT_APPLICATION) {
   finish();
  }
  Log.i("TAG", "Start");
  super.onStart();
 }
 // 当Activity是单例模式的时候,两次启动该Activity就不会调用onCreate-onStart这些方法了
 @Override
 protected void onNewIntent(Intent intent) {
  int flag = getIntent().getIntExtra("flag", 0);
  if (flag == ExitUtil.EXIT_APPLICATION) {
   finish();
  }
  Log.i("TAG", "NewIntent");
  super.onNewIntent(intent);
 }
}

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

来源:https://www.tulaoshi.com/n/20160219/1593606.html

延伸阅读
Apk安装提示‘应用程序未安装’解决方法汇总 最近手机不管装设么都显示应用程序未安装,去最近手机不管装设么都显示应用程序未安装 网上查了查,发现有这种问题的机油不在少数。现在我把网上流传比较广泛的几种解决方法汇总一下,方便各位遇到同样问题的机油查看。 第一种:最普遍的解决方案 储存模式连接电脑找到SD卡目录...
标签: 电脑入门
(1)在应用程序的文件菜单上选样退出命令; (2)单击应用程序窗口右上角的关闭按钮; (3)双击窗口标题栏最左边控制菜单图标; (4)按ALT +F4健 (5)如果某个应用程序不再响应用户的的操作,可以按按CTRL+ALT+DEL,弹出WINDOWS安全对话框,单击任务管理器按纽,在 WINDOWS任务管理器的应用程序,选项卡中列出了当前正在运行和没有响应...
标签: 电脑入门
Win8应用程序出现问题的解决方法: 更新应用程序 使应用保持最新是确保正常工作的一种方法。 只要您的应用有更新版本,您便可在应用商店看见通知。 若要更新应用,您可点击或单击该通知或者按照以下步骤操作: 1.在开始屏幕上,点击或单击应用商店可打开 Windows 应用商店。 2.从屏幕右边缘向中间轻扫,然后点击设置。(如果使用鼠标,则指...
做Android项目的时候发现一个问题:当应用程序退出了,点击"设置"查看应用程序,界面显示着可以点击"强制关闭". 我认为造成这样的原因是还有开启的activity没有被destroy,然后做调试,之后发现开启的activity应该是全部都被destroy了.但是结果还是显示可以点击"强制关闭".  由于这个问题我发现了一个更加严重的问题,那就是,在我应用程序退出...
标签: 电脑入门
网民使用电脑中经常遇到因各种原因引起的应用程序正常初始化失败的错误,但是网上的方法都很难解决问题,金山安全专家指出,现在很多病毒木马喜欢劫持应用程序和系统文件,会导致出现应用程序出错,请立刻下载金山卫士进行木马查杀。 应用程序发生异常的案例 网友李刚为qq农场的发烧友,想尝试通过qq农场外挂带来的自动化偷菜的的快感,一次...

经验教程

366

收藏

69
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部