android关闭指定的activity
来源:互联网 发布:淘宝网店好经营吗 编辑:程序博客网 时间:2024/06/08 11:21
我的应用场景是:
收到一条“抢单”的推送消息,就打开一个“待抢订单”的activity。当收到多条时,就开启了多个。这时,有的订单已经被别人抢了,就又收到一条推送,将已经被别人抢走的订单的activity关闭。
我的想法是:
在开启的activity的onCreate用HashMap来保存activity。当收到要关闭某个activity的时候,按照保存的key去找对应的activity。如果activity存在且activity没有被销毁,就将其关闭(activity.finish()),再移除HashMap的对应的值(remove(key))。如果activity已经被销毁,就直接移除remove(key) 。
用法:
activity的onCreate()调用:
//我是用订单id做的keyActivityUtils.getInstance().addActivity(model.getOrder_id(), this);
收到关闭activity的推送时:
ActivityUtils.getInstance().delActivity(model.getOrder_id());
最好在activity的onDestroy()方法中也调用:
ActivityUtils.getInstance().delActivity(model.getOrder_id());
这样activity已销毁就会移除HashMap的对应的值
下面是源码:
import java.util.HashMap;import java.util.Map;import android.app.Activity;/** * 添加、关闭指定key的activity * * @author android.mtj * */public class ActivityUtils { private static ActivityUtils activityUtils; private Map<String, Activity> activityMap = new HashMap<String, Activity>(); public static ActivityUtils getInstance() { if (activityUtils == null) { activityUtils = new ActivityUtils(); } return activityUtils; } /** * 保存指定key值的activity(activity启动时调用) * * @param key * @param activity */ public void addActivity(String key, Activity activity) { if (activityMap.get(key) == null) { activityMap.put(key, activity); } } /** * 移除指定key值的activity (activity关闭时调用) * * @param key */ public void delActivity(String key) { Activity activity = activityMap.get(key); if (activity != null) { if (activity.isDestroyed() || activity.isFinishing()) { activityMap.remove(key); return; } activity.finish(); activityMap.remove(key); } }}
阅读全文
1 0
- android 关闭指定的Activity
- android 关闭指定的activity
- android关闭指定的activity
- 关闭指定的Activity
- android开发中需要关闭指定activity的方法
- android 在activity里面关闭指定的页面
- 自行关闭指定Activity的方法
- Activity的关闭返回指定页面
- 在特定条件下关闭指定的Activity
- 在一个Activity中 关闭指定的Activity
- 【Android】Android开发之Activity的管理类,结束关闭指定的Activity,单例模式封装
- Android 关闭所有的Activity
- android 关闭所有的Activity
- Android Activity---关闭Activity
- Android Activity---关闭Activity
- 在WebView和Activity中关闭到指定的页面
- 关闭android程序里所有的activity
- 关闭android程序里所有的activity
- ImageView ScaleType详解
- zabbix安装部署教程
- [一天几个linux命令] linux shell数据重定向
- C语言排序算法
- 如何用springcloud找妹纸之13--- 历经千帆,归来仍少年(docker部署)
- android关闭指定的activity
- 高并发之多线程总结
- Ubuntu下Gearman安装搭建
- ubuntu安装tensorflow
- HTML表单及CSS[思维导图]
- 白话经典算法系列之九 从归并排序到数列的逆序数对(微软笔试题)
- jenkins日志文件体积过大问题
- 2017网易春招 魔力手环(矩阵快速幂)
- 移动端基本事件