当前位置:  编程技术>移动开发

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

    来源: 互联网  发布时间:2014-10-14

    本文导语:  有一种需要,我们在菜单项中点击退出应用程序,应用程序就退出,不需要回到MainActivity设计:有两个应用界面MainActivity和BActivity,以及用于程序的通用类ExitUtil 步骤: 1、添加一个类,名为ExitUtil 代码如下:public class ExitUtil { pub...

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

设计:


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

步骤:

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);
 }
}

    
 
 

您可能感兴趣的文章:

  • 开发android应用程序时,用java调用so库输出日志问题
  • Android获取应用程序名称(ApplicationName)示例
  • android开发教程之获取使用当前api的应用程序名称
  • 分享Android平板电脑上开发应用程序不能全屏显示的问题解决
  • 解析Android应用程序运行机制
  • Android 程序应用的生命周期
  • android通过代码的形式来实现应用程序的方法
  • ANDROID应用程序的混淆打包分享
  • Android判断当前应用程序处于前台还是后台的两种方法
  • Android的Service应用程序组件基本编写方法
  • android 为应用程序创建桌面快捷方式技巧分享
  • Android实现获取应用程序相关信息列表的方法
  • Android获取应用程序大小的方法
  • android通过蓝牙接收文件打开时无法自动选择合适的应用程序
  • android 完全退出应用程序实现代码
  • Android应用程序签名步骤及相关知识介绍
  • android实现获取正在运行的应用程序
  • Android 静默方式实现批量安装卸载应用程序的深入分析
  • Android应用程序窗口(Activity)窗口对象(Window)创建指南
  • Android 按后退键退出Android程序的实现方法
  • Android实现退出时关闭所有Activity的方法
  • Android双击返回键退出程序的实现方法
  • Android 再按一次返回键退出程序实现思路
  • ANDROID 完美退出APP的实例代码
  • Android Activity 完全结束并退出程序的实例
  • Android程序退出完美解决方案兼容所有SDK
  • android 退出程序解决内存释放的问题
  • Android 退出程序的若干方法总结
  • Android里实现退出主程序的提示代码
  • Android 再按一次退出程序的实现方法
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Android 将 android view 的位置设为右下角的解决方法
  • Android启动模拟器报错解决方法
  • android真机调试时无法显示logcat信息的解决方法介绍
  • Android Studio的中文乱码问题解决方法
  • android中TabHost的图标(48×48)和文字叠加解决方法
  • android工程下不能运行java main程序的解决方法
  • 更新android SDK 失败的解决方法
  • Android HttpURLConnection.getResponseCode()错误解决方法
  • Android Studio 报错failed to create jvm error code -4的解决方法
  • android layout XML解析错误的解决方法
  • Android Activity切换(跳转)时出现黑屏的解决方法 分享
  • android TextView多行文本(超过3行)使用ellipsize属性无效问题的解决方法
  • Android中ImageView无法居中的问题解决方法
  • android图库竖屏不显示status bar的解决方法
  • Android 的 CalDAV 解决方案 DAVdroid
  • Android 设置应用全屏的两种解决方法
  • android开发环境遇到adt无法启动的问题分析及解决方法
  • android @override 报错解决方案
  • android FM播放时拔出耳机后FM APP自动close解决方法
  • Intel HAXM为Android 模拟器加速解决模拟器运行慢的问题
  • 申请Android Map 的API Key(v2)的最新申请方式(SHA1密钥)
  • Android瀑布流实例 android_waterfall
  • Android开发需要的几点注意事项总结
  • Android系统自带样式 (android:theme)
  • android 4.0 托管进程介绍及优先级和回收机制
  • Android网络共享软件 Android Wifi Tether
  • Android访问与手机通讯相关类的介绍
  • Android 图标库 Android GraphView iis7站长之家
  • Android及andriod无线网络Wifi开发的几点注意事项
  • 轻量级Android开发工具 Android Tools
  • Android 2.3 下StrictMode介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3