i.MX7Dual - 通过DP6中的ScreenManager更改亮度

时间:2017-12-06 13:39:53

标签: android-things

你好。在DP6中,Google添加了新的API来修改屏幕 - ScreenManager。我尝试使用它来改变i.MX7Dual的亮度,这是来自官方Google工具包Pico Pro的电路板,但没有成功。

我用按钮创建了简单的Activity,一个用于低亮度,一个用于高亮度:

Button lowButton = findViewById(R.id.button_low);

lowButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            DisplayManager displayManager = (DisplayManager) getApplicationContext().getSystemService(Context.DISPLAY_SERVICE);
            Display[] displays = displayManager.getDisplays();
            if (displays.length > 0) {
                int id = displays[0].getDisplayId();
                ScreenManager screenManager = new ScreenManager(id);
                screenManager.setBrightnessMode(ScreenManager.BRIGHTNESS_MODE_MANUAL);
                screenManager.setBrightness(10);
            }
        }
    });

获得许可:

<uses-permission android:name="com.google.android.things.permission.MODIFY_SCREEN_SETTINGS" />

它没有工作,屏幕始终亮相同的光,我想最大。 此外,我尝试运行虚拟活动刷新屏幕,但现在改进。

我也试过通过Setting.System改变亮度:

try {
    Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS_MODE,Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
    Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, 10);

    int br = Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS);
    WindowManager.LayoutParams lp = getWindow().getAttributes();
    lp.screenBrightness = (float) br / 10;
    getWindow().setAttributes(lp);
} catch (Exception e) {}

有权限:

<uses-permission android:name="android.permission.WRITE_SETTINGS" />

但它也不起作用。

有什么建议检查或尝试?我想这个屏幕不支持更改屏幕亮度,因为在新的物联网启动器中我没有看到屏幕设置。

Sreenshot

0 个答案:

没有答案