1.Activity间的数据传递:

Activity初窥门径

效果图:

Activity初窥门径

代码实例:https://download.csdn.net/download/weixin_41792420/10652379

2.多个Activity间的交互(后一个传回给前一个)

Activity初窥门径

代码实例:https://download.csdn.net/download/weixin_41792420/10652431

效果图

Activity初窥门径

 

 

3.知晓当前是哪个Activity

Activity初窥门径

 

4.随时关闭所有Activity

有时我们可能会打开了很多个Activity,突然来个这样的需求,在某个页面可以关掉 所有的Activity并退出程序!好吧,下面提供一个关闭所有Activity的方法, 就是用一个list集合来存储所有Activity!

 

 

具体代码如下:

public class ActivityCollector {  

    public static LinkedList<Activity> activities = new LinkedList<Activity>();  

    public static void addActivity(Activity activity)  

    {  

        activities.add(activity);  

    }  

    public static void removeActivity(Activity activity)  

    {  

        activities.remove(activity);  

    }  

    public static void finishAll()  

    {  

        for(Activity activity:activities)  

        {  

            if(!activity.isFinishing())  

            {  

                activity.finish();  

            }  

        }  

    }  

}  

 

 

 

5.完全退出App的方法

上面说的是关闭所有Activity的,但是有些时候我们可能想杀死整个App,连后台任务都杀死 杀得一干二净的话,可以使用搭配着下述代码使用:

实现代码:

/**

* 退出应用程序

*/  

public void AppExit(Context context) {  

    try {  

        ActivityCollector.finishAll();  

        ActivityManager activityMgr = (ActivityManager) context  

                .getSystemService(Context.ACTIVITY_SERVICE);  

        activityMgr.killBackgroundProcesses(context.getPackageName());  

        System.exit(0);  

    } catch (Exception ignored) {}  

}  

 

6.双击退出程序的两种方法:

1)定义一个变量,来标识是否退出

// 定义一个变量,来标识是否退出

private static boolean isExit = false;

Handler mHandler = new Handler() {

    @Override

    public void handleMessage(Message msg) {

        super.handleMessage(msg);

        isExit = false;

    }

};

 

public boolean onKeyDown(int keyCode, KeyEvent event) {

    if (keyCode == KeyEvent.KEYCODE_BACK) {

        if (!isExit) {

            isExit = true;

            Toast.makeText(getApplicationContext(), "再按一次退出程序",

                    Toast.LENGTH_SHORT).show();

            // 利用handler延迟发送更改状态信息

            mHandler.sendEmptyMessageDelayed(0, 2000);

        } else {

            exit(this);

        }

        return false;

    }

return super.onKeyDown(keyCode, event);}

2)保存点击时间:

//保存点击的时间

private long exitTime = 0;

public boolean onKeyDown(int keyCode, KeyEvent event) {

    if (keyCode == KeyEvent.KEYCODE_BACK) {

        if ((System.currentTimeMillis() - exitTime) > 2000) {

            Toast.makeText(getApplicationContext(), "再按一次退出程序",

                    Toast.LENGTH_SHORT).show();

            exitTime = System.currentTimeMillis();

        } else {

                        exit();

                      }

        return false;

    }

        return super.onKeyDown(keyCode, event);

}

 

 

 

 

 

 

相关文章:

  • 2021-07-30
  • 2021-09-14
  • 2021-08-21
  • 2021-10-22
  • 2022-01-24
  • 2022-12-23
  • 2021-10-21
  • 2021-10-01
猜你喜欢
  • 2021-10-24
  • 2022-12-23
  • 2022-02-21
  • 2021-06-07
  • 2021-12-13
  • 2021-10-21
  • 2021-06-20
相关资源
相似解决方案