我正在与facebook,twitter,Linkedin,picasa分享一张照片。我可以毫无问题地分享文本。可以用一些例子解释如何共享一张照片。目前我正在使用以下代码(添加一个简单的共享动作)
private ShareActionProvider mShareActionProvider;
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate menu resource file.
getMenuInflater().inflate(R.menu.main, menu);
MenuItem item = menu.findItem(R.id.menu_item_share);
mShareActionProvider = (ShareActionProvider) item.getActionProvider();
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
//Uri screenshotUri = Uri.fromFile(new File(getFilesDir(), ".jpg"));
Log.d("Storage dir ", "Getting the directory");
File f = FileUtils.getStorageDir();
Log.d("All Answers: ", f.getAbsolutePath());
sharingIntent.setType("image/png");
sharingIntent.putExtra(Intent.EXTRA_STREAM,f);
startActivity(Intent.createChooser(sharingIntent, "Share image using"));
// Set the share Intent
mShareActionProvider.setShareIntent(sharingIntent);
return true;
}
// Call to update the share intent
private void setShareIntent(Intent shareIntent) {
if (mShareActionProvider != null) {
mShareActionProvider.setShareIntent(shareIntent);
}
}
}
先谢谢
答案 0 :(得分:1)
共享二进制对象(图片,视频等) 您可以使用此代码
除支持文本外,此意图还支持共享图像或任何二进制内容。您所要做的就是设置适当的mime类型,然后通过调用put Extra方法传递二进制数据。
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
Uri screenshotUri = Uri.parse(path);
sharingIntent.setType("image/png");
sharingIntent.putExtra(Intent.EXTRA_STREAM, screenshotUri);
startActivity(Intent.createChooser(sharingIntent, "Share image using"));
注册意图
如果您希望在调用此Intent时列出您的应用,则必须在manifest.xml文件中添加intent过滤器
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
您将打开Chooser对话框并在facebook,twitter,Linkedin等上选择Facebook和共享照片。
答案 1 :(得分:0)
试试这段代码:
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("image/*");
share.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File(filePath)));
它将打开选择器对话框,其中包含允许照片共享功能的所有可能应用程序。只需选择Facebook,Twitter或您要分享照片的任何其他应用程序。
答案 2 :(得分:0)
SocialLib是适用于Android的优秀共享工具包(适用于iOS的最佳版本为ShareKit)。
SocialLib允许集成: Facebook的 推特 Google Buzz LinkedIn
如果您只想使用脸谱分享关注Facebook Share Dialog。