【发布时间】:2012-07-06 13:39:23
【问题描述】:
我有一个 Android 应用,它在 Google 云端硬盘中创建自己的文件,MIME 类型为 application/vnd.test.type
如here 所述,我想让我的应用在由 Google Drive 应用打开时处理此文件类型的请求。
我处理文件打开的活动在我的清单文件中,如下所示:
<activity android:name="DriveHandlerActivity"
android:label="@string/app_name"
android:icon="@drawable/icon"
android:exported="true" >
<meta-data android:name="com.google.android.apps.drive.APP_ID"
android:value="id=MY_ID"/>
<intent-filter >
<action android:name="com.google.android.apps.drive.DRIVE_OPEN"/>
<data android:mimeType="application/vnd.test.type"/>
</intent-filter>
</activity>
当我尝试在 Google Drive 应用程序中打开文件时,我得到了“打开方式...”对话框,正如预期的那样,我的应用程序被列为唯一能够处理此文件类型的条目。不幸的是,在确认操作后,我会得到一个对话框。
然后,我唯一的选择是按下“取消”按钮,这会将我返回到 Google Drive 应用程序。
我并不完全相信我的元数据是正确的,因为根据您的查看位置使用不同的名称来引用 ID。一些documentation calls it the App ID,一些称之为项目ID (See here at 26:44)。我尝试使用 Google API 控制台中列出的“项目 ID”以及同一页面上的项目编号(来自 URL)。无论我选择哪个值作为 ID,我都会收到相同的错误。
据我所知,下一步应该是在我的应用中处理意图,但由于所描述的错误,意图永远不会到达。谁能告诉我我做错了什么?
【问题讨论】:
-
你用的是模拟器还是真机?
-
真正的 Galaxy Nexus 运行 Jellybean