日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

关闭Android电池温度告警框,android电源信息查看(电量、温度、电压)实例代码

發布時間:2023/12/2 Android 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关闭Android电池温度告警框,android电源信息查看(电量、温度、电压)实例代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文實例講述了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:

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

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="電源測試"

/>

android:layout_width="fill_parent"

android:layout_height="0px"

android:layout_weight="1"

>

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_marginTop="25dp"

android:textSize="12sp"

android:textColor="#ffffffff"

/>

3. AndroidManifest.xml:

package="com.lenovo.android"

android:versionCode="1"

android:versionName="1.0">

android:label="@string/app_name">

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

總結

以上是生活随笔為你收集整理的关闭Android电池温度告警框,android电源信息查看(电量、温度、电压)实例代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。