Quero iniciar um pacote instalado no meu aplicativo Android. Presumo que seja possível usar intenções, mas não encontrei uma maneira de fazê-lo. Existe um link onde encontrar as informações?
java
android
android-intent
Bastian
fonte
fonte
Respostas:
Se você não conhece a atividade principal, o nome do pacote pode ser usado para iniciar o aplicativo.
fonte
CATEGORY_INFO
, e ao lado de uma atividade principal na categoriaCATEGORY_LAUNCHER
. Retorna NULL se não são encontrados. "Eu sei que isso foi respondido, mas aqui está como eu implementei algo semelhante:
Melhor ainda, aqui está o método:
Código duplicado removido:
fonte
Eu encontrei a solução. No arquivo de manifesto do aplicativo, encontrei o nome do pacote: com.package.address e o nome da atividade principal que desejo iniciar: MainActivity O código a seguir inicia esse aplicativo:
fonte
fonte
Aqui está o meu exemplo de como iniciar o scanner de código de barras / QR do meu aplicativo, se alguém achar útil
fonte
Editar dependendo do comentário
Em algumas versões - como sugerido nos comentários - a exceção lançada pode ser diferente.
Assim, a solução abaixo é ligeiramente modificada
Resposta original
Embora tenha respondido bem, há uma implementação bastante simples que lida com o aplicativo não instalado. Eu faço assim
Substitua "applicationId" pelo pacote que você deseja abrir, como com.google.maps etc.
fonte
PackageManager.getLaunchIntentForPackage(...)
método retornará nulo se o nome do pacote não for reconhecido. Não jogaPackageManager.NameNotFoundException
. Veja aqui .startActivity(null)
em um emulador do Android 10 e ele lança umNullPointerException
e não umPackageManager.NameNotFoundException
.startActivity(Intent intent)
método quando ele recebe um nuloIntent
e o que faz você dizer isso? A documentação dos desenvolvedores do Android afirma apenas que ele lançará umActivityNotFoundException
.fonte
Se você deseja abrir uma atividade específica de outro aplicativo, podemos usá-lo.
Se você precisar de outro aplicativo, em vez de mostrar o Toast, poderá mostrar uma caixa de diálogo. Usando o diálogo, você pode levar o usuário à Play-Store para baixar o aplicativo necessário.
fonte
com.android.settings.fuelgauge.PowerUsageSummary
é apenas um alias de atividade decom.android.settings.Settings$PowerUsageSummaryActivity
e foi removido no Android Pie . Por isso, reuni a edição para tornar essa resposta adequada ao Pie. Observe que também é compatível com a versão mais antiga, consulte Confirmação do AOSP em 10/11/2011, af9252849fd94c1f2859c56a4010900ea38a607e etc.Se você conhece os dados e a ação na qual o pacote instalado reage, basta adicionar essas informações à sua instância de intenção antes de iniciá-las.
Se você tiver acesso ao AndroidManifest do outro aplicativo, poderá ver todas as informações necessárias lá.
fonte
Etapas para iniciar nova atividade da seguinte maneira:
1. Obter intenção para o pacote
2.Se a intenção é nulo, redirecione o usuário para o playstore
3.Se a intenção não for uma atividade aberta nula
fonte
É possível iniciar a atividade de um aplicativo usando de
Intent.setClassName
acordo com os documentos.Um exemplo:
Para abri-lo fora do aplicativo atual, adicione esse sinalizador antes de iniciar a intenção.
Uma resposta relacionada aqui
fonte
fonte