我需要将文件与Google云端硬盘(例如.gpx)中的特定扩展程序相关联。因此,当我单击Drive上的.gpx文件时,我应该可以选择使用我的应用程序打开此文件。
目前我有一个活动处理这些文件,点击AndroidManifest.XML中以下面的方式声明,它适用于本地存储的文件和gmail附件,但不适用于Drive:
<activity
android:name=".ui.PhotosActivity"
android:label="@string/app_name"
android:launchMode="singleTop"
>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:priority="1">
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="http"/>
<data android:scheme="https"/>
<data android:scheme="ftp"/>
<data android:scheme="file"/>
<data android:host="*"/>
<data android:mimeType="*/*"/>
<data android:pathPattern=".*\\.gpx"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<action android:name="com.google.android.apps.drive.DRIVE_OPEN" />
<category android:name="android.intent.category.BROWSABLE"/>
<category android:name="android.intent.category.DEFAULT"/>
<data
android:mimeType="application/octet-stream"
android:pathPattern=".*\\.gpx"
android:scheme="file"/>
<data
android:mimeType="application/octet-stream"
android:pathPattern=".*\\.gpx"
android:scheme="content"/>
</intent-filter>
</activity>
答案 0 :(得分:1)
将此添加到您的清单:
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
然后将其添加到您的活动中:
<meta-data
android:name="com.google.android.apps.drive.APP_ID"
android:value="id=xxxxxxx" />
其中xxxxxxx是您使用Google API控制台声明的项目ID。
<intent-filter>
<action android:name="com.google.android.apps.drive.DRIVE_OPEN" />
<data android:mimeType="application/vnd.google-apps.drive-sdk.1234567890" />
<data android:mimeType="*/*" />
<data android:pathPattern=".*\\.gpx" />
</intent-filter>