public void onReceive(Context arg0, Intent intent){
int level = intent.getIntExtra("level", 0);
int scale = int.getIntExtra("scale", 100);
System.out.println(String.valueOf((level / scale) * 100) + "%");
int plugType = intent.getIntExtra("plugged", 0);
/*
plugType is
BatteryManager.BATTERY_PLUGGED_AC
or BatteryManager.BATTERY_PLUGGED_USB
*/
int status = intent.getIntExtra("status", BatteryManager.BATTERY_STATUS_UNKNOWN);
/*
status is
BatteryManager.BATTERY_STATUS_CHARGING
or BatteryManager.BATTERY_STATUS_DISCHARGING
or BatteryManager.BATTERY_STATUS_FULL
or BatteryManager.BATTERY_STATUS_NOT_CHARGING
or BatteryManager.BATTERY_STATUS_UNKNOWN
*/
int temp = intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE, -1);
/*
temp / 10 = degrees celsius
*/
}
2011년 5월 19일 목요일
2011년 5월 18일 수요일
Android - Battery 잔량 표시
private TextView contentTxt;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
contentTxt = new TextView(this);
setContentView(layout);
layout.addView(contentTxt);
this.registerReceiver(this.mBatInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
}
private BroadcastReceiver mBatInfoReceiver = new BroadcastReceiver(){
@Override
public void onReceive(Context arg0, Intent intent) {
// TODO Auto-generated method stub
int level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0);
int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, 100);
int ratio = (level * 100) / scale;
int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, 100);
int ratio = (level * 100) / scale;
contentTxt.setText(String.valueOf(ratio) + "%");
}
};
피드 구독하기:
글 (Atom)