시작 : 가지 내 질문에 대한 대답하지만 여전히 충분하지 Android, Detect when other apps are launched 및 Reliable way to detect application launch from home/desktop?.나는이 질문에 대한 유래를 검색하고 발견
나는 내가 장치의 사용자가 최근에 사용한 앱의 목록과 가장 많이 사용되는 응용 프로그램의 목록을 보여줍니다 위젯/응용 프로그램을 만들려면 을 수행 할 작업.
문제 가장 많이 사용되는 앱 목록을 작성하려면 어떻게 앱에 대한 정확한 데이터를 얻을 수 있습니까?
자료 정보 난 내 자신의 안드로이드 OS (4.2 기준) 코드를 컴파일하고
- 은 그래서 모두에 액세스 할 수 있습니다.
- 저는 런처도 개발 중입니다.
- CTS를 통과하고 Google이 승인해야합니다.
- 시스템 권한으로 앱을 만들 수 있습니다.
- 이것이 Google의 보안 문제 일 수 있음을 알고 있습니다.
일부 솔루션
최근 애플 리케이션
가 그래서 지금, ActityManager, getRecentApps 방법을 통해 문제를 찾을 수 있습니다.나는 다음과 같은 솔루션은 이미 발견이를 위해 웹을 검색하고있다 :
- activityManager, getRunningTasks 방법 매 X 초를 조회도 많은의를 사용하여 목록 (정확하지 않고 정보를 구축하기 위해 서비스를 사용 batery).
- 이 정보를 얻을 수있는 로그 캣을 사용하여 (나에게 해킹처럼 보인다는 시스템 권한이 필요)
- 변경 activityManager 자체 정보 (가능성이 가장 높은 CTS 테스트를 실패합니다)
- 를 사용하여 실행 프로그램을 제공하기 위해 실행 된 앱을 확인하는 방법 (다른 앱에서 실행 된 앱을 놓치지 마세요)
그 밖의 다른 정보는 없었습니까? 사전에
덕분에, 티아고 코스타
는
에게 당신을 꽤 4 가지 옵션 모두를 나열하는 데 많은 도움이되었습니다. 가장 좋아하는 사람은'(ActivityManager) this.getSystemService (ACTIVITY_SERVICE);를 사용하고 있습니다. – srf
답변 해 주셔서 감사 드리며, 나는 그들 모두를 시험해보고 어떤 것이 가장 잘 작동하는지 살펴 보겠습니다. 다시 한번 감사드립니다. –
logcat은 Android 4에서 작동하지 않습니다.2 권 이상인 경우 루트 권한이없는 경우 https://groups.google.com/forum/?fromgroups=#!topic/android-developers/6U4A5irWang – mattlaabs