第1行コードactivity追記
1740 ワード
アクティビティの管理(activity):
すべてのアクティビティ(activity)を管理するための専門的なコレクションを作成します.簡単な例:
public class ActivityCollector {
public static List activities = new ArrayList();
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();
}
}
}
}
そしてBaseActivityで呼び出す
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActivityCollector.addActivity(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
ActivityCollector.removeActivity(this);
}
アプリケーションを直接終了する必要がある場所で使用
ActivityCollector.finishAll();
もちろん、すべてのアクティブなコードを破棄した後、現在のプロセスを殺したコードを加えて、プログラムが完全に終了することを保証することもできます.
アクティビティの開始
各アクティビティにactionStart()メソッドを追加し、このメソッドでジャンプを実現し、アクティビティに必要なデータはすべてメソッドパラメータに反映されます.例:
public class TestActivity extends BaseActivity() {
public static void actionStart(Context context, String data1, String data2) {
Intent intent = new Intent(context, TestActivity .class);
intent.putExtra("param1", data1);
intent.putExtra("param2", data2);
context.startActivity(intent);
}
......
}
TestActivityアクティビティを開始すると、次のようになります.
TestActivity.actionStart(context, "data1", "data2");