Come intercettare un'intensa mappa di Google in Android?

Stavo cercando di intercettare un'intensa mappa di Google come segue:

Intent myIntent = nuovo intento (android.content.Intent.ACTION_VIEW, Uri.parse ("geo: 37.423156, -122.084917"));

  • c'è un esempio di demo twitter per pubblicare foto su twitter con l'utilizzo di OAuth in twitter?
  • java.lang.StackOverflowError che cerca di analizzare in un AsyncTask
  • PhoneGap - Funzionalità Android
  • Leggendo i dati dal dispositivo Bluetooth in android
  • Accesso all'object GoogleApiClient in Tutte le attività
  • Qual è la pratica migliore per arrotondare un float a 2 decimali?
  • ma non ho trovato nessun esempio, collegamento o documentazione di questo. Quindi, penso che purtroppo non sia ansible.

    Nel file Manifest ho inserito diversi filtri d'intenti. Specialmente penso che il filter di intenti successivo deve corrispondere con l'intento indicato.

    <intent-filter> <action android:name="android.content.Intent.ACTION_VIEW" /> <data android:scheme="geo"/> </intent-filter> 

    Inoltre ho cercato di indagare quali attività si adattano a questa particolare intenzione per mezzo di:

     List resolves = getPackageManager().queryIntentActivities(myIntent, 0 ); ResolveInfo firstRevolve=(ResolveInfo) resolves.get(0); IntentFilter myIF=firstRevolve.filter; 

    Tuttavia, solo MapsActivity corrisponde con l'intento, non la mia attività, e sorprendentemente myIF è nullo, quindi non riesco a get il filter di intenti che l'attività Google Maps utilizza.

    Inoltre ho installato "Intent Intercept" da Android Market, ma non cattura questo intento.

    Quindi, ho bisogno di qualche aiuto / idea. Qualcuno sa cosa sta succedendo? A mio parere Google limita queste intercettazioni, ma questa restrizione non è specificata.

    Qualsiasi aiuto sarà apprezzato. Cordiali saluti, Pablo.

  • Come installare Android Studio su Ubuntu?
  • Android 5.0: come modificare il colore del titolo delle apps recenti?
  • Come può il debug di usb per Kindle Fire essere abilitato su Linux (Ubuntu)?
  • Arrestare il servizio Android quando l'applicazione viene chiusa con il task manager
  • Come fondere due APK in singoli in modo che entrambe le applicazioni possano essere installate contemporaneamente
  • Utilizzo di setImageDrawable in modo dinamico per impostare l'image in un ImageView
  • 5 Solutions collect form web for “Come intercettare un'intensa mappa di Google in Android?”

    L'esempio di codice riportto di seguito sta funzionando bene nel mio progetto.

     <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE"/> <data android:scheme="https" android:host="maps.google.com" /> <data android:scheme="geo" /> </intent-filter> 

    Quindi, penso che purtroppo non sia ansible.

    Sono piuttosto sicuro che sia.

    Specialmente penso che il filter di intenti successivo deve corrispondere con l'intento indicato.

    Hai la string di azione errata. Se si legge la documentazione , la rappresentazione di string di ACTION_VIEW è:

     android.intent.action.VIEW 

    che non è quello che hai nel tuo <intent-filter> .

    Ho cercato di far funzionare anche questo. sembra che ci siano due modi:

    1) intenti con schema: "http" o "https" con authorization "maps.google.com". Questo sembra funzionare normalmente come intenti standard fanno. 2) utilizzando lo schema "geo" come OP menzionato nella domanda. Sembra che questo non sia aperto per essere intercettato.

    @ CommonsWare Anche se si utilizza "android.intent.action.VIEW" nel manifesto con il seguente filter:

    sembra NON ansible intercettarla.

    Quando hai citato "Sono piuttosto sicuro che sia". Avete intenzione che sia ansible o NON è ansible?

    Utilizzo il filter multifunction e questo lavoro con me

      <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.BROWSABLE"/> <data android:scheme="google.navigation"/> </intent-filter> <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.BROWSABLE"/> <data android:host="maps.google.com" android:scheme="https"/> </intent-filter> <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.BROWSABLE"/> <data android:host="maps.google.com" android:scheme="http"/> </intent-filter> 

    Questa voce manifesto ha funzionato per me:

      <activity <intent-filter> <!-- Filter to run activity without geo --> <action android:name="com.example.MYACTION" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> <intent-filter> <!-- Filter for geo scheme geo --> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <data android:scheme="geo" /> </intent-filter> </activity> 

    nella tua attività è ansible verificare onCreate:

     protected void onCreate(Bundle savedInstanceState) { Intent intent = getIntent(); String action = intent.getAction(); Uri data = intent.getData(); if( Intent.ACTION_VIEW.equals(action) ) { if(data != null && "geo".equals(data.getScheme())) { // do something with geo uri data } } else { // Code for activity when it`s started without geo uri } } 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.