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