请教各位,我有份代码用到了IPowerManager ,但是在2.1里没有IPowerManager,应该想办法移植还是直接用新的接口。
private void setBacklight(int brightness) {
        try {
            IPowerManager power = IPowerManager.Stub.asInterface(
                    ServiceManager.getService("power"));
            if (power != null) {
                power.setBacklightBrightness(brightness);
                Log.i(TAG, "set brightness to :"+ new Integer(brightness).toString());
            }
        } catch (RemoteException doe) {
Log.e(mName, "can't set backlights");
        }        
}

解决方案 »

  1.   

    Is there a way to raise the backlight on an Android device through the official API?
    http://stackoverflow.com/questions/826970/is-there-a-way-to-raise-the-backlight-on-an-android-device-through-the-official-achanging screen brightness
    http://www.anddev.org/viewtopic.php?p=12512
      

  2.   

    dyw:你的意思是说不应该再使用这种方式改亮度了?
      

  3.   

    但实际上我无论在1.5还是1.6 2.1 2.2下都无法编译,一直提示IPowerManager cannot be resolved to a type
    IPowerManager cannot be resolved
      

  4.   

    自己编译下android framework,生成个自制的android.jar就行了,权限问题,当然你换更老的,比如0.9的肯定能编译通过
      

  5.   

    大概明白了,我也查了一些资料,最好的办法是在android platform环境下用MAKE编译,IDE的SDK里不带这个API。
      

  6.   

    学些了,看来有些时候还是需要自己修修补补SDK
      

  7.   

    我在platform下make编译过了,只是用adb安装时有点小问题,结贴。
      

  8.   

    我还是不太明白,这个怎么使用的,我也是通过make的形式的,但是提示错误的是,找不到该类...
      

  9.   

    我编译通过了,但是老是提示:
    09-03 20:26:37.486: ERROR/AndroidRuntime(1166): java.lang.SecurityException:
    Neither user 10023 nor current process has android.permission.DEVICE_POWER.
    而且我在注册文件里面也是添加了    <uses-permission android:name="android.permission.DEVICE_POWER" />这个权限的啊,不知道为什么运行不成功啊,郁闷呢
      

  10.   

    同上,求解,我也编译通过了,也加了<uses-permission android:name="android.permission.DEVICE_POWER" />
    但是运行的时候我一操作就提示Neither user 10023 nor current process has android.permission.DEVICE_POWER.求高手指教
      

  11.   

    同学们,这个问题怎么解决的呢?告诉我下:[email protected] .谢谢。。