乙個測試電池狀態的actiivity

2021-06-18 12:36:22 字數 2602 閱讀 2899

如何在乙個頁面中完整的顯示當前電池的狀態呢,諸如電壓、百分比、電池充電狀態等。以下的乙個簡單程式可達到這個目的。

import android.os.batterymanager;

import android.os.bundle;

import android.content.broadcastreceiver;

import android.content.context;

import android.content.intent;

import android.content.intentfilter;

import android.widget.textview;

在頁面中將會顯示8個狀態,所以需要在頁面定義如下textview

private textview mstatus;	//電池狀態

private textview mpower; //充電源

private textview mlevel; //百分比

private textview mscale; //最大量度

private textview mhealth; //電池健康

private textview mvoltage; //電池電壓

private textview mtechnology; //電池種類

private textview mbatteryid; //電池id

private intentfilter   mintentfilter;
oncreate完成繫結顯示控制項和註冊receiver,關鍵是響應系統action_battery_changed這個intent。

mintentfilter = new intentfilter();

mintentfilter.addaction(intent.action_battery_changed); //新增action_battery_changed的filter

mstatus = (textview)findviewbyid(r.id.status);

mpower = (textview)findviewbyid(r.id.power);

mlevel = (textview)findviewbyid(r.id.level);

mscale = (textview)findviewbyid(r.id.scale);

mhealth = (textview)findviewbyid(r.id.health);

mtechnology = (textview)findviewbyid(r.id.technology);

mvoltage = (textview)findviewbyid(r.id.voltage);

mbatteryid = (textview)findviewbyid(r.id.batteryid);

registerreceiver(mintentreceiver, mintentfilter);

在mintentreceiver完成對電池資訊的讀取

private broadcastreceiver mintentreceiver = new broadcastreceiver()

} else if (status == batterymanager.battery_status_discharging) else if (status == batterymanager.battery_status_not_charging) else if (status == batterymanager.battery_status_full) else

mstatus.settext(statusstring);

switch (plugtype)

int health = intent.getintextra("health", batterymanager.battery_health_unknown);

string healthstring;

healthstring = getstring(r.string.battery_info_health_label)+":";

if (health == batterymanager.battery_health_good) else if (health == batterymanager.battery_health_overheat) else if (health == batterymanager.battery_health_dead) else if (health == batterymanager.battery_health_over_voltage) else if (health == batterymanager.battery_health_unspecified_failure) else

mhealth.settext(healthstring);

}}

};

完成後在usb充電時截圖如下:

HTML5的乙個顯示電池狀態的API簡介

移動裝置的份額在網路流量中在大量增長,其所貢獻的網路流量非常龐大,以至於為了移動裝置,我們單獨建立了一些api和設計理念。乙個非常典型的例子是 w3c電池狀態api,它允許乙個應用程式獲知裝置的電池狀態資訊。這篇文章探索了這個新的api,為你展示了如何把它整合進你現有的應用程式。檢測裝置是否支援 目...

pypy的乙個測試

pypy 1.9 昨天已經發布,據稱效能又有所提高。於是我特地用乙個東西來測試一下 就是bson的 encode效率 pymongo的bson自帶乙個用c寫的擴充套件用於speed up速度。在我的t400,win7下測試。大約一秒鐘可以encode 10萬的資料。用pypy 1.9速度能達到多少呢...

軟體測試 乙個水杯的測試

乙個水杯的測試 滿有意思,如果你願意,可以發揮一下你的想象先,然後再看看別人例子,你會更加有收穫噢!測試是一種思想,一種思路,當你腦子裡面這個思路思想很清晰的時候 我們測試人員什麼東東不會測試?hoho!比較有意思的答案如下兩種 一種 測試專案 杯子 需求測試 檢視杯子使用說明書 介面測試 檢視杯子...