Voglio avviare un'applicazione specifica. So come fare Intenti ma voglio evitare il menu di selezione se ci sono più app in grado di gestire l'intento, voglio andare direttamente ad una particolare app. Spero che questo abbia un senso.Come si avvia a livello di programmazione un'applicazione specifica in Android?
risposta
si utilizza il nome del pacchetto/classe e, ad esempio, per creare un nuovo intento di chiamare il programma Twidroid devi utilizzare il seguente link text:
Intent intent = new Intent("com.twidroid.SendTweet");
Si sarebbe probabilmente vuole mettere un try/prendi in giro per ActivityNotFoundException per quando l'applicazione non è installata.
Se succede, puoi lanciare un'eccezione e aprire l'applicazione su GooglePlay. ;) –
Intent intent = new Intent();
intent.setClassName("package.name", "package.name.LauncherActivityName");
startActivityForResult(intent,REQUEST_CODE);
L'attività si sta chiamando dovrebbe apparire non solo nel Manifesto per il proprio pacchetto, ma nel Manifesto per il pacchetto di chiamata, anche. - Non dimenticare!
È necessario utilizzare la funzione del gestore pacchetti.
Context ctx=this; // or you can replace **'this'** with your **ActivityName.this**
try {
Intent i = ctx.getPackageManager().getLaunchIntentForPackage("com.twidroid.SendTweet");
ctx.startActivity(i);
} catch (NameNotFoundException e) {
// TODO Auto-generated catch block
}
io uso:
try {
Intent intent = new Intent();
intent.setClassName("package.name", "<your_package_name>");
startActivity(intent);
} catch (NameNotFoundException e) {
Log.e(TAG, e.getMessage());
}
Ma come Cami suggerito questo funzionerà anche:
try {
Intent i = ctx.getPackageManager().getLaunchIntentForPackage("com.twidroid.SendTweet");
ctx.startActivity(i);
} catch (NameNotFoundException e) {
Log.e(TAG, e.getMessage());
}
nella chiamata di metodo OnCreate => openapp(); Metodo
private void openApp() {
String packageName = "com.google.android.gm";
if (isAppInstalled(activity, packageName))
startActivity(getPackageManager().getLaunchIntentForPackage(packageName));
else Toast.makeText(activity, "App not installed", Toast.LENGTH_SHORT).show();
}
public static boolean isAppInstalled(Activity activity, String packageName) {
PackageManager pm = activity.getPackageManager();
try {
pm.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES);
return true;
} catch (PackageManager.NameNotFoundException e) {
}
return false;
}
Grazie mille per gmail! –
- 1. Come si avvia un'applicazione JNLP a livello di programmazione?
- 2. Acquisire a livello di programmazione un'area specifica
- 3. avvia Google Signin senza GIDSignInButton ma a livello di programmazione
- 4. Impostazione android: animateLayoutChanges a livello di programmazione
- 5. Come eseguire Dropzone processQueue() quando non si avvia a livello di programmazione?
- 6. Come abilitare a livello di programmazione GPS in Android Cupcake
- 7. Come creare un menu a livello di programmazione in Android?
- 8. Come attivare FlashLight in Lollipop a livello di programmazione Android
- 9. Come bloccare a livello di programmazione la schermata in Android?
- 10. Come mettere Android in standby a livello di programmazione?
- 11. Come si aggiunge UIButton a UIToolBar a livello di programmazione?
- 12. Su Android, come commuti le attività a livello di programmazione?
- 13. blocco di orientamento in Android a livello di programmazione
- 14. Mixer di song audio in Android a livello di programmazione
- 15. Modificare il fuso orario in Android a livello di programmazione
- 16. Come "riavviare" un'applicazione Android a livello di programmazione
- 17. Android - Come acquisire gli screenshot a livello di programmazione
- 18. Come si crea un UIViewController a livello di programmazione?
- 19. Come si rilevano i bot a livello di programmazione
- 20. Android view layout_width - come cambiare a livello di programmazione?
- 21. Come identificare un dispositivo Android a livello di programmazione?
- 22. Fare clic su visualizzazioni a livello di programmazione in Android
- 23. Aggiungere testo all'immagine in Android a livello di programmazione
- 24. Fine chiamata in Android a livello di programmazione
- 25. Come si modifica un file .png a livello di programmazione?
- 26. Come si ottiene l'imballaggio bidimensionale 2D a livello di programmazione?
- 27. Passare a una pagina specifica in scrollView con paging, a livello di programmazione
- 28. Android - Come toccare la voce ListView a livello di programmazione
- 29. Android - Come cambiare la modalità Timepicker a livello di programmazione?
- 30. Come specificare android: listSelector = "@ null" a livello di programmazione?
possibile duplicato di [Aprire un'altra applicazione dalla nostra applicazione?] (http://stackoverflow.com/questions/3342655/open-another-one-application-from-our-application) – Pentium10