根据google+ docs,我正在尝试仅为已定义的收件人发送帖子。
Intent sharePost = new PlusShare.Builder(this)
.setType("text/plain")
.setText(msg)
.setRecipients(Array.asList(PlusShare.createPerson(id, name)))
.setContentUrl(Uri.parse("http://www.google.com/"))
.getIntent();
但是,当Google+应用程序打开时,收件人字段不包含私有定义的人员。我检查'id'和'name',但它们是正确的。
可能有人对此有所了解。非常感谢。
更新 这是具有当前意图的startActivityForResult之后的Google+应用的屏幕截图。朋友圈设置为共享目标。
基于Ian's advice 的
解决方案
使用带有两个参数的PlusShare.Builder(Activity& PlusClient)。但现在这个构造函数已被弃用,并且可能存在此问题的另一种解决方案。
答案 0 :(得分:2)
当您从登录的应用程序共享时,通常只能预先填写收件人。如果您已在应用程序中实现了登录,请尝试使用PlusClient作为第二个参数的PlusShare.Builder构造函数。
答案 1 :(得分:0)
setRecipients method采用ArrayList,而不是Person。即使您在显示的代码中只有一个人,它也应该在数组列表中。
private ArrayList<Person> recipients;
recipients.add(PlusShare.createPerson(id, name));
Intent sharePost = new PlusShare.Builder(this)
.setType("text/plain")
.setText(msg)
.setRecipients(recipients)
.setContentUrl(Uri.parse("http://www.google.com/"))
.getIntent();