2013-08-25 2 views
3

응용 프로그램이 시작되었는지 감지해야하며이를 달성하기위한 API가 없다는 것을 읽었습니다. 누군가가 로그를 읽고 폴링을 유지할 수있는 권한을 앱에 제공하겠다고 제안했지만 JB 이후이 솔루션은 작동하지 않습니다. 은 또한 그냥 알 필요가 있기 때문에 최고 응용 프로그램 변경에 다음 작업을 수행 할 수있는 경우 발견 :패키지 출시 검색 android

ActivityManager am = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE); 
String str = ((ActivityManager.RunningTaskInfo)am.getRunningTasks(1).get(0)).topActivity.getPackageName(); 

하지만이 지속적으로 폴링을 할 수있는 최선의 일, 그리고 것입니다 어떤 방법으로 알 필요가 - 물론 -이 작업을 수행 할 다른 방법이 있다면. 당신은 접근성 서비스를 사용할 수

+0

* 특정 * 활동이 시작되었거나 * 모든 * 활동 시작을 감지하려고하는지 확인 하시겠습니까? – Geobits

+0

또한, 어떻게 시작 되었습니까? 홈 화면에서 시작한 것과 최근 앱에서 시작한 것 사이의 차이점이 있습니다. – Geobits

+0

@Geobits 내 응용 프로그램은 모든 활동/응용 프로그램 시작을 모니터링해야하며 집이나 최근 응용 프로그램에서 시작되었는지 감지 할 수 있으면 좋을 것입니다. – Vektor88

답변

3

, 전경 응용 프로그램이 덜 볼 것을 보통 아니다 몇 초보다.

사용자가 어떤 응용 프로그램을 시작했는지 탐지하려고하는 경우 매초마다 폴링하여 표시하는 방법으로 목록을 폴링하는 백그라운드 서비스가 있으면 배터리가 정상적으로 작동하고 폴링은 시스템이 절전 모드로 들어가 자마자 중지됩니다.