0
我试过以下关于Intents和Intent Filters的文章,希望将我的应用从显式转移到隐式意图(似乎让事情变得更简单)。然而,我的Intents
从来没有匹配,无论我多努力尝试。相关信息如下:为什么我的意图不匹配?
Intent in = new Intent(Intent.ACTION_VIEW, Provider.constantsUri);
//in.addCategory(Intent.CATEGORY_DEFAULT); is this required?
startActivity(in);
,并在我的清单:
<activity android:name="Equation" >
<intent-filter>
<action android:name="android.intent.action.VIEW"></action>
<data android:scheme="content" android:host="com.espian.formulae.pro" android:path="const"></data>
<category android:name="android.intent.category.DEFAULT"></category>
</intent-filter>
</activity>
和constantsUri的定义:
public static Uri constantsUri = Uri.parse("content://com.espian.formulae.pro/const");
我也试过用Uri.Builder
形成Uri
,但没有要么运气。有什么明显的我失踪了吗?
看来,如果我只有一个计划和主机在数据(如你的例子)它的工作原理,但如果我把一个路径(这是必需的),它不匹配?事情是,这个例外说没有什么与Uri解析的_exact相同的Uri_匹配。将尝试使用数据类型 – 2011-03-29 21:16:43
您确定您的路径正确吗?我想如果你从你的例子中记录constantsUri.getPath(),它实际上会显示“/ const”。尝试更改您的意图过滤器以包含前导斜杠。 – mikerowehl 2011-03-29 21:34:10
您评论中概述的内容有效(即它需要前导斜线)谢谢:) – 2011-05-23 01:19:26