2015-09-22 82 views
4

我在ActivityManager的Android手机(Nexus 5)上收到警告消息。它似乎不是来自任何特定的应用程序。它会持续显示约2秒。任何人都知道这是为什么发生?或者我应该看看以了解更多信息?ActivityManager不支持REAL_GET_TASKS警告

enter image description here

+0

找出谁是10078。我不确定这是应用程序的进程ID还是应用程序的用户ID,尽管我怀疑它是后者。 – CommonsWare

+0

我无法找到PID为10078的任何进程(通过使用“adb shell ps”找到所有进程)。我如何找到应用的用户ID? – user3058866

+0

那么,蛮力的方式就是编写一个实用程序,它通过'PackageManager'遍历所安装的应用程序,因为您可以通过这种方式获得它们的UID。我认为有一个更简单的解决方案,但我不知道它是什么在我头上。如果该值始终为10078(根据您对一个答案的评论),如果它来自普通的Dalvik应用程序,那么它确实不太可能是PID,因为我们的流程并不会永远存在。 – CommonsWare

回答

-1

看起来像一个应用程序使用许可,这是弃用棒棒糖GET_TASKS:http://developer.android.com/reference/android/Manifest.permission.html#GET_TASKS

该错误指定REAL_GET_TASKS来代替,并有关于这个问题的bug报告(虽然我”米不花时间,看看它的确切同样的问题):https://code.google.com/p/android-developer-preview/issues/detail?id=2347

对不起(我现在看着它),10078是根据代码的UID:

private boolean isGetTasksAllowed(String caller, int callingPid, int callingUid) { 
... 
if (!allowed) { 
    Slog.w(TAG, caller + ": caller " + callingUid 
    + " does not hold GET_TASKS; limiting output"); 
} 

https://github.com/android/platform_frameworks_base/blob/master/services/core/java/com/android/server/am/ActivityManagerService.java

来电者是ActivityManager的方法:http://developer.android.com/reference/android/app/ActivityManager.html#getRunningAppProcesses%28%29

我不知道10078 UID实际上是你的设备上。你可以尝试'adb shell'然后'id',并希望它显示出来。

+0

今天再次插入我的手机。该警告仍然与调用者仍然是10078. Ran“adb shell ps”在命令提示符下,并没有看到任何具有该PID的进程。 http://i.imgur.com/3qiWQRu.png – user3058866

+0

更新我的答案,因为它实际上是一个UID。 – CmosBattery

+0

再次插入电话,仍然获得10078号码。我没有看到任何与该ID的adb外壳: http://i.imgur.com/urk45G8.png – user3058866

相关问题