2017-11-29 14 views
-1

の上に、私が一番上に、現在実行中のアプリを認識する必要があるアプリケーションを開発していますので、私はコードAndroidのロリポップ(5.0)で現在実行中のアプリの情報を取得し、

ActivityManager am = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE); 

    // get the info from the currently running task 
    List<ActivityManager.RunningTaskInfo> taskInfo = am.getRunningTasks(1); 

    ComponentName componentInfo = taskInfo.get(0).topActivity; 
    if(!componentInfo.getPackageName().equals("your.package.name")) 
    { 
     //Do your stuff 
    } 

が、そのが動作していない以下に試してみましたAndroid Lollipop(5.0)以降では、現在実行中のアプリ情報を返しません。

誰かがandroid lollipop(5.0)以上でこれを行うことをお考えの場合は、お手伝いください。

ご協力いただければ幸いです。

+0

参照:https://stackoverflow.com/questions/26400469/alternative-to-getrunningtasks-in-android-l – ManmeetP

答えて

0

これを達成するには、UsageStatsManagerクラスを使用する必要があります。それにはandroid.permission.PACKAGE_USAGE_STATSが必要です。しかし、developer guideでは以下のように記載されています。

注:このAPIには、システムレベルのアクセス許可であり、サードパーティ製のアプリケーションには付与されない、android.permission.PACKAGE_USAGE_STATSというアクセス許可が必要です。ただし、許可を宣言することはAPIを使用する意図を意味し、デバイスのユーザーは設定アプリケーションを通じて許可を与えることができます。

これは、ユーザーが[設定]> [セキュリティ]> [アプリケーションにアクセス]を使用してこのアプリのアクセスを有効にする必要があることを意味します。

詳細はhereを参照してください。

関連する問題