Tôi đang làm việc với Geofence API Sample application Tôi đã chạy ứng dụng và dường như hoạt động tốt. Tôi đã thực hiện các sửa đổi để nó sử dụng BroadcastReceiver thay vì IntentService.Ứng dụng mẫu Android Geofencing chỉ hoạt động nếu một ứng dụng khác đang mở bằng GPS
Nhưng tôi sẽ chỉ nhận được thông báo nếu tôi có một số ứng dụng khác đang mở đang sử dụng GPS như Maps hoặc ứng dụng GPS Tester.
Nếu tôi không có một trong các ứng dụng đó đang mở và tôi đi bộ vào khu vực địa lý, không có gì xảy ra. Nhưng ngay sau khi tôi khởi động một trong số họ, tôi sẽ nhận được thông báo trong vòng vài giây.
Bạn có gặp phải sự cố tương tự với ứng dụng gốc chưa được sửa đổi không? Hay điều này liên quan đến sự thay đổi của bạn khi sử dụng một 'BroadcastReceiver'? Và, nếu có, khi bạn nói "nhận thông báo", bạn thử nghiệm cụ thể như thế nào? – CommonsWare
@CommonsWare Có kết quả tương tự với ứng dụng chưa sửa đổi (lưu ý rằng tôi phải thêm thẻ meta-data vào tệp kê khai ứng dụng để làm cho nó chạy hoàn toàn. Đó là thay đổi duy nhất từ cách tôi tải xuống). Tôi thực sự chuyển sang máy thu phát vì tôi đang tìm kiếm để khắc phục sự cố này và tìm thấy một loạt các đề xuất mà Người nhận đã giúp mọi người nhận được cuộc gọi lại địa lý hoạt động nhất quán hơn. Mã mẫu (và bộ nhận của tôi) gửi một thông báo tới thanh thông báo khi kích hoạt bộ đếm địa lý kích hoạt. Vì vậy, thử nghiệm duy nhất của tôi là liệu tôi có nhận được thông báo đó hay không. – FoamyGuy
Nếu bạn đang đi bộ vào khu vực địa lý, hãy thử xác định một khu vực lớn hơn và ở trong một phương tiện di chuyển. Tôi sẽ ngạc nhiên nếu một geofence đăng ký sẽ kích hoạt nhiều hoạt động GPS dựa trên phong trào hạn chế, và các nhà cung cấp mạng có thể là quá không chính xác cho một khu vực địa lý nhỏ. – CommonsWare