2011-09-23 39 views
7

Tôi đang viết một ứng dụng Android. Tôi muốn biết làm cách nào để kiểm tra xem điện thoại có đang sạc khi ứng dụng của tôi bắt đầu không?Làm cách nào để kiểm tra xem điện thoại Android có đang sạc hay không

Tôi đã đọc How to know if the phone is charging

Nhưng đăng ký này này chỉ và nhận được thông báo khi có sự thay đổi trong trạng thái sạc của điện thoại (từ sạc ngừng sạc hoặc ngược lại). Nhưng nếu điện thoại đang sạc khi ứng dụng của tôi bắt đầu, làm cách nào tôi có thể chi trả cho trường hợp đó?

Tôi đã tra cứu PowerManager và USBManager trong Android. Không có API cung cấp những gì tôi cần.

Cảm ơn bạn.

Trả lời

9

câu hỏi này cung cấp mã bạn có thể tìm kiếm: Event ACTION_POWER_CONNECTED is not sent to my BroadcastReceiver

Ngoài ra còn có một hành động ACTION_POWER_DISCONNECTED.

Câu hỏi này được nói rằng phát sóng là dính, vì vậy ngay cả có sẵn khi bạn bỏ lỡ buổi phát sóng: Android Battery in SDK

+0

Cảm ơn, nhưng không. Tôi cần biết nếu điện thoại đang sạc khi ứng dụng của tôi bắt đầu. Đăng ký bất kỳ ý định nào chỉ cho tôi biết khi tính phí thay đổi giai đoạn, nhưng nếu điện thoại đã được cắm và sạc thì sao? – michael

+0

Ahh, tôi hiểu rồi. Kiểm tra [bài đăng này] (http://stackoverflow.com/questions/1805895/android-battery-in-sdk/1805922#1805922). – Knickedi

+0

Cảm ơn bạn. Điều gì về trường hợp mà điện thoại được sạc đầy, nhưng nó được kết nối với một bộ chuyển đổi điện (usb)? Nói cách khác, điện thoại không thoát khỏi bất kỳ bột nào (vì nó được kết nối với nguồn điện) – michael

0

Nó đã trở thành đơn giản hơn nhiều API 23 trở đi, bạn có thể kiểm tra sử dụng một đối tượng của BatteryManger và gọi isCharging chức năng.

BatteryManager myBatteryManager = (BatteryManager) context.getSystemService(Context.BATTERY_SERVICE); 

public boolean isUSBCharging(){ 
    return myBatteryManager.isCharging(); 
} 

https://developer.android.com/reference/android/os/BatteryManager.html#isCharging()

Các vấn đề liên quan