安卓测试中,如何知道当前的activity的名字?

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 16:27   2052   0

最简单的方法是使用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上。


分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP