Sau reeding các ý kiến
Theo kinh nghiệm của tôi Samsung, cũng như HTC, là một trong những nhà sản xuất sửa đổi hệ điều hành Android theo những cách không thể đoán trước nhất. Họ thêm các chức năng và chế độ mới, chẳng hạn như tiện ích khởi chạy chuyển đổi 4G và "chế độ tiết kiệm năng lượng". Chúng sửa đổi các yêu cầu quyền đối với phương pháp SDK được ghi lại, tức là để bật bluetooth trên thiết bị Samsung, ứng dụng của bạn cần phải có và thêm quyền android.permission.BLUETOOTH
, trong khi cổ phiếu Android chỉ cần android.permission.BLUETOOTH_ADMIN
. Và còn nhiều hơn nữa.
Ngắn câu chuyện ngắn, như @RaghavSood đã chỉ ra, "chế độ tiết kiệm năng lượng" không phải là tính năng chính thức của AOSP và không có cách nào để phát hiện nó qua SDK chính thức. Có một cách có thể làm thế nào bạn có thể làm việc xung quanh nó mặc dù. Tôi tin rằng rất có thể ứng dụng của bạn hoạt động sai trong chế độ tiết kiệm năng lượng vì chế độ này tắt GPS. Bạn có thể xác nhận điều đó bằng cách định cấu hình chế độ tiết kiệm năng lượng trong cài đặt để tắt tính năng vô hiệu hóa GPS (không thể cụm từ này tốt hơn, xin lỗi) - first link from google with steps. Sau đó kiểm tra ứng dụng. Nó có hoạt động không? Nếu có, sau đó bạn đã rootcaused vấn đề và bây giờ công việc của bạn là để cho người dùng biết rằng ứng dụng của bạn sẽ không chạy mà không có GPS. Bạn có thể đặt một số mã vào ứng dụng của mình để phát hiện xem dịch vụ GPS có được bật hay không hiển thị hộp thoại cảnh báo nếu không. Mã trong hoạt động của bạn có thể trông giống như sau:
LocationManager lm = getSystemService(Context.LOCATION_SERVICE);
if(!lm.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
//Show a notification prompting user to switch on GPS.
}
Bạn thậm chí có thể phức tạp hơn và làm cho ứng dụng phát hiện nhà sản xuất thiết bị hiển thị thông báo tùy chỉnh trên tất cả các thiết bị Samsung.
Nguồn
2013-03-05 08:19:04
Bạn có ý nghĩa gì với 'Chế độ tiết kiệm năng lượng'? Ví dụ: –
@RaghavSood Trên Galaxy S4. thiết bị có 'Chế độ tiết kiệm điện' có thể được bật và chỉ khi điều này được bật, tôi có gặp sự cố khi nhận vị trí GPS từ Ứng dụng web. Nếu không phải chế độ tiết kiệm năng lượng, tôi có thể tìm hiểu xem ứng dụng có được phép sử dụng vị trí GPS không? – theiOSDude
AFAIK, đó không phải là tính năng AOSP chính thức, do đó, dường như SDK công khai sẽ không có phương pháp để quan sát nó. Samsung có thể đã thêm một API hoặc một tùy chọn cho các lớp Cài đặt, nhưng tôi không thể nói chắc chắn. –