我试图检测(如果可能的话)来自充电器/ usb的安培数。 获得额外的意图 - EXTRA_VOLTAGE将帮助我实现这一目标? 有时USB会产生不同的电流强度 - 1000mA,有时甚至更低。我怎么知道安培数?
谢谢!
答案 0 :(得分:3)
是的,ACTION_BATTERY_CHANGED是一个粘性广播
this.registerReceiver(this.batReceiver,
new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
private BroadcastReceiver batReceiver = new BroadcastReceiver(){
@Override
public void onReceive(Context arg0, Intent intent) {
int voltage = intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE, 0);
int source = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, 0);
}
};
您似乎希望充电器源使用EXTRA_PLUGGED 0用于电池,1用于AC,2用于USB
答案 1 :(得分:0)
你必须在android清单文件
中使用接收器并进行初始化 <receiver android:name=".reboot" android:enabled="true"
android:exported="false" android:label="StartServiceAtBootReceiver">
<intent-filter>
<action android:name="android.intent.action.EXTRA_VOLTAGE" />
</intent-filter>
</receiver>
@Override
public void onReceive(Context context, Intent intent) {
if("android.intent.action.EXTRA_VOLTAGE".equals(intent.getAction()))
{
}
}