Tenho uma pergunta sobre o novo lançamento do Android Marshmallow:
É possível exibir a tela de permissão para um aplicativo específico por meio de um Intent ou algo semelhante?
É possível exibir as configurações do aplicativo com o seguinte código - existe uma solução analógica para abrir diretamente a tela de permissão?
startActivity(new Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS,
Uri.fromParts("package", getPackageName(), null)));
Eu já fiz alguma pesquisa sobre isso, mas não consegui encontrar uma solução adequada - eu agradeceria toda ajuda!
android
android-permissions
android-6.0-marshmallow
Frederik Schweiger
fonte
fonte
Respostas:
De acordo com o vídeo oficial de permissões do Marshmallow (na marca dos 4m 43s ), você deve abrir a página Configurações do aplicativo (a partir daí há um clique na página Permissões).
Para abrir a página de configurações, você faria
fonte
Isso não é possível. Eu tentei fazer isso também. Eu poderia descobrir o nome do pacote e a atividade que será iniciada. Mas, no final, você receberá uma exceção de segurança devido à falta de permissão que não pode declarar.
ATUALIZAR:
Em relação à outra resposta, também recomendo abrir a tela de configurações do aplicativo. Eu faço isso com o seguinte código:
Como não quero ter isso na minha pilha de histórico, removo-o usando sinalizadores de intenção.
fonte
Descrição Abre a página de configuração Detalhes para o aplicativo. A partir daqui, o usuário precisa atribuir manualmente a permissão desejada.
Settings.ACTION_APPLICATION_DETAILS_SETTINGS
Intent.FLAG_ACTIVITY_NEW_TASK
Opcional . Se definido, abre a tela Configurações (atividade) como nova atividade. Caso contrário, ele será aberto na atividade em execução no momento.
Uri.fromParts("package", getPackageName(), null)
Prepara ou cria URI, enquanto getPackageName () - retorna o nome do seu pacote de aplicativos.
intent.setData(uri)
Não se esqueça de definir isso . Caso contrário, você receberá
android.content.ActivityNotFoundException
. Como você definiu sua intenção comoSettings.ACTION_APPLICATION_DETAILS_SETTINGS
e o Android espera que algum nome seja pesquisado.fonte
Em vez disso, você pode abrir as configurações gerais de aplicativos específicos com uma linha
fonte
Não é possível abrir programaticamente a tela de permissão. Em vez disso, podemos abrir a tela de configurações do aplicativo.
Código
Saída de amostra
fonte
Se você deseja escrever menos código,
Kotlin
pode fazer o seguinte:Baseado na resposta de Martin Konecny
fonte
Estilo Kotlin.
fonte
Pode ser que isso ajude você
fonte
Se estamos a falar de Flyme OS (Meizu) SOMENTE há o seu próprio aplicativo de segurança com permissões.
Para abri-lo, use a seguinte intenção:
De-causa BuildConfig é do seu aplicativo BuildConfig .
fonte
Xamarin Forms Android:
fonte
não é possível obter de forma pragmática a permissão ... mas sugerirei que você coloque essa linha de código em try {} catch {}, que faz com que seu aplicativo pare infelizmente ... e no corpo do catch, crie uma caixa de diálogo que navegará no tutorial pequeno do usuário para ativar a permissão de empate sobre outros aplicativos ... no botão sim, clique em colocar este código ...
essa intenção é abrir diretamente a lista de empate sobre outros aplicativos para gerenciar permissões e, a partir daqui, é um clique para empate sobre outros aplicativos Permissões ... eu sei que essa não é a resposta que você está procurando ... mas Estou fazendo isso nos meus aplicativos ...
fonte