Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Como Ajustar o Brilho da Tela no Android

Ajustar o brilho da tela é uma funcionalidade essencial em dispositivos Android, pois permite que os usuários adaptem a luminosidade de acordo com as condições de iluminação do ambiente, economizando bateria e proporcionando uma melhor experiência visual. Este artigo abordará como ajustar o brilho da tela programaticamente em dispositivos Android, utilizando a API do Android. Além disso, apresentaremos exemplos práticos de como implementar essas funcionalidades em um aplicativo Android.

Exemplos:

Ajustando o Brilho da Tela Programaticamente

Para ajustar o brilho da tela no Android, você precisará de permissões específicas e utilizar a classe WindowManager.LayoutParams. A seguir, apresentamos um exemplo de como fazer isso:

  1. Adicionar Permissão no Manifesto:

    <uses-permission android:name="android.permission.WRITE_SETTINGS"/>
  2. Solicitar Permissão em Tempo de Execução:

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
       if (!Settings.System.canWrite(this)) {
           Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS);
           intent.setData(Uri.parse("package:" + getPackageName()));
           startActivity(intent);
       }
    }
  3. Ajustar o Brilho da Tela:

    public void setScreenBrightness(float brightnessValue) {
       WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
       layoutParams.screenBrightness = brightnessValue;
       getWindow().setAttributes(layoutParams);
    }

    No exemplo acima, brightnessValue deve ser um valor entre 0.0 (mínimo) e 1.0 (máximo).

Exemplo Completo em um Aplicativo Android

Aqui está um exemplo completo de uma atividade que ajusta o brilho da tela:

import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.provider.Settings;
import android.view.View;
import android.view.WindowManager;
import android.widget.SeekBar;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    private SeekBar seekBar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        seekBar = findViewById(R.id.seekBar);
        seekBar.setMax(100);
        seekBar.setProgress(50);

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            if (!Settings.System.canWrite(this)) {
                Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS);
                intent.setData(Uri.parse("package:" + getPackageName()));
                startActivity(intent);
            }
        }

        seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
                setScreenBrightness(progress / 100.0f);
            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {}

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {}
        });
    }

    public void setScreenBrightness(float brightnessValue) {
        WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
        layoutParams.screenBrightness = brightnessValue;
        getWindow().setAttributes(layoutParams);
    }
}

Layout XML (activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <SeekBar
        android:id="@+id/seekBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true" />
</RelativeLayout>

Este exemplo cria uma atividade com uma barra de progresso (SeekBar) que permite aos usuários ajustar o brilho da tela deslizando a barra. A permissão necessária é solicitada em tempo de execução para dispositivos com Android Marshmallow (API 23) ou superior.

To share Download PDF

Gostou do artigo? Deixe sua avaliação!
Sua opinião é muito importante para nós. Clique em um dos botões abaixo para nos dizer o que achou deste conteúdo.