Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade
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:
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:
Adicionar Permissão no Manifesto:
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
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);
}
}
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).
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);
}
}
<?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.