Android中獲取電池電量

/**
 * 
 * @author xk
 *
 *顯示當前電池電量
 */
public class MainActivity extends Activity {

	private TextView tv;
	
	/**
	 * 廣播接受者
	 */
	class BatteryReceiver extends BroadcastReceiver{

		@Override
		public void onReceive(Context context, Intent intent) {
			// TODO Auto-generated method stub
			//判斷它是否是爲電量變化的Broadcast Action
			if(Intent.ACTION_BATTERY_CHANGED.equals(intent.getAction())){
				//獲取當前電量
				int level = intent.getIntExtra("level", 0);
				//電量的總刻度
				int scale = intent.getIntExtra("scale", 100);
				//把它轉成百分比
				tv.setText("電池電量爲"+((level*100)/scale)+"%");
			}
		}
		
	}
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		//setContentView(R.layout.activity_main);
		
		tv = new TextView(this);
		tv.setText("chrp");
		this.setContentView(tv);
		
		//註冊廣播接受者java代碼
		IntentFilter intentFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
		//創建廣播接受者對象
		BatteryReceiver batteryReceiver = new BatteryReceiver();
		
		//註冊receiver
		registerReceiver(batteryReceiver, intentFilter);
	}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章