欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

android电源信息查看,android电源查看,android电源信息、

来源: javaer 分享于  点击 13039 次 点评:110

android电源信息查看,android电源查看,android电源信息、


android电源信息、温度查看PowerTestActivity ```javaimport 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;

@Overridepublic 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);}@Overridepublic 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;                }            }        }    }}

}

main.xml    ```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>

AndroidManifest.xml ```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>```

相关栏目:

用户点评