首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android facebook点赞

android facebook点赞
EN

Stack Overflow用户
提问于 2011-12-16 14:52:56
回答 3查看 7K关注 0票数 6

我想在我的android应用程序中集成一个like按钮。我用的是代码

代码语言:javascript
复制
likeWebView = (WebView) findViewById( R.id.webView1 );
 likeWebView.getSettings().setJavaScriptEnabled(true);
 String url = "http://www.facebook.com/plugins/like.php?" +
           "href=" + URLEncoder.encode("likeurl" ) + "&" +
           "layout=standard&" +
           "show_faces=false&" +
           "width=500&" +
           "action=like&" +
           "colorscheme=light&" +
           "access_token=" + URLEncoder.encode( "read_stream" );
likeWebView.loadUrl( url );

但登录后显示的是一个空白页面。请给我一个解决方案,添加一个喜欢按钮。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-12-16 15:30:38

代码语言:javascript
复制
private initLikeButton( String urlToLike ) {
   likeWebView = (WebView) findViewById( R.id.likeWebView );
   likeWebView.getSettings().setJavaScriptEnabled(true);

String url = "http://www.facebook.com/plugins/like.php?" +
       "href=" + URLEncoder.encode( urlToLike ) + "&" +
       "layout=standard&" +
       "show_faces=false&" +
       "width=375&" +
       "action=recommend&" +
       "colorscheme=light&" +
       "access_token=" + URLEncoder.encode( FacebookAdapter.getInstance().getAccessToken() );

likeWebView.loadUrl( url );

在这里,在你的代码中,你必须把放在像,url这样的地方。

使用由http://developers.facebook.com/docs/reference/plugins/like处的like按钮代码生成器提供的iframe代码。但由于iframe基本上与WebView相同,因此在iframe中加载代码,然后在WebView中加载iframe似乎是多余的。因此,我只是使用以下代码将iframe中的代码直接加载到WebView中。但同样的事情也会发生在两种情况下。

顺便说一下,在开发iPhone应用程序时也存在同样的问题。我们不希望用户每次运行我们的应用程序时都必须登录facebook。但不幸的是,如果用户自上次通过我们的应用程序登录facebook以来,已经在另一台计算机上登录过facebook,他们将不得不再次登录。

在android平台上,我认为一个更好的解决方案可能是有一个facebook应用程序,你可以向它发送一个意图,它负责让用户保持登录,并返回html以呈现点赞按钮。

更多信息请访问:https://github.com/facebook/facebook-android-sdk/issues/17

http://blog.doityourselfandroid.com/2011/02/28/30-minute-guide-integrating-facebook-android-application/

http://www.integratingstuff.com/2010/10/14/integrating-facebook-into-an-android-application/

integrate facebook with like button in android and iphone

票数 2
EN

Stack Overflow用户

发布于 2014-11-29 05:57:11

终于在脸书上发布了安卓版的Like按钮

步骤:

1-将Facebook Library添加到项目

2- Facebook上的Create App 3-更新清单

代码语言:javascript
复制
**In the Application tab add meta-data**

<meta-data
        android:name="com.facebook.sdk.ApplicationId"
        android:value="@string/fb_id" />

4-在布局中添加LikeView

代码语言:javascript
复制
//activitymain.xml
<com.facebook.widget.LikeView
            android:id="@+id/like_view"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            >
        </com.facebook.widget.LikeView>

5- ActivityMain.java

代码语言:javascript
复制
//set facebook page or link to this like button
LikeView likeView;
UiLifecycleHelper uiHelper;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activitymain);
    uiHelper = new UiLifecycleHelper(this, null);
    likeView = (LikeView) findViewById(R.id.like_view);
    likeView.setObjectId("https://www.facebook.com/<page_username>");//it can be any link

    likeView.setLikeViewStyle(LikeView.Style.STANDARD);
    likeView.setAuxiliaryViewPosition(LikeView.AuxiliaryViewPosition.INLINE);
    likeView.setHorizontalAlignment(LikeView.HorizontalAlignment.LEFT);

}

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    uiHelper.onActivityResult(requestCode, resultCode, data, null);

}

输出

票数 8
EN

Stack Overflow用户

发布于 2012-07-25 20:51:44

许多答案都是有效的;我只是在上面已经有的基础上进行构建。在实际实施他们的解决方案时,我发现设备的默认浏览器将会打开,因为没有设置shouldOverrideUrlLoading

另外,我把它从recommended改成了like (我知道如果人们想要复制粘贴代码,像这样的小事情会让他们很生气--我对此很生气:P)。

以下是截至2012年7月25日运行的代码。

这只是LIKE按钮,如果您想要webView中的其他内容,请更改宽度/高度。

Java

代码语言:javascript
复制
    WebView likeWebView = new WebView(this);
    likeWebView.getSettings().setJavaScriptEnabled(true);

            likeWebView.setWebViewClient(new WebViewClient() {
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            view.setVisibility(View.INVISIBLE);
        }

        public void onPageFinished(WebView view, String url) {
            view.setVisibility(View.VISIBLE);
        }

        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            return false;
        }


    });

    String url = "http://www.facebook.com/plugins/like.php?" +
               "href=" + URLEncoder.encode( "[yout_url]" ) + "&" +
               "layout=standard&" +
               "show_faces=false&" +
               "width=375&" +
               "action=like&" +
               "colorscheme=light&" +
               "access_token=" + URLEncoder.encode( mApp.facebook.getAccessToken() );

    likeWebView.loadUrl(url);

布局

代码语言:javascript
复制
<WebView
    android:id="@+id/fb_likeWebView"
    android:layout_width="51dp"
    android:layout_height="24dp" />

干杯!:D

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8530759

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档