如何在 webview android 应用程序中正确处理 facebook 嵌入元素?

How can I handle correctly facebook embed element on webview android app?

我使用 Web 视图元素创建了本机 android 基于 Web 的应用程序。 该应用程序依赖于我的网站,在我的网站中有 facebook 嵌入元素(使用 Elementor Pro [WORDPRESS] 添加)- link to website

Facebook 元素:

我有几个问题:

  1. 是否可以在 facebook 应用程序中处理 facebook 登录和喜欢我的页面(如果存在)?
  2. 我如何以正确的方式处理它 - 当用户单击此元素时,Web 视图会在桌面视图模式下打开 facebook 登录页面,而我希望它在移动视图模式下。

看看:

  1. 登录后 webview 显示 link 返回我的网站,返回网站后如果用户按下后退按钮,他将再次看到 link,如何解决?

  1. 当用户按下任何 post 按钮时,Web 视图显示带有数字“1”的空白屏幕:

我需要你的帮助来处理这个 facebook 元素。 提前谢谢大家!

经过 2 天的研究,我找到了可能的解决方案。 此解决方案不允许用户给我的 Facebook 页面点赞,如果已安装,它只允许在 Facebook 应用程序中查看我的 Facebook 页面:

    String pageUrl = String.format("fb://facewebmodal/f?href=%s", Constants.OUKITEL_FACEBOOK_PAGE_URL);//replace OUKITEL_FACEBOOK_URL with your page url

    Intent operation = new Intent(Intent.ACTION_VIEW, Uri.parse(pageUrl));
    try {

        if(isPackageInstalled(ctx, packageName)) {
            operation.setPackage(packageName);
        }
        ctx.startActivity(operation);
    }catch (Exception e) {
        Toast.maketext(MainActivity.this, "Facebook app is not installed")
    }

而'isPackageInstalled'是私有方法:

public static boolean isPackageInstalled(Context ctx, String packageName) {
    PackageManager pm = ctx.getPackageManager();
    try {
        return pm.getApplicationInfo(packageName, 0).enabled;
    } catch (PackageManager.NameNotFoundException e) {
        return false;
    }
}