在Android中,有没有办法让电池充电?

时间:2013-05-27 03:27:51

标签: android battery

BatteryManager类没有当前的指标: http://developer.android.com/reference/android/os/BatteryManager.html

然后我发现这篇文章: Getting the battery current values for the Android Phone 似乎作者还发现不可能从Linux条目中获得这样的价值。

我还将名为CurrentWidget的小部件下载到我的Nexus 7中。对于当前值,它显示“无数据”。

因此可能需要一个电流传感器才能获得当前值,而某些Android系统只是没有这样的传感器。那么android系统如何知道当前的电池电量?也许只会用电池的电压来推断(放电期间电压会下降)?但那时它会非常粗糙。有人说有一些“技巧”用于估算电池电量而没有Android中的当前值(可能基于电压?)。有没有参考?

PS:出于某种原因,我知道当前的价值可以记录在iphone 3GS上

1 个答案:

答案 0 :(得分:1)

尝试此代码,可能会对您有所帮助:

private BroadcastReceiver mBatInfoReceiver = new BroadcastReceiver(){
      @Override
      public void onReceive(Context arg0, Intent intent) {
        // TODO Auto-generated method stub
          //this will give you battery current status
        int level = intent.getIntExtra("level", 0);

        contentTxt.setText(String.valueOf(level) + "%");

        int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
        textView2.setText("status:"+status);
        boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||
                            status == BatteryManager.BATTERY_STATUS_FULL;
        textView3.setText("is Charging:"+isCharging);
        int chargePlug = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1);
        textView4.setText("is Charge plug:"+chargePlug);
        boolean usbCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_USB;

        boolean acCharge = chargePlug == BatteryManager.BATTERY_PLUGGED_AC;
        textView5.setText("USB Charging:"+usbCharge+" AC charging:"+acCharge);

      }
    };
主要类中的

使用:

注册
 this.registerReceiver(this.mBatInfoReceiver, 
          new IntentFilter(Intent.ACTION_BATTERY_CHANGED));