2015-10-16 488 views
1

我需要能夠檢測當前的前臺應用程序。我目前使用下列內容:如何獲得應用程序權限權限.REAL_GET_TASKS正常工作

// get foreground app 
    ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); 
    List<ActivityManager.RunningAppProcessInfo> tasks = manager.getRunningAppProcesses(); 
    foregroundApp = tasks.get(0).processName; 

但隨着5.1.1 getRunningAppProcesses只返回我的應用程序的名字開始。

根據這個bug票我需要使用permission.REAL_GET_TASKShttps://code.google.com/p/android-developer-preview/issues/detail?id=2347

但這似乎並沒有工作,我怎麼拿到工作許可?我試過升級我的SDK。

回答

2

我該如何獲得該工作許可?

構建您自己的自定義ROM,使用與您的應用程序相同的簽名密鑰對ROM進行簽名,然後在設備上安裝ROM和應用程序。 REAL_GET_TASKS是一個signature級別的權限;它不能由普通的Android SDK應用程序持有。

+0

我明白了,所以我只能將它用於調試類型等目的。不是生產用途? – Andrew

+2

您只能在自定義設備上將它用於生產用途,在該設備上您不僅創建應用程序,還創建它們正在運行的Android的安裝。可能無論你試圖完成的目標是否被官方認爲是不受歡迎的(至少對於第三方來說都是如此),這就是爲什麼它被阻止的原因。 –