2017-03-09 4 views
0

Android 5.0と7.0の2つのデバイスで現在実行中のタスクを取得しようとしています。現在実行中のパッケージを取得するandroid

mActivityManager =(ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); 
     if(Build.VERSION.SDK_INT > 20){ 
         mCurrentPackageName = mActivityManager.getRunningAppProcesses().get(0).processName; 
        } 
        else{ 
         mCurrentPackageName = mActivityManager.getRunningTasks(1).get(0).topActivity.getPackageName(); 
       } 

問題は、私は自分のアプリケーションパッケージを取得するということですが、私は別のアプリケーションを起動したときに私が手::

com.sec.android.app.launcher 

私は、Android 4.4で、それが正しく動作するため、これはなぜ起こるか疑問 私はこのコードを使用しました。

+0

彼女:http://stackoverflow.com/questions/30619349/android-5-1- 1-and-above-getrunningappprocesses-returns-my-application-packag –

+0

@ Mr.BlueそれはアンドロイドNをサポートしていません。 – morisson

答えて

0

チェックこの回答: Android 5.1.1 and above - getRunningAppProcesses() returns my application package only

このコードは私のために動作します:あなたは解決策を見つけることができます

if (Build.VERSION.SDK_INT < 22) { 
       runningAppProcesses = ((ActivityManager) getSystemService(ACTIVITY_SERVICE)).getRunningAppProcesses(); 
} else runningAppProcesses = ProcessManager.getRunningAppProcessInfo(this); 
関連する問題