在android中,要获得手机的电量的话,可以通过intent广播去实现,监听ACTION_BATTERY_CHANGED,例子如下
java 代码:
[代码]java代码:
import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.BatteryManager; import android.os.Bundle; import android.widget.TextView; public class MainActivity extends Activity { private TextView batterLevel; private BatteryLevelReceiver receiver; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); batterLevel = (TextView) this.findViewById(R.id.batteryLevel); } @Override protected void onStart() { receiver = new BatteryLevelReceiver(); IntentFilter filter = new IntentFilter(); filter.addAction(Intent.ACTION_BATTERY_CHANGED); registerReceiver(receiver, filter); super.onStart(); } @Override protected void onDestroy() { unregisterReceiver(receiver); super.onDestroy(); } private class BatteryLevelReceiver extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { //获取当前电量 //BatteryManager.EXTRA_LEVEL 也可写作 : "level" //BatteryManager.EXTRA_SCALE 也可写作: "scale" int rawLevel = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1); //获取总电量 int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1); int level = -1; if(rawLevel >= 0 && scale > 0){ level = (rawLevel * 100) / scale; } batterLevel.setText("Battery Level Remaining : "+ level + "%"); } } }
XmL文件我就不贴出来了
點擊查看更多內容
為 TA 點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優質文章
正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦