android-管理activity,随时随地退出Activity
2015-04-02 22:28
295 查看
ActivityController.java
AndroidManifest.xml
package com.wang.startmethod; import java.util.ArrayList; import java.util.List; import android.app.Activity; public class ActivityController { public static List<Activity> activities = new ArrayList<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(); } } } }BaseActivity.java管理Activity
package com.wang.startmethod; import android.app.Activity; import android.os.Bundle; import android.util.Log; //知晓当前是哪一个活动 public class BaseActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.d("BaseActivity===", getClass().getSimpleName()); ActivityController.addActivity(this); } @Override protected void onDestroy() { super.onDestroy(); ActivityController.removeActivity(this); } }ThirdActivity.java测试关闭所有activity
package com.wang.startmethod; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.view.Window; import android.widget.Button; public class ThirdActivity extends BaseActivity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.d("ThirdActivity===", this.toString()); Log.d("ThirdActivity===", "Task id is "+getTaskId()); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.third_layout); Button button = (Button) findViewById(R.id.button3); button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { ActivityController.finishAll(); } }); } }third_layout.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <Button android:id="@+id/button3" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Back" /> </LinearLayout>
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.wang.startmethod" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.wang.startmethod.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.wang.startmethod.ThirdActivity" android:label="@string/app_name" > </activity> <activity android:name="com.wang.startmethod.BaseActivity" android:label="@string/app_name" > </activity> </application> </manifest>
相关文章推荐
- Android用单列模式来管理Activity,并实现完全退出
- Android 应用程序Activity管理类:用于Activity管理和应用程序退出
- android中Activity的管理及程序的退出
- android完美退出程序(创建单例管理所有打开的activity)
- android 完美退出APP的实例代码(管理activity)
- android中Activity的管理及程序的退出
- Android 应用程序退出和Activity的管理
- Android Activity管理类,管理Activity和退出应用
- android 关闭和管理所有的ACTIVITY或者是SERVICES 或者是广播
- android退出所有Activity
- Android源码学习之二-Activity如何管理对话框
- Android结束Activity退出程序的一种有效方法
- android退出程序——把activity添加到list,退出时finish()掉所有的activity
- Android源码学习之二-Activity如何管理对话框
- 使用自定义的Activity栈来管理android的Activity
- android activity退出的时候,强制停止
- android要把用到的activity写在AndroidManifest.xml中,否则程序异常退出
- android程序退出当前activity的方法
- Android Activity生命周期管理
- Android中包含多个Activity的应用退出按钮实现