在Android的Facebook墙上发布?

在手机中的Android 图库中,可以选择将图像分享到Facebook并将其张贴到墙上 。我想以与我的应用完全相似的方式在墙上张贴消息或图像。如何才能做了什么?

我的理解是 :我相信它使用已经存在于我的手机中的Facebook应用程序。如果是这种情况,那么我可以启动该特定活动或从我的应用程序中引发与该活动相对应的意图。如果是这种情况,有人可以让我知道是我应该投掷的相应意图我应该传递的参数是什么以及在什么键名下应该传递这些参数?

如果我的理解错误,请纠正我,让我知道如何做到这一点。

PS :根据这篇精彩的文章,我一直在使用Facebook的sdk Android / Java - 发布简单的文本到Facebook墙? 它的工作原理。但对话框看起来不太好。这就是为什么我正在寻找不同的选择。

谢谢


我认为你正在寻找ACTION_SEND意图。

看到这篇文章。

编辑:和它的文档

第二次编辑:请注意,如果该家伙没有Facebook应用,他将无法分享。 如果您使用Facebook API,那么他将可以分享到Facebook,但只有Facebook。


很长一段时间的研究。 最后我找到了解决方案..

它对我很好。

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;
}

本文可帮助您解决此问题。 http://vnstep.wordpress.com/2012/04/14/share-via-android/或通过ACTION_SEND在Android App上分享Facebook上的文字

链接地址: http://www.djcxy.com/p/49603.html

上一篇: Post on facebook wall in android?

下一篇: Post directly to facebook stream/wall with Androids Facebook SDK!