2010-08-19 12 views
5

Google Maps ora offre un modo per "condividere un luogo" con quello che sembra essere un elenco predefinito di fonti. Quando gli utenti cercano un luogo su Google Maps, sia che si tratti di un indirizzo specifico, di un incrocio o di un ristorante, c'è un nuovo pulsante chiamato "condividi questo luogo" che pubblica le informazioni sulla posizione su Google Buzz, Facebook, Twitter o via e -mail o SMS. Mi piacerebbe avere la mia applicazione inclusa in questo elenco o determinare come ottenere il lat/lon della posizione selezionata. Qualcuno ha qualche idea?Come aggiungere la tua applicazione all'elenco "Condividi questo luogo" nelle mappe di Google

+0

Sono venuto qui per fare esattamente la stessa domanda. Pubblicherò la risposta se scoprirò come farlo. – HenryAdamsJr

risposta

7

L'ho capito. Ecco un campione manifest.xml:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.yourapp" android:versionCode="1" 
    android:versionName="1.0"> 
    <application android:icon="@drawable/icon" android:label="@string/app_name"> 
     <activity android:name=".YourApp" android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
      <intent-filter> 
       <action android:name="android.intent.action.SEND"></action> 
       <category android:name="android.intent.category.DEFAULT" /> 
       <data android:mimeType="text/plain" /> 
      </intent-filter> 
     </activity> 
    </application> 
    <uses-sdk android:minSdkVersion="4" /> 
</manifest> 

basta aggiungere il filtro SEND intento così come è sopra per la vostra attività. Il "condividi questo luogo" esegue semplicemente un intento "INVIA" ​​con il tipo mime di "text/plain". Se registri un filtro intent per quel tipo, la tua app comparirà nell'elenco. Il mio ha fatto. =)

+0

Grazie Henry! Darò questa prova non appena gli alligatori lo permetteranno. – stanlick

+0

Dolce, ha funzionato alla grande! Ora, come funziona? La mia app deve essere in esecuzione per presentarsi nella mappa "condividi questo luogo?" Non vedo la connessione tra i due. Inoltre, ho bisogno di un ricevitore broadcast o di alcuni di questi per ricevere la richiamata quando l'utente seleziona la mia app? – stanlick

+0

Il modo in cui ti ho mostrato sopra dice ad Android che la tua app può ricevere un tipo di invio di tipo "text/plain". La tua app non deve essere in esecuzione perché sia ​​nell'elenco perché, quando la selezioni, Maps avvia effettivamente l'attività su cui è definito il filtro intent. Quindi, devi semplicemente estrarre il testo dal contesto passato all'attività. – HenryAdamsJr

Problemi correlati