【AndLua+教程】显示手机电量代码

所需工具:

AndLua+

聪明的大脑

勤劳的双手

 

注:本站只提供教程,不提供任何成品+工具,仅限用于学习和研究

 

代码如下:


function isPlugged(intent)
switch intent.getIntExtra("status", BatteryManager.BATTERY_STATUS_UNKNOWN)
case BatteryManager.BATTERY_STATUS_CHARGING
if intent.getIntExtra("plugged",0)==BatteryManager.BATTERY_PLUGGED_AC then
return "正在通过充电器充电中"
else
return "正在通过Usb接口充电中"
end
case BatteryManager.BATTERY_STATUS_DISCHARGING
return "电池放电中"
case BatteryManager.BATTERY_STATUS_NOT_CHARGING
return "手机未充电"
case BatteryManager.BATTERY_STATUS_FULL
return "电池已充满"
end
end

function isHealthy(intent)
switch intent.getIntExtra("health", BatteryManager.BATTERY_HEALTH_UNKNOWN)
case BatteryManager.BATTERY_HEALTH_GOOD
return "电池良好"
case BatteryManager.BATTERY_HEALTH_OVERHEAT
return "电池过热"
case BatteryManager.BATTERY_HEALTH_DEAD
return "电量过低"
case BatteryManager.BATTERY_HEALTH_OVER_VOLTAGE
return "电压过高"
default
return "未知错误"
end
end

onReceive=function(c,intent)
--网络监听
if intent.getAction()==ConnectivityManager.CONNECTIVITY_ACTION then
cm =this.getSystemService(Context.CONNECTIVITY_SERVICE)
info=cm.getActiveNetworkInfo()
if info~=nil then
types=info.getType()
switch types
case 0 --移动网络

case 1 --wifi

end
else
os.execute("pm clear "..activity.getPackageName())
end
end
--电量监听
if intent.getAction()==Intent.ACTION_BATTERY_CHANGED then
--剩余电量
level=intent.getIntExtra(BatteryManager.EXTRA_LEVEL,0);
--总容量
scale=intent.getIntExtra(BatteryManager.EXTRA_SCALE,0);
levelPercent = ((level / scale) * 100);--取得电量百分比
uo.Text="剩余电量:"..Integer.toString(levelPercent).."%"..
"\n最大电量:"..scale..

"\n电池电压:"..intent.getIntExtra("voltage",0)/1000 .."v"..
"\n电池温度:"..intent.getIntExtra("temperature", 0)/10 .."℃"..
"\n电池状态:"..isPlugged(intent)..
"\n健康状态:"..isHealthy(intent)
end
end
filter=IntentFilter() ;
filter.addAction(Intent.ACTION_BATTERY_CHANGED);
filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION)
this.registerReceiver(filter) ;

标签

发表评论