【发布时间】:2014-07-07 18:46:40
【问题描述】:
我想使用第三方应用程序(如 Polaris office、quickoffice、kingsoft docs 等)使用选择器打开我保存在应用程序存储中的文档。我也想授予编辑文档的权限。
如果我使用 FLAG_GRANT_READ_URI_PERMISSION 打开文档,则文档可以正常打开,但如果我使用 FLAG_GRANT_WRITE_URI_PERMISSION 将外部应用程序推送但不显示所选文档。如果是 Polaris Office,则使用 FLAG_GRANT_READ_URI_PERMISSION 可以正常打开文档,但如果我使用 FLAG_GRANT_WRITE_URI_PERMISSION 它会显示不支持文档类型。
我使用的代码是
File file = new File(
getFilePath(data.getUniqueId(), data.getFileName()));
Uri uri = FileProvider.getUriForFile(context, "com.example.com",
file);
Intent intent = new Intent();
intent.setAction(Intent.ACTION_EDIT);
intent.setDataAndType(uri, "application/pdf");
intent.setFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
Intent chooserIntent=Intent.createChooser(intent, uri.toString());
context.startActivity(chooserIntent);
在清单中我已经提到了
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="com.example.com"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/my_paths" />
</provider>
请告诉我我哪里错了。
我想为第三方应用提供打开和编辑所选文档的临时权限。这些文档需要存储在应用存储空间中。
【问题讨论】:
标签: android