我想创建一个连接到javascript的插件,同时使用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 改变。
有什么解决办法吗?