我患有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