本帖最后由 u012365618 于 2014-07-04 17:20:34 编辑

解决方案 »

  1.   

    如果你只是想获取当前运行的进程那就直接用ActivityManager来获取;
    如果你是想实时监听打开应用的过程,你可以监听log里ActivityManager   start 的事件,logcat里可以看到
      

  2.   

    你好,我现在在测试监听log,我已经可以监听到应用本身里打印出的log了,可是就是监听不到ActivityManager的Tag是怎么回事呢
      

  3.   

    我这样写可以么
     Process mLogcatProc = null;  
     BufferedReader reader = null;    try {            //获取logcat日志信息        mLogcatProc = Runtime.getRuntime().exec(new String[] { "logcat","ActivityManager:I *:S" });        reader = new BufferedReader(new InputStreamReader(mLogcatProc.getInputStream()));        String line;        while ((line = reader.readLine()) != null) {            if (line.indexOf("cat=[android.intent.category.HOME]") > 0) {                //logcat打印信息在这里可以监听到  
              System.out.println("------it's home locat------");          }        }    } catch (Exception e) {        e.printStackTrace();    }  
      

  4.   

    擦,是log.i吧,你这样打印的么,,,
      

  5.   

    我这边"ActivityManager:I *:S"应该就是打印所有Tag为ActivityManager:I的啊,如果是别的的话是可以监听到打印的啊,你可以用我发的代码自己试着打印些东西监听,还是说ActivityManager的log打印监听有什么讲究?求教啊
      

  6.   


    你可以直接在logcat里看看这些信息,看看是哪个tag或者application的
      

  7.   


    你可以直接在logcat里看看这些信息,看看是哪个tag或者application的我这边打印出来Tag为ActivityManager的application是空的
      

  8.   


    你可以直接在logcat里看看这些信息,看看是哪个tag或者application的我这边打印出来Tag为ActivityManager的application是空的获取到ActivityManager的log后,如果有Start proc com.demo.ivms for activity com.demo.ivms/.activities.LoginActivity……这些内容就说明在打开应用了。当然这里的   com.demo.ivms 是你要监听的app包名, com.demo.ivms/.activities.LoginActivity 是这个app启动的activity
      

  9.   


    你可以直接在logcat里看看这些信息,看看是哪个tag或者application的我这边打印出来Tag为ActivityManager的application是空的获取到ActivityManager的log后,如果有Start proc com.demo.ivms for activity com.demo.ivms/.activities.LoginActivity……这些内容就说明在打开应用了。当然这里的   com.demo.ivms 是你要监听的app包名, com.demo.ivms/.activities.LoginActivity 是这个app启动的activity我现在的问题是,我在log有看到START了,可是我的log监听却没效果,Tag应该是没问题的啊,是我监听方法不对么
      

  10.   


    你可以直接在logcat里看看这些信息,看看是哪个tag或者application的我这边打印出来Tag为ActivityManager的application是空的获取到ActivityManager的log后,如果有Start proc com.demo.ivms for activity com.demo.ivms/.activities.LoginActivity……这些内容就说明在打开应用了。当然这里的   com.demo.ivms 是你要监听的app包名, com.demo.ivms/.activities.LoginActivity 是这个app启动的activity我现在的问题是,我在log有看到START了,可是我的log监听却没效果,Tag应该是没问题的啊,是我监听方法不对么你检查下是不是监听到的 一点数据都没有,没有的话,那记得加权限 <uses-permission android:name="android.permission.READ_LOGS"/>
      

  11.   


    你可以直接在logcat里看看这些信息,看看是哪个tag或者application的我这边打印出来Tag为ActivityManager的application是空的获取到ActivityManager的log后,如果有Start proc com.demo.ivms for activity com.demo.ivms/.activities.LoginActivity……这些内容就说明在打开应用了。当然这里的   com.demo.ivms 是你要监听的app包名, com.demo.ivms/.activities.LoginActivity 是这个app启动的activity我现在的问题是,我在log有看到START了,可是我的log监听却没效果,Tag应该是没问题的啊,是我监听方法不对么你检查下是不是监听到的 一点数据都没有,没有的话,那记得加权限 <uses-permission android:name="android.permission.READ_LOGS"/>我大概发现问题出在哪里了,我现在一般都是用4.4在测试,我的代码在4.4机子上只能监听到应用本身application的log,但是一样的代码我用4.3的就可以监听到应用开启的log,晕死,那我4.4的怎么办??这个方法在4.4竟然无效...求救啊,纠结了好久了这个问题