當前位置:編程學習大全網 - 網絡軟體 - AutoJs : 獲取手機電池狀態

AutoJs : 獲取手機電池狀態

importClass(android.content.Intent);

importClass(android.content.IntentFilter);

importClass(android.os.BatteryManager);

let?BatteryN;?//目前電量

let?BatteryV;?//電池電壓

let?BatteryT;?//電池溫度

let?BatteryStatus;?//電池狀態

let?BatteryTemp;?//電池使用情況

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

onReceive:?function?(context,?intent)?{

log(intent);

let?action?=?intent.getAction();

/*

?*?如果捕捉到的action是ACTION_BATTERY_CHANGED,?就運行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?=?"充電狀態";

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;

}

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;

}

log(

"目前電量為"?+

BatteryN?+

"%?---?"?+

BatteryStatus?+

"\n"?+

"電壓為"?+

BatteryV?+

"mV?---?"?+

BatteryTemp?+

"\n"?+

"溫度為"?+

BatteryT?*?0.1?+

"℃"

);

}

},

});

//?註冊壹個系統?BroadcastReceiver,作為訪問電池計量之用這個不能直接在AndroidManifest.xml中註冊

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("關閉廣播監聽");

}

setInterval(function?()?{},?1000);

  • 上一篇:推薦幾部全集都有中文字幕而且特別好看的泰劇,推薦時最好附帶理由(最好是偶像劇)
  • 下一篇:關於寶馬760Li 的價格和排量?
  • copyright 2024編程學習大全網