【问题标题】:How to implement facebook comment plugin in Android如何在Android中实现facebook评论插件
【发布时间】:2015-12-11 14:05:52
【问题描述】:

如何在 Android 中实现 Facebook cmets 插件,允许用户将 cmets 发布到他们的墙上,如下图所示?

【问题讨论】:

  • 该插件仅适用于网络。
  • 我可以在 html 文件中创建该插件并将其加载到 android 的 webview 上吗?我正在寻找类似的东西.. @CBroe

标签: android facebook android-webview facebook-javascript-sdk facebook-comments


【解决方案1】:

也许这不是您要找的,但我发现很少有可以开始滚动的想法,比如有一个 Graph API Facebook social plugin on android 或 WebView Android unable to implement facebook comment in a webview due to default browser

编辑:如果您设置了已经有 cmets 的正确域和路径,应该可以工作。 还没有检查如果原始路径没有 cmets 会如何

package com.example.ff;


import android.annotation.SuppressLint;
import android.app.Activity;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.webkit.CookieManager;
import android.webkit.CookieSyncManager;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends Activity {
// changeable public variables 
    public static String APP_KEY = "You're app key";
    public static String BASE_DOMAIN = "http://www.9gag.com";
    public static String PATH_URL = "/tv/p/anNBpr";

    private WebView webView;
    private MainActivity context;



    @SuppressWarnings("deprecation")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        context = this;
        CookieSyncManager.createInstance(this);
        CookieManager cm = CookieManager.getInstance();
        cm.removeAllCookie();
        webView = (WebView) findViewById(R.id.web_login);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.getSettings().setDomStorageEnabled(true);
        webView.loadDataWithBaseURL(BASE_DOMAIN, 
                "<html><head></head><body><div id=\"fb-root\"></div><div id=\"fb-root\"></div><script>(function(d, s, id) {var js, fjs = d.getElementsByTagName(s)[0];if (d.getElementById(id)) return;js = d.createElement(s); js.id = id;js.src = \"http://connect.facebook.net/en_US/all.js#xfbml=1&appId="+APP_KEY+ "\";fjs.parentNode.insertBefore(js, fjs);}(document, 'script', 'facebook-jssdk'));</script><div class=\"fb-comments\" data-href=\""
        +BASE_DOMAIN+PATH_URL+"\" data-width=\"470\"></div> </body></html>", "text/html", null, null);
        webView.setWebViewClient(new WebViewClientActivity());
    }
    public class WebViewClientActivity extends WebViewClient {
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            System.out.println("onPageStarted: " + url);

        }

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            //view.loadUrl(url);
            return true;
        }

        @Override
        public void onPageFinished(WebView webView, String url) {
            System.out.println("onPageFinished: " + url);

        }
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        return super.onOptionsItemSelected(item);
    }

【讨论】:

  • 感谢@noobie 艺术家。但我不是在寻找那个。我想要这样的评论插件stackoverflow.com/questions/15584176/…
  • @AmalDevSI 使用与这里相同的东西 stackoverflow.com/questions/19108610/… 他们在 android 中使用 WebView
  • 但是当我使用那个 facebook.html 文件时,会出现如下所示的错误。 Uncaught SyntaxError: Unexpected token ILLEGAL in var js, fjs = d.getElementsByTagName(s)[0];你能解决这个问题吗? @noobie 艺术家
  • 非常感谢@noobie 艺术家。代码运行良好。 :)
  • @AmalDevSI PATH_URL 这里应该传递什么?你能推荐我吗?
猜你喜欢
  • 1970-01-01
  • 2012-10-30
  • 1970-01-01
  • 1970-01-01
  • 2011-10-20
  • 2011-12-18
  • 1970-01-01
  • 2012-10-11
  • 2011-06-04
相关资源
最近更新 更多