Android 電池電流,電壓資訊
阿新 • • 發佈:2019-02-04
Android 電池硬體檔案路徑
/sys/class/power_supply/battery/uevent // 電池硬體資訊,包括電流電壓,電量等電池相關資訊
/sys/class/power_supply/ac/uevent // 充電器,一般只有狀態值,0或1,新的android手機中已不在使用,包括usb等
ps:部分手機還有一些其它檔案,一般計算充電剩餘時間,battery/uevent 已足夠
主要程式碼:
jstring JNICALL Java_com_example_android_getbattery_GetBattery_getBatteryInfo(JNIEnv *env,jobject jthis) {
FILE *fp;
fp = fopen("/sys/class/power_supply/battery/uevent" , "r");
fseek(fp, 0, SEEK_END);
int file_size;
file_size = ftell(fp);
printf("%d", file_size);
char *tmp;
fseek(fp, 0, SEEK_SET);
tmp = (char *) malloc(file_size * sizeof(char));
fread(tmp, file_size, sizeof(char), fp);
LOGI("battery:%s\n",tmp);
return (*env)->NewStringUTF(env, tmp);
}