Android开发-获取设备电池用时间日期等具体信息
发布时间:2021-11-22 09:08:11 所属栏目:PHP教程 来源:互联网
导读:有时,我们需要获得电池的信息,特别是在全屏模式下,我们希望实时掌握手机的相关信息(比如电池,时间等)需要用到一些方法: 先看一下Android怎么获得系统时间: Calendar calendar = Calendar.getInstance; int hour = calendar.get(Calendar.Hour_OF_DAY); 照例,
有时,我们需要获得电池的信息,特别是在全屏模式下,我们希望实时掌握手机的相关信息(比如电池,时间等)需要用到一些方法: 先看一下Android怎么获得系统时间: Calendar calendar = Calendar.getInstance; int hour = calendar.get(Calendar.Hour_OF_DAY); 照例,可以获得系统详细的时间和日期,值得注意的是:在设置日期格式时,要注意月份和分钟分别开来: SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm ");//设置日期格式 月份是大写的MM,而时间是小写的,一旦搞错将得不到正解的信息 下面看看电池信息: * 电池信息的取得,调用registerReceiver()方法。 第1个参数,设置BroadcastReceiver实例 第2个参数,设置追加了Intent.ACTION_BATTERY_CHANGED处理的IntentFilter实例。 ● 在BroadcastReceiver的onReceive()事件,接收到的Intent.ACTION_BATTERY_CHANGED,包括下面的信息。 “status”(int类型)…状态,定义值是BatteryManager.BATTERY_STATUS_XXX。 “health”(int类型)…健康,定义值是BatteryManager.BATTERY_HEALTH_XXX。 “present”(boolean类型) “level”(int类型)…电池剩余容量 “scale”(int类型)…电池最大值。通常为100。 “icon-small”(int类型)…图标ID。 “plugged”(int类型)…连接的电源插座,定义值是BatteryManager.BATTERY_PLUGGED_XXX。 “voltage”(int类型)…mV。 “temperature”(int类型)…温度,0.1度单位。例如 表示197的时候,意思为19.7度。 “technology”(String类型)…电池类型,例如,Li-ion等等。 看一个实例: import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle; import android.widget.TextView; public class get_imformation_battery extends Activity { private TextView tvBatteryLevel; private BroadcastReceiver mBatteryInfoReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (Intent.ACTION_BATTERY_CHANGED.equals(action)) { int level = intent.getIntExtra("level", 0); int scale = intent.getIntExtra("scale", 100); //电池最大值。通常为100 tvBatteryLevel.setText("Battery level: " + String.valueOf(level * 100 / scale) + "%"); //其它信息 { int level1 = intent.getIntExtra("level", -1);// 获取电池剩余电量 int health = intent.getIntExtra("health", -1);// 获取电池剩余电量的状态 int voltage = intent.getIntExtra("voltage", -1);// 获取电压值 int temperature = intent.getIntExtra("temperature", -1);// 获取电池的温度 System.out.println(level1 + ":" + health + ":" + voltage + ":" + temperature); } } } }; @Override public void onResume() { super.onResume(); registerReceiver(mBatteryInfoReceiver, new IntentFilter( Intent.ACTION_BATTERY_CHANGED)); } @Override public void onPause() { super.onPause(); unregisterReceiver(mBatteryInfoReceiver); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.main); //tvBatteryLevel = (TextView) findViewById(R.id.tvBatteryLevel); } } ![]() (编辑:应用网_丽江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |