您好我正在尝试在安装后跟踪某个应用。我想在他们开始时获得应用程序的信息。
它就像AppLock
个应用程序一样,当我打开一个我激活锁定的应用程序时,它会知道我们activity
输入密码。
实现这一目标
我已经提供了一项服务,并在1秒的时间间隔内进行了一次无限循环,以跟踪运行中的应用程序,但它确实在几个小时内耗尽了我的电池。 AppLock
以一种很好的方式做到了这一点,这就是为什么它不能快速耗尽电池的原因。
我知道我目前的逻辑非常糟糕:
while(true) {
final ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
final List<RunningTaskInfo> recentTasks = activityManager.getRunningTasks(Integer.MAX_VALUE);
Log.d("Executed app", "Application executed : " +recentTasks.get(0).baseActivity.toShortString()+ "\t\t ID: "+recentTasks.get(0).id+"");
Thread.sleep(1000);
}
如何以有效的方式完成此操作,例如AppLock
app?
答案 0 :(得分:0)
有一个名为android.intent.action.PACKAGE_RESTARTED
的行动。
所以添加一个像
这样的广播接收器 <receiver android:name="your.package.PackageRestartedReceiver">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_RESTARTED"/>
<data android:scheme="package"/>
</intent-filter>
</receiver>
添加onRecive
功能,您就可以了。