Permissões opcionais para que um aplicativo possa ser exibido em todos os dispositivos e ativar recursos opcionais em alguns?

uitos recursos do Android exigem que uma permissão de uso seja definida no manifesto. Esses valores determinam quais dispositivos os verão no mercado. No entanto, o que deve ser feito se o recurso for opcional ... se ele pudesse ser executado em muitos dispositivos, mas exigiria a permissão apenas em algun

Um exemplo: digamos, um aplicativo com vários recursos e uma boa quantidade de conteúdo - e fornece um botão para ligar para a empresa. Esse é um recurso conveniente e agradável, em vez de anotar o número ou copiá-lo e colá-lo no aplicativo de telefone. Não é essencial, no entanto.

Se esse recurso for usado e a permissão de telefonia for adicionada ao aplicativo, tudo ficará bem para os telefones - mas nenhum tablet verá o aplicativo no Market.

O que é uma solução geral para esse problema?

s aplicativos múltiplos podem ser criados com permissões diferentes, mas há um mundo de problemas com essa abordagem (tempo extra de desenvolvimento, dificuldade em manter a manutenção consistente, revisões e classificações divididas em aplicativos diferentes e, se houver vários tipos diferentes de permissões opcionais do que um pode ser necessário um aplicativo diferente para cada combinação).

O aplicativo pode verificar programaticamente se o recurso está disponível e ativá-lo ou desativá-lo, dependendo do dispositivo. O problema é que, se o aplicativo não tiver permissão, ele falhará se tentar usar esse recurso - e se tiver permissão, alguns dispositivos não poderão encontrar o aplicativo no Mercado

Em certos casos, pode ser possível cortar totalmente os recursos não essenciais do aplicativo para evitar o problema. Essa também não é uma ótima solução, já que esses recursos seriam "bons de ter" em dispositivos compatívei

Sim, eu estou ciente possível ter permissões "opcionais" no Androi é uma pergunta semelhante. Espero informações mais recentes e outras soluções alternativas que as pessoas encontraram, se houver ... qual é a solução para esse problema? Alguém tem outras abordagens além das listadas acima?

questionAnswers(2)

yourAnswerToTheQuestion