Изменение яркости подсветки в Appwidget не отвечает мгновенно

Я создал простой Appwidget для управления яркостью экрана с помощью этого кода:

android.provider.Settings.System.putInt(context.getContentResolver(), 
                  android.provider.Settings.System.SCREEN_BRIGHTNESS, 50);

Когда я нажимаю на виджет, яркость подсветки сразу не меняется. Но когда я блокирую и разблокирую телефон, это работает. Я прочитал Изменение яркости экрана программно (как с виджетом питания), что использование фиктивной активности даст решение. Так что я создал такую ​​деятельность

public class Bright extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    this.finish();

}
}

В моем классе AppWidget я использовал намерение так:

context.startActivity(new Intent(context, Bright.class));

Но когда я нажимаю на виджет, он принудительно закрывается. Моя реализация верна для моего AppWidget?

1 ответ

Вы должны отрегулировать яркость в вашем манекене Activity тоже с помощью getWindow().getAttributes().screenBrightness если вы хотите, чтобы он немедленно ответил.

Что касается сбоя, вы можете опубликовать трассировку стека. Но сначала убедитесь, что вы добавили его в свой манифест.

Другие вопросы по тегам