0

プラグインにコードバを使用しながら、JavaScript に接続するプラグインを作成したいのですが、これは私の 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に合わせて画面の明るさが変わってしまいました。

これに対する解決策はありますか?

4

1 に答える 1

0

あなたが持っているものは、ある時点まで正しいです。変更を有効にするには、明るさを設定した直後にダミー アクティビティを開始する必要があります。このSOの答えを見てください:

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

于 2012-09-12T01:02:13.757 に答える