我正在尝试检测(如果可能)来自充电器/usb的安培数。获取intent extra - EXTRA_VOLTAGE会帮助我实现这一点吗?有时USB产生不同的安培-1000 and,有时甚至更少。我怎么知道安培数?
谢谢!
发布于 2011-06-13 20:31:06
是的,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充电宝,2充电器
发布于 2011-06-13 20:27:52
你必须使用接收器并像这样在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>在reciver文件中
@Override
public void onReceive(Context context, Intent intent) {
if("android.intent.action.EXTRA_VOLTAGE".equals(intent.getAction()))
{
}
}https://stackoverflow.com/questions/6330319
复制相似问题