Mục đích của tôi là đã lưu trong Tùy chọn trạng thái hiện tại của cáp USB/nguồn thiết bị Android: đã kết nối/ngắt kết nối. Từ trang web dành cho nhà phát triển, tôi thấy rằng có hai Mục đích để có được trạng thái đó: ACTION_POWER_CONNECTED/DISCONNECTED. Vì vậy, tôi đã sử dụng cùng một mã như được xuất bản tại Nhà phát triển:Lấy cáp USB cắm vào/ra sự kiện bằng cách sử dụng EXTRA_PLUGGED không hoạt động
http://developer.android.com/training/monitoring-device-state/battery-monitoring.html
trong phần Monitor Những thay đổi trong Sạc Nhà nước.
Manifest
<receiver android:name=".PowerConnectionReceiver">
<intent-filter>
<action android:name="android.intent.action.ACTION_POWER_CONNECTED"/>
<action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"/>
</intent-filter>
</receiver>
mã Java
public class PowerConnectionReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
int chargePlug = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
boolean usbCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_USB;
boolean acCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_AC;
Toast.makeText(context, "pvr = " + usbCharge + ", " + acCharge + "," + isCharging, Toast.LENGTH_SHORT).show();
}
}
Khi tôi cắm cáp USB IN/OUT hơn phát sóng luôn được gửi một cách chính xác và bị bắt trong PowerConnectionReceiver nhưng luôn luôn với kết quả tương tự (= cáp được cắm ra).
Tôi đã thử nghiệm nó với Galaxy Nexus 4.1.1/4.2.1 - Tôi luôn nhận được 2xFALSE trong Bánh mì nướng (chargePlug = FALSE, usbCharge = FALSE).
Tại sao intent.getIntExtra (BatteryManager.EXTRA_PLUGGED, -1) luôn trả về giá trị mặc định "-1"?
Cảm ơn bạn.
ps. mọi thứ hoạt động tốt nếu tôi đăng ký bộ nhận trong Java
Intent intent = context.registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
... trong Dịch vụ hoặc trong hoạt động. Nhưng theo trang web của Nhà phát triển Android, điều này không phải là điều kiện tiên quyết để tạo mã ở trên để trả lại giá trị chính xác;
Tôi tự hỏi liệu điều này có liên quan gì đến những vấn đề này không? [This] (http://code.google.com/p/android/issues/detail?id=25701) & [This] (http://code.google.com/p/android/issues/detail?can = 2 & bắt đầu = 0 & num = 100 & q = & colspec = ID% 20Type% 20Status% 20Owner% 20Summary% 20Stars & groupby = & sort = & id = 25703) – TronicZomB