2017-11-29 21 views
-1

오전 앱을 개발, 그래서 내가 코드를 아래안드로이드 롤리팝에 (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을 참조하십시오.