importClass(android.content.Intent);
importClass(android.content.IntentFilter);
importClass(android.os.BatteryManager);
let?BatteryN;?//目前電量
let?BatteryV;?//電池電壓
let?BatteryT;?//電池溫度
let?BatteryStatus;?//電池狀態(tài)
let?BatteryTemp;?//電池使用情況
let?mBatInfoReceiver?=?new?JavaAdapter(android.content.BroadcastReceiver,?{
??onReceive:?function?(context,?intent)?{
????log(intent);
????let?action?=?intent.getAction();
????/*
?????*?如果捕捉到的action是ACTION_BATTERY_CHANGED口蝠,?就運(yùn)行onBatteryInfoReceiver()
?????*/
????if?(Intent.ACTION_BATTERY_CHANGED.equals(action))?{
??????BatteryN?=?intent.getIntExtra("level",?0);?//目前電量
??????BatteryV?=?intent.getIntExtra("voltage",?0);?//電池電壓
??????BatteryT?=?intent.getIntExtra("temperature",?0);?//電池溫度
??????switch?(intent.getIntExtra("status",?BatteryManager.BATTERY_STATUS_UNKNOWN))?{
????????case?BatteryManager.BATTERY_STATUS_CHARGING:
??????????BatteryStatus?=?"充電狀態(tài)";
??????????break;
????????case?BatteryManager.BATTERY_STATUS_DISCHARGING:
??????????BatteryStatus?=?"放電狀態(tài)";
??????????break;
????????case?BatteryManager.BATTERY_STATUS_NOT_CHARGING:
??????????BatteryStatus?=?"未充電";
??????????break;
????????case?BatteryManager.BATTERY_STATUS_FULL:
??????????BatteryStatus?=?"充滿電";
??????????break;
????????case?BatteryManager.BATTERY_STATUS_UNKNOWN:
??????????BatteryStatus?=?"未知道狀態(tài)";
??????????break;
??????}
??????switch?(intent.getIntExtra("health",?BatteryManager.BATTERY_HEALTH_UNKNOWN))?{
????????case?BatteryManager.BATTERY_HEALTH_UNKNOWN:
??????????BatteryTemp?=?"未知錯(cuò)誤";
??????????break;
????????case?BatteryManager.BATTERY_HEALTH_GOOD:
??????????BatteryTemp?=?"狀態(tài)良好";
??????????break;
????????case?BatteryManager.BATTERY_HEALTH_DEAD:
??????????BatteryTemp?=?"電池沒(méi)有電";
??????????break;
????????case?BatteryManager.BATTERY_HEALTH_OVER_VOLTAGE:
??????????BatteryTemp?=?"電池電壓過(guò)高";
??????????break;
????????case?BatteryManager.BATTERY_HEALTH_OVERHEAT:
??????????BatteryTemp?=?"電池過(guò)熱";
??????????break;
??????}
??????log(
????????"目前電量為"?+
??????????BatteryN?+
??????????"%?---?"?+
??????????BatteryStatus?+
??????????"\n"?+
??????????"電壓為"?+
??????????BatteryV?+
??????????"mV?---?"?+
??????????BatteryTemp?+
??????????"\n"?+
??????????"溫度為"?+
??????????BatteryT?*?0.1?+
??????????"℃"
??????);
????}
??},
});
//?注冊(cè)一個(gè)系統(tǒng)?BroadcastReceiver负蚊,作為訪問(wèn)電池計(jì)量之用這個(gè)不能直接在AndroidManifest.xml中注冊(cè)
let?filter?=?new?IntentFilter();
filter.addAction(Intent.ACTION_BATTERY_CHANGED);
context.registerReceiver(mBatInfoReceiver,?filter);
events.on("exit",?function?()?{
??unregisterReceiver();
});
function?unregisterReceiver()?{
??context.unregisterReceiver(mBatInfoReceiver);
??toastLog("關(guān)閉廣播監(jiān)聽(tīng)");
}
setInterval(function?()?{},?1000);