Sto lavorando su un'app e voglio integrare l'app di Last.fm in essa. Fondamentalmente, quando qualcuno guarda un artista nella mia app, mi piacerebbe avere un pulsante che possono toccare per aprire l'applicazione Last.fm con le informazioni dell'artista.Android: Avvio di un'attività per un'altra app di terze parti
questo funziona intenti, ma si carica un menù chiede quale app vorrei utilizzare (Browser o Last.fm):
Intent i = new Intent();
i.setData(Uri.parse("http://last.fm/music/" + headliner));
i.setAction("android.intent.action.VIEW");
startActivity(i);
Tuttavia, voglio solo avviare l'applicazione Last.fm e saltare la finestra di dialogo che chiede quale app da utilizzare, ho pensato che forse con il metodo setPackage() dovrebbe funzionare in questo modo:
i.setPackage("fm.last.android");
ma provoca l'applicazione di crash:
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=http://last.fm/music/Rihanna pkg=fm.last.android }
È possibile avviare l'app di Last.fm? Here's una copia di AndroidManifest.xml di Last.fm come riferimento.
Grazie per la lettura, Tony
Questo è un hack e non è considerato il modo corretto per chiamare le applicazioni. Questo è un modo sicuro per farti vedere tutti i tipi di errori. – Falmarri
puoi spiegare perché questo è un trucco? stai utilizzando l'Intento regolare dell'app che è stato chiamato anche da Avvio applicazioni, ovvero quando fai clic sull'icona dell'app nella schermata iniziale? Ad ogni modo, quindi qual è il modo corretto di suggerire invece? –
Forse ho frainteso. Se chiami l'attività che chiama il programma di avvio, suppongo che dovrebbe andare bene. Ho capito la domanda come chiamare un'attività INTERNA di un pacchetto diverso. Questo è soggetto a rotture perché quell'attività potrebbe richiedere degli extra di intenti che potrebbero causare un arresto anomalo o qualcosa del genere. Senza vedere il codice, non è possibile stabilire se è sicuro al 100% – Falmarri