1. 程式人生 > >Android 電池電流,電壓資訊

Android 電池電流,電壓資訊

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); }