Android的意向过滤器GEO-URI [英] Android Intent-filter for GEO-URI

查看:245
本文介绍了Android的意向过滤器GEO-URI的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试着写一个活动,以替代谷歌地图。 调用它时,它可以完美的由谷歌,地图网址:

 <活动机器人:名称=DataActivity机器人:标签=@字符串/ APP_NAME>
  <意向滤光器>
    <作用机器人:名称=android.intent.action.MAIN/>
    <作用机器人:名称=android.intent.action.VIEW/>
    <类机器人:名称=android.intent.category.DEFAULT/>
    <类机器人:名称=android.intent.category.BROWSABLE/>
    <数据机器人:计划=HTTP机器人:主机=maps.google.com/>
  &所述; /意图滤光器>
< /活性GT;
 

但出于某种原因开始了全球环境展望-uri的意图时,它不会显示了。

我的活动:

 <活动机器人:名称=DataActivity机器人:标签=@字符串/ APP_NAME>
  <意向滤光器>
    <作用机器人:名称=android.intent.action.MAIN/>
    <作用机器人:名称=android.intent.action.VIEW/>
    <类机器人:名称=android.intent.category.DEFAULT/>
    <类机器人:名称=android.intent.category.BROWSABLE/>
    <数据机器人:计划=地缘机器人:主机=*/>
  &所述; /意图滤光器>
< /活性GT;
 

调用者(这将启动谷歌地图没有选项来启动我的应用程序):

 最后弦乐URI =缘:+纬度+,+ LNG;
startActivity(新意图(android.content.Intent.ACTION_VIEW,Uri.parse(URI)));
 

解决方案

尝试用

 <意图过滤器的Andr​​oid版本:优先级=0>
    <作用机器人:名称=android.intent.action.VIEW/>
    <类机器人:名称=android.intent.category.DEFAULT/>
    <类机器人:名称=android.intent.category.BROWSABLE/>
    <数据机器人:计划=GEO/>
&所述; /意图滤光器>
 

I try to write an Activity as an alternative to google maps. It works perfect when calling it by an google-maps url:

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

But for some reason it does not shown up when starting an Intent with a "geo"-URI.

My Activity:

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

The Caller (This starts Google Maps without the option to start my App):

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

解决方案

try with

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

这篇关于Android的意向过滤器GEO-URI的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆