簡體   English   中英

為什么在使用cordova插件時“ setAttributes()”無法正常工作?

[英]Why the “setAttributes()” doesn't work properly while using cordova plugin?

我想創建一個插件,同時使用cordova作為插件,這是我的javascipt代碼:

var Brightness = function() {};

Brightness.prototype.brightnessUp = function( success, error ) 
{
    return cordova.exec( success, error, "Brightness", "brightnessUp", [] );
};

和我的插件代碼:

public PluginResult execute(String action, JSONArray data, String callbackId) {
    PluginResult result = null;
    if(action.equals(BRIGHTNESS_UP)){
        lightUP();
        result = new PluginResult(Status.OK);
    }

    return result;
}

public void lightUP(){
    WindowManager.LayoutParams layoutParams = cordova.getActivity().getWindow().getAttributes();
    layoutParams.screenBrightness = 1.0f;
    cordova.getActivity().getWindow().getAttributes().screenBrightness = 1.0f;
    cordova.getActivity().getWindow().setAttributes(layoutParams);
    cordova.getActivity().getWindow().addFlags(WindowManager.LayoutParams.SCREEN_BRIGHTNESS_CHANGED);
}

不知何故,我的應用程序為何不對“ setAttributes(layoutParam)”進行任何更改。

無意中,當我按下主頁按鈕並返回到應用程序時,屏幕亮度突然根據layoutParams改變了。

有什么解決辦法嗎?

到目前為止,您所擁有的都是正確的。 設置亮度后,您需要立即啟動虛擬活動,以使更改生效。 看看這個SO答案:

https://stackoverflow.com/a/7658364/41679

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM