android检测充电器的安培数

时间:2011-06-13 12:20:06

标签: android

我试图检测(如果可能的话)来自充电器/ usb的安培数。 获得额外的意图 - EXTRA_VOLTAGE将帮助我实现这一目标? 有时USB会产生不同的电流强度 - 1000mA,有时甚至更低。我怎么知道安培数?

谢谢!

2 个答案:

答案 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()))
    {
}
}