Android Intent 将文本/纯数据共享到 Google 云端硬盘

标签 android android-intent google-drive-api

我创建了一个简单的记事本应用程序,它实现了 ACTION_SEND 共享 Intent 来共享笔记。

我的数据具有“文本/纯文本”的 MIME 类型,并且在我的设备上提供了 Google Drive(以前称为 Google Docs)选项,当我选择 Google Drive 时,我收到错误消息“此项目无法作为 Google 文档上传"通过 Toast 消息。

我这样创建我的分享 Intent :

Intent share_intent = new Intent(android.content.Intent.ACTION_SEND);

share_intent.setType("text/plain");
share_intent.putExtra(android.content.Intent.EXTRA_SUBJECT, name);
share_intent.putExtra(android.content.Intent.EXTRA_TEXT, content);

startActivity(share_intent);

Mail、Messaging、Twitter 和 Wordpress 等应用似乎都能很好地处理 Intent 并至少共享 EXTRA_TEXT 内容。

我想知道是否有一种方法可以让 Google 云端硬盘成功上传笔记,或者至少更好地处理 Intent ?

我是 Android 的新手,所以如果这是一个愚蠢的问题,请原谅我的愚蠢。 如果有帮助的话,我正在针对最低 SDK 版本 15 进行开发。

这是错误消息的屏幕截图: Screen shot showing error message

在 LogCat 中,我再次发现错误消息:

05-13 23:31:46.906: E/UploadSharedItemActivity(14594): This item cannot be uploaded as Google Document.

在错误消息之前还有一个警告:

05-13 23:31:46.250: W/ND(14594): Could not load Finalizer in its own class loader. Loading Finalizer in the current class loader instead. As a result, you will not be able to garbage collect this class loader. To support reclaiming this class loader, either resolve the underlying issue, or move Google Collections to your system class path.
05-13 23:31:46.250: W/ND(14594): java.io.FileNotFoundException: com/google/inject/internal/Finalizer.class
05-13 23:31:46.250: W/ND(14594):    at NE.a(FinalizableReferenceQueue.java:269)
05-13 23:31:46.250: W/ND(14594):    at NE.a(FinalizableReferenceQueue.java:253)

我不知道这是否相关。

如果有帮助,我可以将整个 LogCat 转储到这里。

最佳答案

您不能将文本共享到 google 文档,但可以共享文件(文本文件或其他文件) 因此,只需将您的文本保存到应用程序中的一个文件中,然后使用 Intent 共享该文件:

    Intent intent = new Intent(android.content.Intent.ACTION_SEND);
    intent.setType("text/plain");
    intent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + your_file_path));
    startActivity(Intent.createChooser(intent, ""));

关于Android Intent 将文本/纯数据共享到 Google 云端硬盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10575905/

相关文章:

android - 开发flutter应用程序而无需在我的机器中实际安装flutter

android - 我应该在客户端解码 JWT 吗?

android - 使用 Intent 将文本分享到 Linkedin

javascript - 如何检查 GAS 中文件是否存在(通过 id)

java - 在 HTTP 请求返回值之前阻止函数向前移动

java - 适用于 FCM 的 GoogleApiClient.Builder().addApi()

android - RecyclerView onListItem点击创建新 Intent

android - 如何知道我们的应用程序是否被其他应用程序的 Intent 启动

android - 无法在谷歌驱动器的公用文件夹中创建文件

ios - 如何从 GTLDriveFile 获取 google 驱动器文件的 url?