我正在创建一个简单的电子书,但我需要从我的主要活动中更改某些活动的屏幕亮度,这些活动从蓝牙接收数据并且在书籍运行时仍在后台运行。我的问题是:如何从 MainActivity 调用一个函数到 Page1Activity,或者反过来,无论如何。
如果我将此代码放在其中一个活动中,我可以更改活动亮度,但我真的需要从一个调用到另一个
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.screenBrightness = adjusted;
getWindow().setAttributes(lp);
如果我使用那个,页面只会在创建时显示更改,但我不想在收到数据时重新创建页面。
android.provider.Settings.System.putInt(getContentResolver(),
android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE,
android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
android.provider.Settings.System.putInt(getContentResolver(),
android.provider.Settings.System.SCREEN_BRIGHTNESS, (int)(255*adjusted));
然后我需要知道是否有办法获取或存储活动以使用getWindow()
,或者是否存在在两个活动之间调用函数的方法,或者是否有另一种方法可以做到这一点。
PS:我知道改变音量的功能,如果我在主活动中使用它,整个系统的音频会立即改变,如果有人知道这样的亮度功能,那将是最简单的解决我的问题的方法。
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC,
volAdjusted, AudioManager.FLAG_SHOW_UI);