国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

android電源信息查看(電量、溫度、電壓)實例代碼

2020-04-11 11:24:43
字體:
來源:轉載
供稿:網友

本文實例講述了android電源信息查看方法。分享給大家供大家參考。具體如下:

1. PowerTestActivity:

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.os.PowerManager;import android.view.View;import android.widget.CheckBox;import android.widget.TextView;import java.text.DateFormat;import java.util.Date;/** * So you thought sync used up your battery life. */public class PowerTestActivity extends Activity {  TextView mLog;  DateFormat mDateFormat;  IntentFilter mFilter;  PowerManager.WakeLock mWakeLock;  SpinThread mThread;  @Override  public void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    // Set the layout for this activity. You can find it    // in res/layout/hello_activity.xml    setContentView(R.layout.main);    findViewById(R.id.checkbox).setOnClickListener(mClickListener);    mLog = (TextView)findViewById(R.id.log);    mDateFormat = DateFormat.getInstance();    mFilter = new IntentFilter();    mFilter.addAction(Intent.ACTION_BATTERY_CHANGED);    mFilter.addAction(Intent.ACTION_BATTERY_LOW);    mFilter.addAction(Intent.ACTION_BATTERY_OKAY);    mFilter.addAction(Intent.ACTION_POWER_CONNECTED);    PowerManager pm = (PowerManager)getSystemService(POWER_SERVICE);    mWakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "BatteryWaster");    mWakeLock.setReferenceCounted(false);  }  @Override  public void onPause() {    stopRunning();  }  View.OnClickListener mClickListener = new View.OnClickListener() {    public void onClick(View v) {      CheckBox checkbox = (CheckBox)v;      if (checkbox.isChecked()) {        startRunning();      } else {        stopRunning();      }    }  };  void startRunning() {    log("Start");    registerReceiver(mReceiver, mFilter);    mWakeLock.acquire();    if (mThread == null) {      mThread = new SpinThread();      mThread.start();    }  }  void stopRunning() {    log("Stop");    unregisterReceiver(mReceiver);    mWakeLock.release();    if (mThread != null) {      mThread.quit();      mThread = null;    }  }  void log(String s) {    mLog.setText(mLog.getText() + "/n" + mDateFormat.format(new Date()) + ": " + s);  }  BroadcastReceiver mReceiver = new BroadcastReceiver() {    public void onReceive(Context context, Intent intent) {      StringBuffer sb = new StringBuffer();      String action = intent.getAction();      /*       * 如果捕捉到的action是ACTION_BATTERY_CHANGED, 就運行onBatteryInfoReceiver()       */      if (Intent.ACTION_BATTERY_CHANGED.equals(action)) {        sb.append("/n當前電量:").append(intent.getIntExtra("level", 0));        sb.append("/n電池電量:").append(intent.getIntExtra("scale", 100));        // 電池伏數        sb.append("/n當前電壓:").append(intent.getIntExtra("voltage", 0));        // 電池溫度        sb.append("/n當前溫度:").append(            intent.getIntExtra("temperature", 0));        String BatteryStatus = null;        switch (intent.getIntExtra("status",            BatteryManager.BATTERY_STATUS_UNKNOWN)) {        case BatteryManager.BATTERY_STATUS_CHARGING:          BatteryStatus = "充電狀態";          break;        case BatteryManager.BATTERY_STATUS_DISCHARGING:          BatteryStatus = "放電狀態";          break;        case BatteryManager.BATTERY_STATUS_NOT_CHARGING:          BatteryStatus = "未充電";          break;        case BatteryManager.BATTERY_STATUS_FULL:          BatteryStatus = "充滿電";          break;        case BatteryManager.BATTERY_STATUS_UNKNOWN:          BatteryStatus = "未知道狀態";          break;        }        sb.append("/n當前狀態:").append(BatteryStatus);        String BatteryStatus2 = null;        switch (intent.getIntExtra("plugged",            BatteryManager.BATTERY_PLUGGED_AC)) {        case BatteryManager.BATTERY_PLUGGED_AC:          BatteryStatus2 = "AC充電";          break;        case BatteryManager.BATTERY_PLUGGED_USB:          BatteryStatus2 = "USB充電";          break;        }        sb.append("/n充電方式:").append(BatteryStatus2);        String BatteryTemp = null;        switch (intent.getIntExtra("health",            BatteryManager.BATTERY_HEALTH_UNKNOWN)) {        case BatteryManager.BATTERY_HEALTH_UNKNOWN:          BatteryTemp = "未知錯誤";          break;        case BatteryManager.BATTERY_HEALTH_GOOD:          BatteryTemp = "狀態良好";          break;        case BatteryManager.BATTERY_HEALTH_DEAD:          BatteryTemp = "電池沒有電";          break;        case BatteryManager.BATTERY_HEALTH_OVER_VOLTAGE:          BatteryTemp = "電池電壓過高";          break;        case BatteryManager.BATTERY_HEALTH_OVERHEAT:          BatteryTemp = "電池過熱";          break;        }        sb.append("/n電池狀態:").append(BatteryTemp);        log(sb.toString());      }    }  };  class SpinThread extends Thread {    private boolean mStop;    public void quit() {      synchronized (this) {        mStop = true;      }    }    public void run() {      while (true) {        synchronized (this) {          if (mStop) {            return;          }        }      }    }  }}

2. main.xml:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:orientation="vertical"  android:layout_width="fill_parent"  android:layout_height="fill_parent"  ><CheckBox android:id="@+id/checkbox"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:layout_marginLeft="25dp"    android:layout_marginTop="25dp"    android:textSize="18sp"    android:textColor="#ffffffff"    android:text="電源測試"    />  <ScrollView android:id="@+id/scroll"    android:layout_width="fill_parent"    android:layout_height="0px"    android:layout_weight="1"    >    <TextView android:id="@+id/log"      android:layout_width="fill_parent"      android:layout_height="wrap_content"      android:layout_marginTop="25dp"      android:textSize="12sp"      android:textColor="#ffffffff"      />  </ScrollView></LinearLayout>

3. AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"   package="com.lenovo.android"   android:versionCode="1"   android:versionName="1.0">  <uses-sdk android:minSdkVersion="8" />  <application android:icon="@drawable/icon" android:label="@string/app_name">    <activity android:name=".PowerTestActivity"         android:label="@string/app_name">      <intent-filter>        <action android:name="android.intent.action.MAIN" />        <category android:name="android.intent.category.LAUNCHER" />      </intent-filter>    </activity>  </application>  <uses-permission android:name="android.permission.WAKE_LOCK" />  <uses-permission android:name="android.permission.DEVICE_POWER" /></manifest>

希望本文所述對大家的Android程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 霍城县| 无极县| 宜兰县| 永丰县| 玉山县| 枣强县| 宾川县| 南京市| 金乡县| 江山市| 镇康县| 铜陵市| 安福县| 准格尔旗| 嘉荫县| 石景山区| 贺州市| 开原市| 福泉市| 桦南县| 建宁县| 霞浦县| 海南省| 常宁市| 清水河县| 玛多县| 霍林郭勒市| 香格里拉县| 玛纳斯县| 铜山县| 静海县| 金沙县| 衡南县| 民乐县| 滁州市| 邹城市| 萨嘎县| 杂多县| 武隆县| 临沂市| 怀来县|