我正在尝试向 Google+ 发送 JSON 对象和关联的缩略图。但我无法让它工作。例如,我得到以下响应:
05-30 22:38:16.819: E/AndroidRuntime(11643): FATAL EXCEPTION: main
05-30 22:38:16.819: E/AndroidRuntime(11643): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.SEND typ=application/json flg=0x80000 pkg=com.google.android.apps.plus (has extras) }
05-30 22:38:16.819: E/AndroidRuntime(11643): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1409)
这告诉我 Google+ 库没有找到处理“ application/json
” MIME 类型的正确方法。我的代码(相关部分)像这样运行(我从Google+ 示例中获得了大部分代码):
PlusShare.Builder builder = new PlusShare.Builder(this, plusClient);
// Set call-to-action metadata.
builder.addCallToAction("VIEW_ITEM", callToActionUrl, callToActionDeepLinkId);
File thumbnailFile = generateThumbnail();
builder.setStream(Uri.fromFile(outputJSON()));
builder.setType("application/json");
thumbnailFile!=null?Uri.fromFile(thumbnailFile):null);
如果我避免将流设置为 JSON 类型,它似乎工作正常。我生成的 JSON 是这样的:
{"INSTRUMENTS":
[{"MINOR":false,"CHANNEL":0,"MAJOR":false,"HIGH_RANGE":-8012206,
"PROGRAM":1,"MAX_KEY":70,"NOTE_LENGTH":150,"LOW_RANGE":-16217748,
"MIN_VELOCITY":60,"MIN_KEY":40},
{"MINOR":false,"CHANNEL":2,"MAJOR":true,"HIGH_RANGE":-2790500,
"PROGRAM":8,"MAX_KEY":90,"NOTE_LENGTH":150,"LOW_RANGE":-12114977,
"MIN_VELOCITY":60,"MIN_KEY":70}]}
我见过不同的 API,它们告诉如何使用 Bitmaps 和 what-have-you 发送这样的 JSON 对象,但 Android API 文档有点……稀疏。有谁知道我如何在 Android 中做同样的事情?
理想情况下,一旦正确完成,帖子应包含:
- 图像的指纹
- JSON 数据,当用户从 Android 设备点击帖子时,我的应用将通过深度链接使用这些数据
- 用户编写的文本/标题