2 desireyaoo desireyaoo 于 2016.02.24 17:28 提问

请问大家 有什么方法能立即监控到手机上的任意一个app打开呢?

请问大家 有什么方法能立即监控到手机上的任意一个app打开呢?

2个回答

w89h06q22
w89h06q22   2016.03.01 20:54
已采纳

下面的代码可以实现获取当前最上层应用的包名,可以通过循环调用此方法来定时监听手机任意APP的打开
ActivityManager mActivityManager = ( ActivityManager ) mContext.getSystemService( Context.ACTIVITY_SERVICE );// 这句话不要反复调用
List< RunningTaskInfo > runningTasks = mActivityManager.getRunningTasks( 1 );
RunningTaskInfo runningTaskInfo = runningTasks.get( 0 );
ComponentName topActivity = runningTaskInfo.topActivity;
String packageName = topActivity.getPackageName();
Log.i( TAG, "startTopTaskListener packageName : " + packageName );

需要以下权限:

<uses-permission android:name="android.permission.GET_TASKS"/>
luochoudan
luochoudan   Ds   Rxr 2016.02.24 18:04

ActivityManager监听任务栈列表。启动的所有Activity在它里面都能查到。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!