-
向大家发一个Android Activity管理器,用于管理活动的Activity,可实现将一个activity添加到管理器、得到保存在管理器中的Activity对象、返回管理器的Activity是否为空、关闭所有活动的Activity除了指定的一个之外、移除Activity对象,如果它未结束则结束它、返回管理器中是否包含指定的名字,用于android开发时相当有用:
001packagecom.lurencun.cfuture09.androidkit.util.ui;002importjava.util.HashMap;003importjava.util.Set;004importandroid.app.Activity;005/**006* 一个Activity管理器管理活动的Activity。007* @author Geek_Soledad (66704238@51uc.com)008*/009publicclassActivityTaskManager {010privatestaticActivityTaskManager activityTaskManager =null;011privateHashMap<String, Activity> activityMap =null;012privateActivityTaskManager() {013activityMap =newHashMap<String, Activity>();014}015/**016* 返回activity管理器的唯一实例对象。017* @return ActivityTaskManager018*/019publicstaticsynchronizedActivityTaskManager getInstance() {020if(activityTaskManager ==null) {021activityTaskManager =newActivityTaskManager();022}023returnactivityTaskManager;024}025/**026* 将一个activity添加到管理器。027* @param activity028*/029publicActivity putActivity(String name, Activity activity) {030returnactivityMap.put(name, activity);031}032/**033* 得到保存在管理器中的Activity对象。034* @param name035* @return Activity036*/037publicActivity getActivity(String name) {038returnactivityMap.get(name);039}040/**041* 返回管理器的Activity是否为空。042* @return 当且当管理器中的Activity对象为空时返回true,否则返回false。043*/044publicbooleanisEmpty() {045returnactivityMap.isEmpty();046}047/**048* 返回管理器中Activity对象的个数。049* @return 管理器中Activity对象的个数。050*/051publicintsize() {052returnactivityMap.size();053}054/**055* 返回管理器中是否包含指定的名字。056*057* @param name058* 要查找的名字。059* @return 当且仅当包含指定的名字时返回true, 否则返回false。060*/061publicbooleancontainsName(String name) {062returnactivityMap.containsKey(name);063}064/**065* 返回管理器中是否包含指定的Activity。066* @param activity067* 要查找的Activity。068* @return 当且仅当包含指定的Activity对象时返回true, 否则返回false。069*/070publicbooleancontainsActivity(Activity activity) {071returnactivityMap.containsValue(activity);072}073/**074* 关闭所有活动的Activity。075*/076publicvoidcloseAllActivity() {077Set<String> activityNames = activityMap.keySet();078for(String string : activityNames) {079finisActivity(activityMap.get(string));080}081activityMap.clear();082}083/**084* 关闭所有活动的Activity除了指定的一个之外。085* @param nameSpecified086* 指定的不关闭的Activity对象的名字。087*/088publicvoidcloseAllActivityExceptOne(String nameSpecified) {089Set<String> activityNames = activityMap.keySet();090Activity activitySpecified = activityMap.get(nameSpecified);091for(String name : activityNames) {092if(!name.equals(nameSpecified)) {093finisActivity(activityMap.get(name));094}095}096activityMap.clear();097activityMap.put(nameSpecified, activitySpecified);098}099/**100* 移除Activity对象,如果它未结束则结束它。101* @param name102* Activity对象的名字。103*/104publicvoidremoveActivity(String name) {105Activity activity = activityMap.remove(name);106finisActivity(activity);107}108/**109* 结束指定的Activity110* @param activity111* 指定的Activity。112*/113privatefinalvoidfinisActivity(Activity activity) {114if(activity !=null&& !activity.isFinishing()) {115activity.finish();116}117}118}
一个Android Activity管理器,用于管理活动的Activity
Android Activity管理器
最新推荐文章于 2024-09-04 20:35:11 发布
本文介绍了一个用于Android开发的Activity管理器类,该类能够帮助开发者有效地管理应用中的多个Activity,包括添加、获取、检查状态、关闭等操作。
8859

被折叠的 条评论
为什么被折叠?



