我正在尝试添加共享意图以发布到 Google Plus ,似乎无法解决将新的ShareCompat.IntentBuilder
(Android支持库类)传递给startActivity
方法。我开始使用this example。我的应用程序是使用Android 2.2平台编译的。是否有可能有另一种支持方式来启动活动以启动共享意图。
IntentBuilder shareIntent = ShareCompat.IntentBuilder.from(MyActivity.this);
shareIntent.setText(message);
shareIntent.setSubject(subject);
if (mFullFileName != null) {
File imageFile = new File(mFullFileName);
if (imageFile.exists()) {
shareIntent.setStream(Uri.fromFile(imageFile));
shareIntent.setType("image/jpeg");
}
} else {
shareIntent.setType("*.*");
}
shareIntent.getIntent();
// doesn't compile only accepts Intent and not the Intentbuilder
startActivity(shareIntent);
答案 0 :(得分:16)
这是我的代码中的一个示例,但如果您想要一些参考资料,请点击文章的超链接。
public void shareText(String text) {
String mimeType = "text/plain";
String title = "Example title";
Intent shareIntent = ShareCompat.IntentBuilder.from(this)
.setChooserTitle(title)
.setType(mimeType)
.setText(text)
.getIntent();
if (shareIntent.resolveActivity(getPackageManager()) != null){
startActivity(shareIntent);
}
}
答案 1 :(得分:8)
好笑,我只是弄明白......给出的例子是假设创建一个Intent而不是一个IntentBuilder对象..必须改变我的代码来链接对象创建。
Intent i = ShareCompat.IntentBuilder.from(MyActivity.this)
.setText(message)
.setSubject(subject)
.setStream(Uri.fromFile(imageFile))
.setType("image/jpeg")
.getIntent()
.setPackage("com.google.android.apps.plus");