Pab*_* MJ 5 maps android filter android-intent
我试图截取谷歌地图意图如下:
Intent myIntent = new Intent(android.content.Intent.ACTION_VIEW,Uri.parse("geo:37.423156,-122.084917"));
但我没有找到任何关于此的示例,链接或文档.所以,我想不幸的是,这是不可能的.
在Manifest文件中,我放了几个intent过滤器.特别是我认为下一个意图过滤器必须与提到的意图相匹配.
<intent-filter>
<action android:name="android.content.Intent.ACTION_VIEW" />
<data android:scheme="geo"/>
</intent-filter>
Run Code Online (Sandbox Code Playgroud)
此外,我尝试通过以下方式调查哪些活动与此特定意图相匹配:
List resolves = getPackageManager().queryIntentActivities(myIntent, 0 );
ResolveInfo firstRevolve=(ResolveInfo) resolves.get(0);
IntentFilter myIF=firstRevolve.filter;
Run Code Online (Sandbox Code Playgroud)
然而,只有MapsActivity与intent相匹配,而不是我的Activity,并且令人惊讶的是myIF为null,因此我无法获得google maps活动使用的intent过滤器.
另外我从Android Market安装了"Intent Intercept",但它没有捕获这个意图.
所以,我需要一些帮助/想法.有人知道发生了什么事吗?在我看来,谷歌限制了这种拦截,但未指定此限制.
任何帮助将不胜感激.最好的问候,巴勃罗.
小智 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="https" android:host="maps.google.com" />
<data android:scheme="geo" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)
所以,不幸的是,我认为这是不可能的。
我相当肯定是这样的。
特别是我认为下一个意图过滤器必须与提到的意图匹配。
您的操作字符串错误。如果您阅读文档,则 的字符串表示形式ACTION_VIEW为:
android.intent.action.VIEW
Run Code Online (Sandbox Code Playgroud)
这不是你的<intent-filter>.
| 归档时间: |
|
| 查看次数: |
4265 次 |
| 最近记录: |