2016-09-12 9 views
0

私は、使用中の現在実行中のアプリケーションを表示することを目標とするアンドロイドプログラムを持っています。私も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"をdelcaringすることで、ユーザがアクセシビリティサービスの設定を有効にしてwindowStateChangedイベントを受け取る必要があります。

ここでアクセシビリティサービスの詳細について読むことができます:https://developer.android.com/reference/android/accessibilityservice/AccessibilityService.html

関連する問題