Autore Topic: Inviare un Intent ad un'altra applicazione  (Letto 943 volte)

Offline Mikhael

  • Nuovo arrivato
  • *
  • Post: 24
  • Respect: 0
    • Mostra profilo
    • TuttoAndroid.net
  • Dispositivo Android:
    Nexus One, HTC Dream
  • Play Store ID:
    Costa Mikhael
  • Sistema operativo:
    Windows Vista, Mac Os X
Inviare un Intent ad un'altra applicazione
« il: 15 Giugno 2010, 14:39:24 CEST »
0
Ciao a tutti :)
Vi pongo la mia domanda di oggi, come faccio a mandare un Intent ad una specifica applicazione presente nel market? (ovviamente installata nel cell) O, è possibile farlo non conoscendo il codice di questa applicazione a cui dovrei collegarmi?

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +203
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
Re:Inviare un Intent ad un'altra applicazione
« Risposta #1 il: 15 Giugno 2010, 15:34:59 CEST »
+3
prima di tutto l'applicazione che riceve l'intent deve dichiarare di riceverlo, più specificamente deve filtrare (catturare) i messaggi (Intent) di broadcast che corrsipondono ad una certa action(specificata nell intent).  Sarà compito di una classe che estende broadcastreceiver (UnBroadcastReceiver) processare l'intent filtrato.

Codice (XML): [Seleziona]
<receiver android:name=".UnBroadcastReceiver" >

<intent-filter>
                        <action android:name="ch.applicazione.AZIONE_ESPLODI" />
</intent-filter>

</receiver>

Ma tutto ciò riguarda l'applicazione ricevente...

Quello che devi fare tu, per mandare questo intent è

Codice (Java): [Seleziona]
Intent intent=new Intent("ch.applicazione.AZIONE_ESPLODI");
intent.putExtra.....//eventualmente, se ce n'è bisogno aggiungi all'intent dei valori...come avviene normalmente
sendBroadcast(intent) // se non sei in una activity hai bisogno (chiaramente) del context per inviare un broadcast

Context | Android Developers

Per rispondere alla seconda domanda:
devi conoscere che azioni filtra il programma a cui vuoi mandare l'intent.
se volessi esporre la mia applicazione a terzi, registrerei la mia applicazione su
OpenIntents



Saluti.
Qlimax