我患有Intent解析机制。意图解析 - 隐含意图来自ContentProvider的数据
我有一个内容提供商:
<provider
android:authorities="com.company.app"
android:name=".content.MyProvider"
android:exported="false" />
我有一个活动:
<activity
android:name=".activity.DetailedFlowActivity"
android:parentActivityName=".activity.LauncherActivity">
<intent-filter>
<action android:name="com.company.app.EDIT_CATEGORY" />
<action android:name="com.company.app.ANOTHER_EDIT_ACTION" />
<data
android:scheme="content"
android:host="com.company.app"
/>
</intent-filter>
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".activity.LauncherActivity" />
</activity>
提供商具有两个特定路径(即,在SQLite的分贝两个表),并且Activity
本身知道如何查询这两个路径。因此,我只用<data>
来声明权限和方案,假设这足以解决这个意图。
的问题是:每当我这样做:
Intent intent = new Intent(DetailedFlowActivity.ACTION_EDIT_CATEGORY);
intent.setData(
Uri.withAppendedPath(CategoryItemContract.CONTENT_URI,
String.valueOf(categoryId)));
startActivity(intent);
我期望意图解析为DetailedFlowActivity
,但它无法告诉我,没有合适的Activity
发现来处理这样的意图:其中动作= com.company.app.EDIT_CATEGORY and data = content://com.company.app/categories/123
我当然可以转向使用明确的意图,因为东西发生在我的应用程序内部,但我宁愿使其在美丽的REST风格的方法:)
帮助赞赏。
http://developer.android.com/guide/components/intents-filters.html#Receiving-有一个说明,你应该阅读。 – Luksprog 2014-10-05 07:42:39
@Luksprog,谢谢你迫使我重读这个文档:) – Drew 2014-10-05 08:30:02