기기가 부팅되는 동안 백그라운드에서 실행되는 위치 서비스가 있습니다. LocationManager requestLocationUpdate 메서드를 호출하여 네트워크 및 GPS 공급자 업데이트를 요청했지만 위치 서비스를 사용하거나 사용하지 않도록 설정하여 내 위치 설정 페이지를 변경하면 onProviderEnabled 또는 ProviderDisabled가 호출되지 않습니다. 따라서 사용자가 위치 설정을 변경할 때마다 내 백그라운드 서비스가 어떻게 알림을받을 수 있는지 알고 싶습니다. 브로드 캐스트 메시지를 캐시하는 리시버 모드에서이를 수행 할 수 있습니까?android : 사용자가 내 위치 설정 위치 서비스를 사용 또는 사용 중지 할 때 알림을받는 방법
답변
예, 서비스에서 GPS 방송을 수신 대기하는 확장 BroadcastReceiver 클래스를 구현할 수 있습니다. GPS가 켜지거나 꺼지더라도 onProviderEnabled() 메소드를 호출하지 않고 GpsStatus.OnGpsStatusChanged() 메소드를 호출합니다.
GPS_EVENT_STARTED GPS_EVENT_STOPPED
브로드 캐스트 수신기를 구현하는 방법에 BroadcastReceiver API를 참조하십시오
는 GPS가 변경 될 때 전송 된 방송은 이벤트 값이 있습니다.
John이 답을 주셔서 감사합니다. 그러나 언급 한 방법은 GPS 설정에만 사용되며, 사용자가 네트워크 제공 업체 만 활성화하면 어떻게됩니까? – user591387
gps 설정 변경은 이제 감지 될 수 있지만 네트워크 하나는 감지되지 않습니다. – user591387
네트워크 제공 업체가 사용 또는 사용 중지 될 때를 감지하려면 ConnectivityManager 클래스를 사용해야합니다. http://developer.android.com/reference/android/net/ConnectivityManager.html 브로드 캐스트를 전송합니다. CONNECTIVITY_ACTION 상수는 다른 네트워크가 변경 될 때 알려주는 반면, 모바일 네트워크가 비활성화되면 String 상수 ACTION_BACKGROUND_DATA_SETTING_CHANGED를 사용합니다. 더 자세한 정보를 찾으려면 ConnectivityManager의 메서드를 사용해야합니다. –
- 1. iPhone 시뮬레이터에서 위치 서비스를 사용 중지 하시겠습니까?
- 2. 위치 서비스가 사용 중지 된 위치가 표시됩니다.
- 3. 위치 서비스를 끄는 방법? 사용자가 위치 서비스에있는 경우
- 4. 내 앱에서 위치 서비스 사용 여부 확인
- 5. 대역폭 사용 위치 찾기
- 6. Android ListActivity 시작 위치 설정
- 7. 처음 Android 앱을로드 할 때 빠른 위치 업데이트 방법
- 8. 시뮬레이터에서 실제 위치 서비스 사용
- 9. 람다 식 사용 위치
- 10. Android App - OpenFeint 알림 위치 설정 방법
- 11. web.config에서로드 할 DLL의 위치 설정
- 12. Android에서 위치 수신기 중지
- 13. 서비스 위치 지정자로 Autofac 사용
- 14. Android : 일반 사용 사용자가 검색
- 15. 사용자 위치 감지를위한 위치 정보 대체 방법
- 16. Android : 위치 관리자의 위치 업데이트 빈도
- 17. iPod Touch의 응용 프로그램 내에서 프로그래밍 방식으로 위치 서비스 사용
- 18. Android GPS 내 위치 찾기
- 19. iPhone 시뮬레이터 위치 서비스를 다시 사용 가능하게 함
- 20. 안드로이드가 위치 서비스를 사용하지 못하도록 설정하면 위치 서비스를 사용하도록 설정합니다.
- 21. Android : 내 파일 사용 방법
- 22. Android :=> 멀티 태스킹을 사용 중지 하시겠습니까?
- 23. 스피너 내의 위치 설정
- 24. 테이블의 위치 설정
- 25. locationServices viewDidLoad에서 사용 중지 된 테스트가 통과합니다.
- 26. 모바일 웹 : GPS 사용 중지시 사용자 위치 요청
- 27. Android 목록보기 애니메이션없이 기본 위치 설정
- 28. 내 그림의 위치
- 29. 모든 외래 키 사용 위치 확인
- 30. Android : Google지도 활동에 사용자 위치 설정
"장치를 부팅하는 동안 백그라운드에서 실행되는 위치 서비스가 있습니다." - 제발 하지마. 'requestLocationUpdates()'의'PendingIntent' 버전을 사용하거나'AlarmManager'과 my ['LocationPoller'] (https://github.com/commonsguy/cwac-locpoll) 같은 것을 사용하여 폴링하십시오. – CommonsWare
정직하게 말하자면, 백그라운드에서 지속적으로 실행되는 위치 서비스는 결코 좋은 생각이 아닙니다. GPS와 데이터는 가장 많은 배터리를 소모하는 2 가지 서비스이며,이 폴링을 계속 남겨두면 평소보다 약 4 ~ 5 배 빠릅니다. 이것을 구현하려는 경우 주기적으로 위치 업데이트를 폴링해야합니다. –