현재 개발중인 응용 프로그램은 사용자가 현재 어떤 방식 으로든 어떤 응용 프로그램과 상호 작용하고 있는지 (그리고 여기에 악의적 인 의도가 없음) 알아야합니다. 즉, 항상 실행중인 앱 프로세스 및 서비스가 많지만 실제로는 일부만이 실제로 인스턴스화되거나 사용자가 모니터링합니다.Android : 응용 프로그램의인지 가능성
사용자가 실행중인 앱 프로세스 만 처리하고 싶습니다. 예를 들어 전경의 현재 앱과 배경에서 재생중인 음악 일 수 있습니다. 그러나 항상 실행중인 SetCPU,지도 및 키보드 서비스는 무시하고 싶습니다.
이 정보의 대부분은 특정 응용 프로그램의 RunningAppProcessInfo
인스턴스와 그 내에서 필드를 통해 확인할 수 있습니다. 포 그라운드에서 응용 프로그램의 경우 필드는 IMPORTANCE_FOREGROUND
으로 설정됩니다. 내 다른 조건 (음악 예제 1)에는 약간의 문제가 있습니다.이 시나리오를 완벽하게 처리 할 수있는 IMPORTANCE_PERCEPTIBLE
상수가 있지만 API 9 이상 (Gingerbread, 효과적으로)에만 해당됩니다. 안드로이드 소스를 정독 한 후에,이 특정 값은 안드로이드 OS에서 매우 낮은 레벨로 설정되어 있기 때문에 쉽게 다시 생성 할 수있는 것이 아닙니다.
거대한 텍스트 벽 뒤에 내 질문은 ...이 문제를 해결하려면 어떻게해야합니까? 나는 유순 한 서비스에서 뮤직 플레이어 (나는 단지 내가 생각할 수있는 유일한 예일 뿐이다)를 구별 할 수 있어야하지만 동시에 내 앱을 진저 브레드를 실행하는 사람들에게 강요 할 여유가 없다. 할 개발자는 무엇입니까?!
예 ... 저는 성취하려는 것을 구현하기 위해 비틀 거림이 없다는 결론을 얻었으므로이 배경에 해당하는 선택된 애플리케이션의 경우 사용자에게 경고 할 것입니다. - 그러나 적극적으로 사용되는 시나리오에서 내가 생산하는 것은 비뚤어 질 수 있습니다. 그러나 나는 어느 정도 여유가 있어도 앱을 완전히 무시하지 않기 위해 아이디어를 확실히 고려할 것입니다. –