精华内容
下载资源
问答
  • androidapp开发如何实现不管手机只关app不退出登录状态,类似于qq
  • APP完全退出

    千次阅读 2015-04-16 11:22:50
    app完全退出暂时知道只有这5中,其中通过广播的方式关闭APP比较推荐,关闭速度快,影响用户体验!!!
    1. Dalvik VM的本地方法
      android.os.Process.killProcess(android.os.Process.myPid())    //获取PID
      System.exit(0);   //常规java、c#的标准退出法,返回值为0代表正常退出
    在小米3中,只能关掉当前Activity,可能在其它android系统中可以,但至少说明不通用.

    2.  我们知道Android的窗口类提供了历史栈
    我们可以通过stack的原理来巧妙的实现,这里我们在A窗口打开B窗口时在Intent中直接加入标 志     Intent.FLAG_ACTIVITY_CLEAR_TOP,这样开启B时将会清除该进程空间的所有Activity。
    在A窗口中使用下面的代码调用B窗口
    Intent intent = new Intent();
    intent.setClass(Android123.this, CWJ.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);  //注意本行的FLAG设置
    startActivity(intent);

    3. 任务管理器方法
       首先要说明该方法运行在Android 1.5 API Level为3以上才可以,同时需要权限
      ActivityManager am = (ActivityManager)getSystemService (Context.ACTIVITY_SERVICE);
      am.restartPackage(getPackageName());
      系统会将,该包下的 ,所有进程,服务,全部杀掉,就可以杀干净了,要注意加上
      <uses-permission android:name=\"android.permission.RESTART_PACKAGES\">
       </uses-permission>
    因为下不兼容,也不是很推荐。

    4.自定义一个Actiivty 栈,道理同上,不过利用一个单例模式的Activity栈来管理所有Activity。并提供退出所有Activity的方法。

    整个应用的生命同期中维护一个List集合,极易产生内存堆积,处理不好就是内存堆积和溢出的现象,如果未关闭的Activity比较多的话,退出时会明显有一个卡的过程,用户体验非常好.

    代码如下:

       public class ScreenManager {
     private static Stack<Activity> activityStack;
     private static ScreenManager instance;
     private  ScreenManager(){
     }
     public static ScreenManager getScreenManager(){
      if(instance==null){
       instance=new ScreenManager();
      }
      return instance;
     }
    //退出栈顶Activity
     public void popActivity(Activity activity){
      if(activity!=null){
       activity.finish();
       activityStack.remove(activity);
       activity=null;
      }
     }


    //获得当前栈顶Activity
     public Activity currentActivity(){
      Activity activity=activityStack.lastElement();
      return activity;
     }


    //将当前Activity推入栈中
     public void pushActivity(Activity activity){
      if(activityStack==null){
       activityStack=new Stack<Activity>();
      }
      activityStack.add(activity);
     }
     //退出栈中所有Activity
     public void popAllActivityExceptOne(Class cls){
      while(true){
       Activity activity=currentActivity();
       if(activity==null){
        break;
       }
       if(activity.getClass().equals(cls) ){
        break;
       }
       popActivity(activity);
      }
     }
    }

    5.自定义广播实现app完全退出(推荐
        推荐用广播的方式去关闭整个应用程序,思路就是为所有的Activity创建一个父类,只要在父类中注册一个自定义关闭应用广播即可实现,仔细想了一下这个方法是可行的,只要在基类中动态注册一个广播就可实现这个功能.

    代码如下

    ExitAppReceiver:
    package com.example.appexitdemo;
    import android.app.Activity;
    import android.app.Service;
    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.Intent;
    import android.support.v4.app.FragmentActivity;
    //自定义一个广播接收器,用来接收应用程序退出广播.
    public class ExitAppReceiver extends BroadcastReceiver {
     @Override
     public void onReceive(Context context, Intent intent) {
      if (context != null) {
       if (context instanceof Activity) {
        ((Activity) context).finish();
       } else if (context instanceof FragmentActivity) {
        ((FragmentActivity) context).finish();
       } else if (context instanceof Service) {
        ((Service) context).stopSelf();
       }
      }
     }
    }

    BaseActivity:
    package com.example.appexitdemo;
    import android.app.Activity;
    import android.content.IntentFilter;
    import android.os.Bundle;
    //应用程序中所有Activity的基类
    public class BaseActivity extends Activity {
     private ExitAppReceiver exitReceiver = new ExitAppReceiver();
     // 自定义退出应用Action,实际应用中应该放到整个应用的Constant类中.
     private static final String EXIT_APP_ACTION = "com.micen.exit_app";
     @Override
     protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      registerExitReceiver();
     }
     private void registerExitReceiver() {
      IntentFilter exitFilter = new IntentFilter();
      exitFilter.addAction(EXIT_APP_ACTION);
      registerReceiver(exitReceiver, exitFilter);
     }
     private void unRegisterExitReceiver() {
      unregisterReceiver(exitReceiver);
     }
     @Override
     protected void onDestroy() {
      super.onDestroy();
      unRegisterExitReceiver();
     }
     @Override
     protected void onStart() {
      super.onStart();
     }
     @Override
     protected void onStop() {
      super.onStop();
     }
    }


    在App退出方法中添加以下发送广播代码即可:
    Intent intent = new Intent(); 
    intent.setAction(EXIT_APP_ACTION);
    sendBroadcast(intent);

    展开全文
  • App 安全退出

    千次阅读 2018-06-07 09:49:32
    // TODO 还没开始呢,稍等片刻

    // TODO
    还没开始呢,稍等片刻

    展开全文
  • uni-app 退出app操作

    千次阅读 2020-03-31 10:00:35
    uni-app 退出app //安卓退出 // #ifdef APP-PLUS if (plus.os.name.toLowerCase() === 'android') { plus.runtime.quit(); } else{ const threadClass = plus.ios.importClass("NSThread"); const ...

    uni-app 退出app

    //退出app
    // #ifdef APP-PLUS
    	 if (plus.os.name.toLowerCase() === 'android') {
    		 plus.runtime.quit();
    	 }
    	 else{ 
    		 const threadClass = plus.ios.importClass("NSThread");
    		 const mainThread = plus.ios.invoke(threadClass, "mainThread");
    		 plus.ios.invoke(mainThread, "exit");
    	 }
    	// #endif
    
    展开全文
  • Android App退出检测

    万次阅读 2017-03-20 20:05:59
    app退出检测是很难的,但是获取app“要退出”的状态就容易多了,退出的瞬间并不是真的退出了,ActivityManager要销毁activity,也需要一些时间和资源的。 先见下面的运行效果: gif做的比价粗啊, 两个activity...

    app的退出检测是很难的,但是获取app“要退出”的状态就容易多了,退出的瞬间并不是真的退出了,ActivityManager要销毁activity,也需要一些时间和资源的。
    先见下面的运行效果:
    这里写图片描述

    gif做的比价粗啊,
    两个activity的界面就不介绍了,主要是在APP启动的时候开启一个服务,application代码如下:

    public class MyApplication extends Application {
        @Override
        public void onCreate() {
            super.onCreate();
            Intent intent=new Intent(this,CheckExitService.class);
            getApplicationContext().startService(intent);
        }
    }
    

    service的代码如下:

    public class CheckExitService extends Service {
    
        private String packageName = "test.minwenping.com.appexitdemo";
    
    
        @Nullable
        @Override
        public IBinder onBind(Intent intent) {
            return null;
        }
    
        @Override
        public void onTaskRemoved(Intent rootIntent) {
            super.onTaskRemoved(rootIntent);
            Toast.makeText(CheckExitService.this, "App要退出了", Toast.LENGTH_SHORT).show();
        }
    
        //service异常停止的回调
        @Override
        public int onStartCommand(Intent intent, int flags, int startId) {
            ActivityManager activtyManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
            List<ActivityManager.RunningAppProcessInfo> runningAppProcesses = activtyManager.getRunningAppProcesses();
            for (int i = 0; i < runningAppProcesses.size(); i++) {
                if (packageName.equals(runningAppProcesses.get(i).processName)) {
                    Toast.makeText(this, "app还在运行中", Toast.LENGTH_LONG).show();
                }
            }
            return START_NOT_STICKY;
        }
    
        @Override
        public void onCreate() {
            super.onCreate();
            Toast.makeText(CheckExitService.this, "App检测服务开启了", Toast.LENGTH_SHORT).show();
        }
    }
    

    还有尝试了守护线程,UI就只有一个线程,想从这方面下手,但是都失败了

    展开全文
  • 第一个问题:app退出时,让app在后台运行,类似于home键的功能,最小化 解决方法: public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { moveTaskToBack(false
  • android 完全退出app退出所有activity

    千次阅读 2017-03-15 17:15:27
    在编写android代码的时候,发现...于是自己实现了一种退出的方案,目前发现还不错,而且代码简单易懂。 主要还是利用activity中的onRestart()来实现,废话说直接上代码。 首先重写和配置 application  {CSDN:C
  • Android APP一键退出的方法总结分析

    千次阅读 2017-06-09 15:28:33
    本文出处: 炎之铠csdn博客:http://blog.csdn.net/totond ... 本文原创,转载请注明本出处! 前言——到底APP需不要退出功能 Google是推荐APP不需要退出功能的,因为只要把APP切到后台,系统的G
  • 用dephixe 10 开发苹果app,用模拟器调试时,退出程序,出现: Unsupporst platform service: Terminate。 程序代码: procedure THeaderFooterForm.Button15Click(Sender: TObject); begin Close; end; 请大神...
  • 如果APP需要后台驻留,用户返回到首页时会提示退出操作,我们可以不退出而是隐藏至后台,这样的话APP就会在后台运行,以下代码须写在main.js里面,弹出的内容可自定义设置。 let main = plus.android....
  • Android中实现App退出

    千次阅读 2016-01-21 17:32:45
    本次采用的方式是在Application中维持一个Stack,每当启动一个Activity,就将其添加到栈中,...当建立退出应用时,直接清空整个Stack,原理很清晰,直接看代码: public class MyApplication extends Application{ pri
  • App整体设置activity的进入退出动画

    千次阅读 2016-12-30 20:16:03
    App整体设置activity的进入退出动画 resources>    style name="AppTheme" parent="Theme.AppCompat">    item name="android:windowContentTransitions">trueitem>  item name="colorPrim
  • iOSiOS app 退出问题

    千次阅读 2016-04-29 18:10:57
    一般安卓app 会使用一个退出控件 ,但是这个退出控件  出现在苹果app上是相当傻的一件事情 exit和abort都是终止程序执行并退出的处理函数,其中exit是正常退出  abort是异常退出 退出时会出现错误信息,然后再...
  • 需求说明:在app每次进入前台进程或者退出界面时执行一些操作 实现思路:android官方库lifecycle中的ProcessLifecycleOwner类 步骤: 依赖 :下面依赖根据自己需要选择,一般使用第一次就好,如果想用ViewModel...
  • 各位大佬求教个问题,怎么实现点手机的实体的返回键不会退出程序只是回到桌面,我现在用WillPopScope监听到了返回键操作然后设置返回无效,但是知道怎么实现回到桌面。感谢。 ``` Future<bool> _...
  • Android 应用开发中,有一种场景,就是我们希望用户按 Back 键直接退出 Activity,而是希望应用隐藏到后台,类似于按 Home 键的效果。参考如下代码即可实现这样的效果: public boolean onKeyDown(int keyCode,...
  • uniapp同意使用,同意退出APP

    千次阅读 2020-07-02 16:37:04
    用户同意就会退出APP。同意了就跳转到首页。 那怎么才能判断用户下载APP,是否有同意使用呢。并且用户卸载重装后仍然会提示用户同意。 我们可以在用户点击同意时,保存一个关键词在本地。根据这个关键词是否存在...
  • 关于app退出的问题,完美退出方式

    万次阅读 2017-06-20 09:43:43
    实际开发中会有很多关于app退出问题,我个人比较常见的有两种: 一、双击退出 比如说我们在首页的时候需要一个双击退出的方法,点击第一次手机的返回键时提示:“再点一次退出应用”。之类的话语,我们可以这样...
  • 没有用System.exit(0);在activity的onDestroy里调用了toast.cancel();这个toast还是存在,怎么解决?![图片说明](https://img-ask.csdn.net/upload/201703/01/1488353790_235714.png)
  • ios在app退出程序

    千次阅读 2015-08-26 16:01:41
    其实这个方法早就知道,但是太久没用过,以至于潜意识中一直认为iOS程序只能通过home键退出退出程序只需要一条程序: exit(0); 不过这个退出的效果确实很差,感觉就是程序直接崩溃了,而不是开发者蓄意...
  • 进入app,发送消息,消息正常接收,连续2次back退出app后,收到极光推送消息,pushService进程存在,app主进程被杀。华为,魅族都能在相同条件下接收消息,**小米手机 收到消息** 针对小米手机分析分析: 1....
  • lua 退出APP

    千次阅读 2017-09-07 16:29:00
    os.exit() cc.Director:getInstance():endToLua() --lua退出程序代码
  • 由于需求变化,退出程序,需要后台运行程序,退出。 很简单,直接看代码: // finish(); 结束程序 // System.exit(0); 退出程序 修改成下面的代码 Intent home = new Intent(Intent.ACTION...
  • Android App 退出整个应用

    千次阅读 2016-12-15 13:42:20
    在做Android APP 过程中,有退出整个Project的功能,以下就是接受退出整个应用的操作:ActivityManager是用来管理记录每一个Activity,最后统一用来退出结束:public class ActivityManager { /** * 定义HashSet...
  • android自定义广播实现app完全退出

    千次阅读 2014-11-08 22:55:24
    完全退出应用程序是一个基本的能再基本的功能了,每个APP都会有这个功能,在java中这个功能很容易就实现了,这里就多说了,但在android里,却好像没有那么容易,查阅了网上相关的资料和博客,大概有以下几种方法: ...
  • 多说,直接贴代码,有不足之请留言指出。
  • 程序在运行过程中,可能会由于某种原因而被干掉或者自己崩溃掉,为了增加可靠性,一般的做法就是在系统启动之后,自动...import android.app.ActivityManager; import android.content.ComponentName; import androi...
  • 原理:在main里监听最外层返回键,然后通讯原生,执行 moveTaskToBack(false) 回到手机桌面不退出app 安卓文件里 MainActivity.java import android.os.Bundle; import io.flutter.app.FlutterActivity; import io...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 220,758
精华内容 88,303
关键字:

怎么设置app不退出