Red de conocimiento informático - Computadora portátil - AutoJs: Obtén el estado de la batería del teléfono móvil

AutoJs: Obtén el estado de la batería del teléfono móvil

importClass(android.content.Intent);

importClass(android.content.IntentFilter);

importClass(android.os.BatteryManager); p>

let?BatteryN;?//Capacidad actual de la batería

let?BatteryV;?//Voltaje de la batería

let?BatteryT;?//Temperatura de la batería

let?BatteryStatus;?///Estado de la batería

let?BatteryTemp;?///Uso de la batería

let?mBatInfoReceiver?=?new?JavaAdapter( android.content. BroadcastReceiver,?{

onReceive:?función?(contexto,?intención)?{

log(intención);

let?acción ?=?intent .getAction();

/*

?*?Si la acción capturada es ACTION_BATTERY_CHANGED,?ejecute onBatteryInfoReceiver()

?*/

if?(Intent.ACTION_BATTERY_CHANGED.equals(action))?{

BatteryN?=?intent.getIntExtra("level",?0);?//Capacidad actual de la batería

BateríaV?=?intent.getIntExtra("voltaje",?0);?//Voltaje de la batería

BateríaT?=?intent.getIntExtra("temperatura",?0) ;?/ /Temperatura de la batería

interruptor?(intent.getIntExtra("status",?BatteryManager.BATTERY_STATUS_UNKNOWN))?{

caso?BatteryManager.BATTERY_STATUS_CHARGING:

BatteryStatus ?=?"Estado de carga";

rotura;

case?BatteryManager.BATTERY_STATUS_DISCHARGING:

BatteryStatus?=?"Estado de descarga";

rotura;

caso?BatteryManager.BATTERY_STATUS_NOT_CHARGING:

Estado de la batería?=?"No cargando";

rotura;

caso?BatteryManager.BATTERY_STATUS_FULL:

BatteryStatus?=?"carga completa";

rotura;

caso?BatteryManager.BATTERY_STATUS_UNKNOWN:

BatteryStatus?=?"Estado desconocido";

rotura;

}

interruptor?(intent.getIntExtra("health",?BatteryManager .BATTERY_HEALTH_UNKNOWN ))?

{

caso?BatteryManager.BATTERY_HEALTH_UNKNOWN:

BatterTemp?=?"Error desconocido";

rotura;

caso?BatteryManager. BATTERY_HEALTH_GOOD:

BatteryTemp?=?"Buen estado";

rotura;

caso?BatteryManager.BATTERY_HEALTH_DEAD:

BatterTemp?= ?"La batería no tiene energía";

rotura;

case?BatteryManager.BATTERY_HEALTH_OVER_VOLTAGE:

BatteryTemp?=?"El voltaje de la batería es demasiado alto";

rotura;

case?BatteryManager.BATTERY_HEALTH_OVERHEAT:

BatteryTemp?=?"Batería sobrecalentada";

rotura;

}

log(

"El nivel actual de la batería es"?+

BateríaN?+

"%? ---?" ?+

Estado de la batería?+

"\n"?+

"¿El voltaje es"?+

BatteryV?+

"mV?---?"?+

BatteryTemp?+

"\n"?+

"La temperatura es"? +

BatteryT?*?0.1?+

"℃"

);

}

} ,

});

//Registrar un sistema?BroadcastReceiver para acceder a la medición de la batería. Esto no se puede registrar directamente en AndroidManifest.xml

let ?filter?=?new?IntentFilter();

filter.addAction(Intent.ACTION_BATTERY_CHANGED);

context.registerReceiver(mBatInfoReceiver,?filter);

events.on("salir",?función?()?{

unregisterReceiver();

});

función ?unregisterReceiver()? {

context.unregisterReceiver(mBatInfoReceiver);

tostadoLog("Desactivar escucha de transmisiones");

}

setInterval(función? ()?{},?1000);