2010-12-06 22 views
5

我嘗試編寫一個活動作爲Google地圖的替代方案。 它由一個谷歌,地圖網址調用時,它完美的作品:針對GEO-URI的Android意圖過濾器

<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> 

但出於某種原因開始用「地緣」 -URI的意圖時,它不會顯示了。

我的活動:

<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> 

調用者(這將啓動谷歌地圖沒有選項來啓動我的應用程序):

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

如何解決應用中的地理位置以獲取位置數據? – Radon8472 2015-05-13 09:20:02

回答

11

嘗試

<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

優先級已過時 – cV2 2016-04-05 08:45:05

5

正確的方式來增加多種方案:

 <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

「maps.google.com」上的http和https沒有爲我工作,任何已知的問題,有s7 6.0.1最新的android ...只是我的應用程序ist觸發... ... – cV2 2016-04-05 08:40:46