最简单的方法是使用adb去看,但是这个每次切换一次,就得手动一次,于是做了个自动的简单工具
原理:工具后台运行一个服务,不停的去查看当前acivity栈栈顶的activity,并将其使用logcat打印出来。
服务部分代码:
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.os.Handler;
import android.os.IBinder;
public class myService extends Service{
ActivityManager activityManager=null;
Handler handler=new Handler();
String activity=null;
String activity_last=null;
Runnable runable=new Runnable()
{
@Override
public void run() {
List<RunningTaskInfo>runningTaskInfo=activityManager.getRunningTasks(1);
activity=(runningTaskInfo.get(0).topActivity).toString();
if(!(activity.equals(activity_last)))
{
System.out.println("当前activity是"+activity);
activity_last=activity;
}
handler.postDelayed(runable, 10);
}
};
public void onStart(Intent intent, int startId) {
handler.postDelayed(runable, 10);
};
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
activityManager=(ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
}
@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return null;
}
} activity部分就两个个按钮,用来启动或者停止服务。
将这个小工具安装到测试手机上,连接上eclipse,每次手机切换activity就会把当前的activity名反馈到logcat上。
|