很长一段时间的研究。最后我找到了解决办法..
它对我很好。
private void postToFacebookViaIntent() {
File mFile = new File(Environment.getExternalStorageDirectory()+ "/images.jpg");
Intent shareIntent = findFacebookClient();
if (shareIntent != null && mFile!= null) {
shareIntent.putExtra(Intent.EXTRA_STREAM,Uri.fromFile(mFile));
startActivity(Intent.createChooser(shareIntent, "Share"));
} else {
Toast.makeText(SharingActivity.this, "Facebook App is not installed", Toast.LENGTH_SHORT).show();
}
}
private Intent findFacebookClient() {
final String twitterApps = "facebook";
Intent facebookIntent = new Intent();
facebookIntent.setAction(Intent.ACTION_SEND);
facebookIntent.setType("image/jpeg");
final PackageManager packageManager = getPackageManager();
List<ResolveInfo> list = packageManager.queryIntentActivities(
facebookIntent, 0);
for (ResolveInfo resolveInfo : list) {
String p = resolveInfo.activityInfo.packageName;
if (p != null && p.contains(twitterApps)) {
facebookIntent.setPackage(p);
return facebookIntent;
}
}
return null;
}
你能否详细说明 '对话框并不看好'?这样,任何新的解决方案都可以在你看到它们时克服这些限制。 – 2011-04-17 10:56:59
我相信它显示在网络视图上,非常拥挤,我在画廊中看到的那个看起来更好。 – rogerstone 2011-04-17 12:43:46