使用LikeView(com.facebook.share.widget.LikeView)时isLiked()等效代码?

时间:2015-12-17 14:31:43

标签: android facebook-android-sdk

我已经在我的Android应用程序中成功实现了LikeView。一切正常。

我有兴趣奖励喜欢我的应用的用户。是否有任何可以实施奖励代码的活动。

先谢谢:)

这是我的LikeView代码

likeView = (LikeView) findViewById(R.id.LikeView);
likeView.setObjectIdAndType("https://www.facebook.com/BrightnessDimmer",LikeView.ObjectType.PAGE);
likeView.setLikeViewStyle(LikeView.Style.STANDARD);
likeView.setAuxiliaryViewPosition(LikeView.AuxiliaryViewPosition.INLINE);
likeView.setHorizontalAlignment(LikeView.HorizontalAlignment.CENTER);

2 个答案:

答案 0 :(得分:0)

根据他们的文件,这是不可能的 也许,如果您的奖励不是“敏感奖励”,您可以在SharedPreferences中保存用户操作点击...

答案 1 :(得分:0)

按下类似按钮的结果可以从onActivityResult()获得。

首先,您需要在处理LikeView的Activity中创建一个Facebook CallbackManager

private CallbackManager mFacebookCallbackManager;
//... in the onCreate() or other methods
// For Facebook SDK v4
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) {
        mFacebookCallbackManager = CallbackManager.Factory.create();
}

然后在onActivityResult()方法中:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (null != data) {
        if ("com.facebook.platform.action.request.LIKE_DIALOG".equals(data.getStringExtra("com.facebook.platform.protocol.PROTOCOL_ACTION"))) {
            Bundle bundle = data.getExtras().getBundle("com.facebook.platform.protocol.RESULT_ARGS");
            if (bundle != null) {
                // Here your get the like result
                System.out.printf("Facebook like result:%b\n", bundle.getBoolean("object_is_liked"));
                mFacebookCallbackManager.onActivityResult(requestCode, resultCode, data);
            }
        }
    }
}

希望这有帮助。