我的GDK应用生成了一个我希望用户与其他人分享的图片。
我尝试创建一张包含图片的卡片并将其插入时间线。该卡没有共享菜单项。
我也尝试将图片添加到媒体库中,但不会产生错误,但图片没有出现在时间轴中:
Uri result = this.getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, image);
最后我尝试了ACTION_SEND的意图似乎不受支持:
Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
那么正确的方法是什么?
- 修改
我尝试了一些不成功的事情:
- 上传到Amazon S3。我不能在GDK应用程序中使用Amazon .jar文件。应用程序构建但我在运行时获得了ClassNotFoundException。
- 使用JavaMail API将该图像邮寄到特定的电子邮件地址。它看起来不像JavaMail的一些必需类包含在GDK环境中。
答案 0 :(得分:0)
我不知道是否存在'Share'系统菜单,但是如果你想在时间轴上推一张卡,你应该使用TimelineManager类,它允许你与Glass时间轴交互:
请注意,如果您推送静态卡或活卡,则无法使用相同的插入策略。
儒略
答案 1 :(得分:0)
好的,我想我在这里有解决方案。我可以将图像发布到服务中,然后在后端执行我需要做的任何事情。我不得不对图像内容b / c进行Base64编码,据我所知它看起来不像支持Multipart。把这个坏孩子包裹在AsyncTask中你应该好好去:
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://myservicetodothis.com/");
byte[] contentBytes = <bytes from image go here>;
String encodedFile = Base64.encodeToString(contentBytes, Base64.DEFAULT);
try {
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("fileBytes", encodedFile));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
Log.i(TAG, "HTTP Response is : " + response);
} catch (IOException e) {
// TODO Auto-generated catch block
}