레이블이 battery인 게시물을 표시합니다. 모든 게시물 표시
레이블이 battery인 게시물을 표시합니다. 모든 게시물 표시

2011년 5월 19일 목요일

Android - about Battery BroadcastReceiver...

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월 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;
contentTxt.setText(String.valueOf(ratio) + "%");
}
};