Sei como atualizar meus próprios programas e como abrir programas usando o Uri predefinido (para sms ou e-mail, por exemplo)
Preciso saber como posso criar um Intent para abrir o MyTracks ou qualquer outro aplicativo que eu não saiba quais intenções eles escutam.
Eu obtive essas informações do DDMS, mas não consegui transformar isso em um Intent que eu possa usar. Isso é obtido ao abrir o MyTracks manualmente.
Obrigado pela ajuda
05-06 11:22:24.945: INFO/ActivityManager(76): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.google.android.maps.mytracks/com.google.android.apps.mytracks.MyTracks bnds=[243,338][317,417] }
05-06 11:22:25.005: INFO/ActivityManager(76): Start proc com.google.android.maps.mytracks for activity com.google.android.maps.mytracks/com.google.android.apps.mytracks.MyTracks: pid=1176 uid=10063 gids={3003, 1015}
05-06 11:22:26.995: INFO/ActivityManager(76): Displayed activity com.google.android.maps.mytracks/com.google.android.apps.mytracks.MyTracks: 1996 ms (total 1996 ms)
fonte
onCreate
=>Bundle extras = getIntent().getExtras()
=>if(extras != null) { extras.getString("blah") }
etc #getPackageManager().getLaunchIntentForPackage()
já faz tudo isso por você github.com/android/platform_frameworks_base/blob/master/core/…Eu tenho trabalhado assim,
Exemplo de uso:
Espero que ajude alguém.
fonte
getLaunchIntentForPackage
chamada.getLaunchIntentForPackage()
já adiciona a categoria, consulte a fonte: github.com/android/platform_frameworks_base/blob/master/core/…EDIT:
conforme sugerido nos comentários, adicione uma linha antes
startActivity(intent);
fonte
Se você já possui o nome do pacote que deseja ativar, pode usar o seguinte código, que é um pouco mais genérico:
Descobri que funciona melhor nos casos em que a atividade principal não foi encontrada pelo método regular de iniciar a atividade PRINCIPAL.
fonte
Este é o código da minha base de soluções na solução MasterGaurav:
fonte
Usando a solução inversus, ampliei o snippet com uma função, que será chamada quando o aplicativo desejado não estiver instalado no momento. Por isso, funciona como: Execute o aplicativo pelo nome do pacote. Se não for encontrado, abra o Android market - o Google play para este pacote .
E é usado assim:
fonte
Usa isto :
fonte
Abra o aplicativo, se existir, ou abra o aplicativo Play Store para instalá-lo:
fonte
Para iniciar outra atividade de aplicativo em meu aplicativo Activity. Está funcionando bem pra mim.
O código abaixo funcionará se o outro aplicativo já estiver instalado no seu telefone, caso contrário, não será possível redirecionar o formulário de um aplicativo para outro. Portanto, verifique se o aplicativo foi iniciado ou não
fonte
// Isso funciona no Android Lollipop 5.0.2
fonte
Como os aplicativos não têm permissão para alterar muitas configurações do telefone, você pode abrir uma atividade de configurações como qualquer outro aplicativo.
Observe a saída do LogCat depois de modificar a configuração manualmente:
Em seguida, use isso para exibir a página de configurações do seu aplicativo:
fonte
Para o nível 3+ da API, nada mais que uma linha de código:
Intent intent = context.getPackageManager().getLaunchIntentForPackage("name.of.package");
Retornar uma intenção de inicialização do CATEGORY_INFO (aplicativos sem atividade do iniciador, papéis de parede, por exemplo, costumam usar isso para fornecer algumas informações sobre o aplicativo) e, se não o encontrar, retorna o pacote CATEGORY_LAUNCH, se existir.
fonte
Se você está tentando iniciar um SERVIÇO em vez de uma atividade, isso funcionou para mim:
Se você usar o método intent.setComponent (...) conforme mencionado em outras respostas, poderá receber um aviso "Intenções implícitas com startService não são seguras".
fonte
Como alternativa, você também pode abrir a intenção do seu aplicativo no outro aplicativo com:
onde
uri
está o link direto para o outro aplicativofonte
Use o seguinte:
fonte
Iniciar um aplicativo de outro aplicativo no Android
fonte
Se você deseja abrir outro aplicativo e ele não estiver instalado, envie-o para a Google App Store para fazer o download
Primeiro, crie o método openOtherApp, por exemplo
2.- Uso
fonte
Experimente este código, espero que isso ajude você. Se este pacote estiver disponível, ele abrirá o aplicativo ou abrirá a loja de downloads.
fonte
Você pode usar este comando para encontrar os nomes dos pacotes instalados em um dispositivo:
Referência: http://www.aftvnews.com/how-to-determine-the-package-name-of-an-android-app/
fonte
fonte