2015-09-22 100 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

相關問題