2016-09-12 30 views
0

我有一個android程序,其目標是顯示當前正在使用的正在運行的應用程序。我的應用中還有一個BroadcastReceiverService以編程方式顯示當前正在運行的應用程序

但是,我的問題是,此代碼始終顯示我的項目包名稱,而不是當前正在運行的應用程序。

代碼:

ActivityManager mActivityManager = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE); 
List<ActivityManager.RunningAppProcessInfo> RAP= mActivityManager.getRunningAppProcesses(); 

    for(ActivityManager.RunningAppProcessInfo processInfo: RAP){ 
     Log.e("Process name ", "" + processInfo.processName); 
    } 

我跑棉花糖OS。任何幫助將不勝感激。謝謝!

回答

0

您可以使用AccessibilityService來確定當前正在運行的應用程序。

用戶需要在其設置中打開您的輔助功能服務才能使其工作,並且您需要通過在輔助功能服務聲明XML中刪除android:accessibilityEventTypes="typeWindowStateChanged"來接收windowStateChanged事件。

您可以在這裏閱讀更多關於AccessibilityServices的信息:https://developer.android.com/reference/android/accessibilityservice/AccessibilityService.html

相關問題