1.知晓当前活动是哪一个活动,即Activity:
创建一个BaseActivity继承Activity,重写onCreate();方法,加上一句返回信息的代码:Log.d("BaseActivity",getClass().getSimpleName);
再将所有Activity继承BaseActivity,就可以看到当前界面是哪一个Activity了。
2.随时随地退出程序:
新建一个ActivityCollector类作为活动管理器,代码如下所示:
public class ActivityCollector {
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() ;
}
}
}
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() ;
}
}
}
}
在每个Activity中的onCreat()中使用ActivityCollector.addActivity(this);
onDestroy()方法中使用ActivityCollector.removeActivity(this);这样就可以将一个马上要被销毁的Activity从活动管理器中移除
要一键退出的话只要调用ActivityCollector.finishAll();就OK啦!
3.启动Activity的最佳写法:
public static void
actionStart(Context context
,String data1
,String data2){
Intent intent = new intent(context ,SecondActivity. class) ;
intent.putExtra( "param1" , data1) ;
intent.putExtra( "param2" , data2) ;
context.startActivity(intent) ;
Intent intent = new intent(context ,SecondActivity. class) ;
intent.putExtra( "param1" , data1) ;
intent.putExtra( "param2" , data2) ;
context.startActivity(intent) ;
}
启动Activity的现在只需一句话了,即SecondActivity.actionStart(FirstActivity.this,"data1","data2");
(其中FirstActivity是当前活动,SecondActivity是要启动的活动)
这样的好处就是可以一目了然地发现两个活动之间要传递的参数。0.0