2010-12-06 22 views
5

Google haritalarına alternatif olarak bir Etkinlik yazmayı deniyorum.Android GEO-URI için niyet-filtre

<activity android:name="DataActivity" android:label="@string/app_name"> 
    <intent-filter> 
    <action android:name="android.intent.action.MAIN" /> 
    <action android:name="android.intent.action.VIEW" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
    <category android:name="android.intent.category.BROWSABLE" /> 
    <data android:scheme="http" android:host="maps.google.com" /> 
    </intent-filter> 
</activity> 

Ama "geo" -URI ile Niyet başlatırken nedense çoktan değildir: bir google-maps url bunu çağrılırken Mükemmel çalışır.

Benim Etkinlik:

<activity android:name="DataActivity" android:label="@string/app_name"> 
    <intent-filter> 
    <action android:name="android.intent.action.MAIN" /> 
    <action android:name="android.intent.action.VIEW" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
    <category android:name="android.intent.category.BROWSABLE" /> 
    <data android:scheme="geo" android:host="*" /> 
    </intent-filter> 
</activity> 

Arayan (Bu benim App başlatmak seçeneğinin olmadığı Google Maps başlar):

final String uri = "geo:" + lat + "," + lng; 
startActivity(new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(uri))); 
+0

Konum verilerini almak için uygulamanızda coğrafi uri'yi nasıl çözersiniz? – Radon8472

cevap

11

eklemek için

<intent-filter android:priority="0"> 
    <action android:name="android.intent.action.VIEW"/> 
    <category android:name="android.intent.category.DEFAULT"/> 
    <category android:name="android.intent.category.BROWSABLE"/> 
    <data android:scheme="geo"/> 
</intent-filter> 
+0

öncelikli – cV2

5

Doğru yolu ile deneyin çoklu şemalar:

 <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="geo"/> 
     </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: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> 
+0

http://support.google.com adresinde http ve https üzerinde çalışmıyor, bilinen herhangi bir sorun, 6.0.1 en son android ile bir s7 var… sadece benim app ist ... – cV2