Abrindo as configurações do Android de maneira programática


Respostas:


10

Usei o código da resposta mais votada :

startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS), 0);

Ele abre as configurações do dispositivo na mesma janela , assim, os usuários do meu aplicativo Android ( finnmglas / Launcher ) para Android ficam presos lá.

A resposta para 2020 e além (em Kotlin):

startActivity(Intent(Settings.ACTION_SETTINGS));

Funciona no meu aplicativo, também deve funcionar no seu, sem consequências indesejadas.


4
2020 saúda você!
Behnam

Obrigado amigo, por favor atualize seu código assim: startActivity (new Intent (Settings.ACTION_SETTINGS));
Muhammad Ali

200

Você pode abrir com

startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS), 0);

Você pode retornar pressionando o botão Voltar no dispositivo.


alguma maneira de voltar quando o usuário pressionou o botão Limpar Cache?
SweetWisher ツ

1
@SweetWisher ヅ Você só precisa editar o código-fonte.
Behnam

2
Agora você pode usar Intent intent = new Intent (android.provider.Settings.ACTION_SECURITY_SETTINGS); startActivity (intenção); Há um monte de constantes para cada categoria de configuração principal que você pode escolher. Basta escrever Configurações. e o Android Studio mostrará todas as categorias no preenchimento automático.
Asim Qasımzade

1
Posso pesquisar uma configuração específica no aplicativo Configurações e abrir essa configuração específica de forma programática no meu aplicativo? por exemplo, posso pesquisar OTG do meu aplicativo nas configurações do telefone?
Divya Gupta

Parece-me que usar StartActivity é o suficiente, sempre consigo obter o resultado CANCELD ao voltar ao App (o que é normal ao voltar com o botão Voltar). Assim, o aplicativo não é notificado sobre as configurações alteradas dessa forma.
this.myself

37

Isso fez por mim

Intent callGPSSettingIntent = new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivityForResult(callGPSSettingIntent);

Quando eles pressionam de volta, ele volta para o meu aplicativo.


Que tela de configurações isso oferece?
IgorGanapolsky

1
@IgorGanapolsky ele abre as configurações baseadas em localização dentro de "Configuração"
androminor


9

Confira a página de exibição de configurações programaticamente

    startActivity(context, new Intent(Settings.ACTION_SETTINGS), /*options:*/ null);

Em geral, você usa a constante predefinida Settings.ACTION__SETTINGS. A lista completa pode ser encontrada aqui


1
Existe uma maneira de abrir as configurações na nova opção: "Controlar quais aplicativos podem ler suas notificações" (adicionado na API 18)?
Javi

6

Para conseguir isso, basta usar um Intent usando a constante ACTION_SETTINGS , especificamente definida para mostrar as Configurações do Sistema:

startActivity(new Intent(Settings.ACTION_SETTINGS));

startActivityForResult () é opcional, apenas se você quiser retornar alguns dados quando a atividade de configurações for fechada.

startActivityForResult(new Intent(Settings.ACTION_SETTINGS), 0);

aqui você pode encontrar uma lista de conteúdos para mostrar configurações específicas ou detalhes de uma aplicação.


6

Você pode fazer outra classe para fazer esse tipo de atividades.

public class Go {

   public void Setting(Context context)
    {
        Intent intent = new Intent(android.provider.Settings.ACTION_SETTINGS);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(intent);
    }
}

3

Use esta intenção para abrir a tela de segurança e localização no aplicativo de configurações do dispositivo Android

    startActivity(new Intent(Settings.ACTION_SECURITY_SETTINGS));

2

Caso alguém encontre esta pergunta e você deseje abrir as configurações para seu aplicativo específico:

    val intent = Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
    intent.data = Uri.parse("package:" + context.packageName)
    startActivity(intent)

0

Enviar usuário para configurações com pacote localizado, exemplo para permissão WRITE_SETTINGS:

startActivityForResult(new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS).setData(Uri.parse("package:"+getPackageName()) ),0);

0

Abra a configuração de localização do Android programaticamente usando a caixa de diálogo de alerta

AlertDialog.Builder alertDialog = new AlertDialog.Builder(YourActivity.this);
alertDialog.setTitle("Enable Location");
alertDialog.setMessage("GPS is not enabled. Do you want to go to settings menu?");
alertDialog.setPositiveButton("Settings", new DialogInterface.OnClickListener() {
      public void onClick(DialogInterface dialog, int which) {
            Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
            startActivity(intent);
      }
});
alertDialog.show();
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.