Eu tenho um Huawei P8 com Android 5.0 que estou usando para testar um aplicativo. O aplicativo precisa estar em execução em segundo plano, pois rastreia regiões BLE.
Descobri que a Huawei incorporou um "recurso" chamado Aplicativos Protegidos, que pode ser acessado nas configurações do telefone (Gerenciador de Bateria> Aplicativos Protegidos). Isso permite que os aplicativos eleitos continuem em execução após a tela ser desligada.
Sensivelmente para a Huawei, mas infelizmente para mim, parece que ela é opcional, ou seja, os aplicativos saem por padrão e você deve inseri-los manualmente. Isso não é um empecilho para mostrar, pois posso aconselhar os usuários em uma FAQ ou em uma versão impressa. documentação sobre a correção, mas recentemente instalei o Tinder (para fins de pesquisa!) e notei que ele foi colocado na lista protegida automaticamente.
Alguém sabe como eu posso fazer isso para o meu aplicativo? É uma configuração no manifesto? É algo que a Huawei ativou para o Tinder porque é um aplicativo popular?
fonte
Respostas:
fonte
ComponentName("com.asus.mobilemanager","com.asus.mobilemanager.autostart.AutoStartActivity"));
sp.edit().putBoolean("protected",true).commit();
desde que eu entenda que é aí que você está alterando o valor para protegido, certo?Não há uma configuração no manifesto, e a Huawei ativou o Tinder porque é um aplicativo popular. Não há como saber se os aplicativos estão protegidos.
De qualquer forma eu usei
ifHuaweiAlert()
emonCreate()
mostrar umAlertDialog
:fonte
+1 por Pierre por sua ótima solução que funciona para vários fabricantes de dispositivos (Huawei, asus, oppo ...).
Eu queria usar o código dele no meu aplicativo Android, que está em Java. Inspirei meu código com as respostas de Pierre e Aiuspaktyn .
}
Adicione as seguintes permissões no seu
Android.Manifest
Espero que isso ajude alguém.
fonte
Solução para todos os dispositivos (Xamarin.Android)
Uso:
Adicione as seguintes permissões no seu
Android.Manifest
Para ajudar a encontrar a atividade do dispositivo não listado aqui, basta usar o método a seguir para ajudar a encontrar a atividade correta a ser aberta para o usuário
C #
Java
Executar na inicialização e pesquisar o arquivo de log, adicione um filtro logcat em
TAG
debrand.activities
Saída de amostra:
Portanto, o nome do componente será:
Se a atividade tiver uma permissão ao lado,
Android.Manifest
será necessária a seguinte entrada no para abrir a atividade:Comente ou edite o novo componente nesta resposta. Toda ajuda será muito apreciada.
fonte
Estou usando a solução @Aiuspaktyn, que está faltando a parte de como detectar quando parar de mostrar a caixa de diálogo depois que o usuário define o aplicativo como protegido. Estou usando um serviço para verificar se o aplicativo foi encerrado ou não, verificando se ele existe.
fonte
Você pode usar esta biblioteca para navegar pelo usuário para aplicativos protegidos ou iniciar automaticamente:
AutoStarter
Se o telefone suportar o recurso de inicialização automática, você poderá mostrar ao usuário uma dica para ativar seu aplicativo nesses aplicativos
Você pode verificar por este método:
E para navegar o usuário para essa página, basta chamar isso:
fonte
PowerMaster -> AutoStart -> Encontre seu aplicativo na seção bloqueada e permita
fonte