我想在我的
Android应用程序中集成一个类似的按钮.我用过代码
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 );
解决方法
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 );
在这里,在您的代码中,您必须像likeurl,url那样.
使用http://developers.facebook.com/docs/reference/plugins/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://www.integratingstuff.com/2010/10/14/integrating-facebook-into-an-android-application/