您的位置:首页 > 移动开发

企业级Android Application Activity管理

2016-08-03 00:00 323 查看
摘要: 张亚龙,于2012-9-18在OSchina发表,现在换账号,重新发表

第一步:新建App.java继承Application

package com.sk.activity;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.app.Application;

public class App extends Application {

public List<Activity> activities=new ArrayList<Activity>();

}

第二步:AndroidManifest.xml(注意:application下android:name=".App"属性的配置,引入第一步的App.java)

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.sk.activity"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk android:minSdkVersion="8" />
<!-- 适配大小 -->
<supports-screens android:anyDensity="true" />

<uses-permission android:name="android.permission.INTERNET" />

<application
android:icon="@drawable/icon"
android:label="@string/app_name"
android:name=".App" >
<activity
android:label="@string/app_name"
android:name=".LoginActivity"
android:theme="@android:style/Theme.NoTitleBar" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:label="@string/app_name"
android:name=".RegisterActivity"
android:theme="@android:style/Theme.NoTitleBar" >
</activity>
</application>

</manifest>

第三步:每个Activity中的做法如下:

首先:onCreate()方法里边:
App app = (App) getApplicationContext();// 获取应用程序全局的实例引用
app.activities.add(this); // 把当前Activity放入集合中

然后:onDestroy()方法里边做法:
@Override
protected void onDestroy() {
super.onDestroy();
App app = (App) getApplication();// 获取应用程序全局的实例引用
app.activities.remove(this); // 把当前Activity从集合中移除
}

最后:在程序中需要结束时的做法:
List<Activity> activities = app.activities;
for (Activity act : activities) {
act.finish();// 显式结束
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息