Android 如何使用ShareCompat.IntentBuilder启动触觉
我试图添加一个共享的意图来发布到Google Plus,但似乎无法解决将新的Android 如何使用ShareCompat.IntentBuilder启动触觉,android,android-intent,android-appcompat,Android,Android Intent,Android Appcompat,我试图添加一个共享的意图来发布到Google Plus,但似乎无法解决将新的ShareCompat.IntentBuilder(Android支持库类)传递到startActivity方法的问题。我刚开始使用。我的应用程序是使用安卓2.2平台编译的。是否有其他支持方式启动活动以启动共享意图 IntentBuilder shareIntent = ShareCompat.IntentBuilder.from(MyActivity.this); shareIntent
ShareCompat.IntentBuilder
(Android支持库类)传递到startActivity
方法的问题。我刚开始使用。我的应用程序是使用安卓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);
有趣的是,我刚想出来。。。给出的示例是假设创建一个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");
这是我的代码中的一个示例,但是如果您想要一些参考资料,请点击文章的超链接
public void shareText(String text) {
String mimeType = "text/plain";
String title = "Example title";
Intent shareIntent = ShareCompat.IntentBuilder.from(this)
.setType(mimeType)
.setText(text)
.getIntent();
if (shareIntent.resolveActivity(getPackageManager()) != null){
startActivity(shareIntent);
}
}
您得到的错误是什么?如果可能,请输入logcat输出。抱歉。。我的帖子没有我最初想的那么准确。。我在startActivity方法中添加了一个注释块。。这是一个编译问题,似乎无法为我工作。你可以接受你自己的ans…我删除了我的ans以减少噪音。请注意,Uri.fromFile(imageFile)在牛轧糖之后是不安全的。“将文件://URI传递到包域之外可能会使接收方留下不可访问的路径。”仅供参考,您可以用
getIntent
替换createchooserecontent
,以强制选择者。这样,您就不必检查包管理器是否能够解析活动,因为选择器将处理该活动。您在哪里使用了标题?