Chinaunix首页 | 论坛 | 博客
  • 博客访问: 424449
  • 博文数量: 205
  • 博客积分: 5630
  • 博客等级: 大校
  • 技术积分: 1945
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-06 20:28
文章分类

全部博文(205)

文章存档

2016年(1)

2015年(6)

2014年(9)

2013年(10)

2012年(53)

2011年(25)

2010年(87)

2009年(14)

分类:

2010-01-15 20:14:40

 Android 系统启动时检测电源状态,若检测不到 battery level
  则自动把battery level设置为 0 ,并自动关机,无法进入系统。
  为调试方便,绕过电源管理。
 
  为解决此问题需修改
  frameworks/base/services/jni/com_android_server_BatteryService.cpp
     
   1、void setIntField(JNIEnv* env, jobject obj, const char* path,
jfieldID fieldID)函数中置 jint value = 1;

       2、在android_server_BatteryService_update 中 置电池状态为Full,
Good :
        
    if (readFromFile(BATTERY_STATUS_PATH, buf, SIZE) > 0)
        env->SetIntField(obj, gFieldIds.mBatteryStatus,
gConstants.statusFull);

    if (readFromFile(BATTERY_HEALTH_PATH, buf, SIZE) > 0)
        env->SetIntField(obj,
gFieldIds.mBatteryHealth,gConstants.healthGood);

    if (readFromFile(BATTERY_TECHNOLOGY_PATH, buf, SIZE) > 0)
        env->SetObjectField(obj, gFieldIds.mBatteryTechnology,
env->NewStringUTF("1"));
 
  保存编译解决此问题。
阅读(576) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~