手机耗电计算实时android电量值.pdf
有没有什么方法能够快速、实时的获取android的电量
值?
相机低电量启动时启动preview的时候会导致花屏。想到的解决方法是在相机启动
preview之前判断电量值,若是低电量就启动相机preview。这个就要求能在启动
preview之前快速的获得电量值。用广播的方式获取android电量值速度太慢
了。有没有什么好的方法能够迅速、实时的获得android当前电量值?
这个是获取android电量的DEMO:
packagecom.android.batterywaster;
importandroid.app.Activity;
importandroid.content.BroadcastReceiver;
importandroid.content.Context;
importandroid.content.Intent;
importandroid.content.IntentFilter;
importandroid.os.BatteryManager;
importandroid.os.Bundle;
importandroid.os.PowerManager;
importandroid.view.View;
importandroid.widget.CheckBox;
importandroid.widget.TextView;
importjava.text.DateFormat;
importjava.util.Date;
/**
*Soyouthoughtsyncusedupyourbatterylife.
*/
publicclassBatteryWasterextendsActivity{
TextViewmLog;
DateFormatmDateFormat;
IntentFiltermFilter;
PowerManager.WakeLockmWakeLock;
SpinThreadmThread;
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
//Setthelayoutforthisactivity.Youcanfindit
//inres/layout/hello_activity.xml
setContentView(R.layout.main);
findViewById(R.id.checkbox).setOnClickListener(mClickLis
tener);
mLog=(TextView)findViewById(R.id.log);
mDateFormat=DateFormat.getInstance();
mFilter=newIntentFilter();
mFilter.addAction(Intent.ACTION_BATTERY_CHANGED);
mFilter.addAction(Intent.ACTION_BATTERY_LOW);
mFilter.addAction(Intent.ACTION_BATTERY_OKAY);
mFilter.addAction(Intent.ACTION_POWER_CONNECTED);
PowerManagerpm=
(PowerManager)getSystemService(POWER_SERVICE);
mWakeLock=pm.newWakeLock(PowerManager.FULL_WAKE_LOCK,
BatteryWaster);
mWakeLock.setReferenceCounted(false);
}
@Override
publicvoidonPause(){