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

时间:2012-05-13 23:04:33

标签: android android-intent google-drive-api

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

我的数据的mime类型为" text / plain"我的设备上提供了Google云端硬盘(以前的Google文档)作为选择,当我选择Google云端硬盘时,我收到了错误消息"此项目无法上传为Google文档"通过Toast消息。

我像这样创建我的分享意图:

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等应用程序似乎都能很好地处理意图并至少共享EXTRA_TEXT内容。

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

我是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转储到这里。

2 个答案:

答案 0 :(得分:10)

您无法与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, ""));

答案 1 :(得分:0)

是的,看起来这是Google云端硬盘中的错误。在问这里之前,我应该在其他应用中更彻底地检查一下。

我通过该应用的“发送反馈”功能进行了报告。希望谷歌软件工厂的某个人将来能够修复它。