【问题标题】:How can I handle correctly facebook embed element on webview android app?如何在 webview android 应用程序上正确处理 facebook 嵌入元素?
【发布时间】:2021-01-12 09:22:32
【问题描述】:

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

Facebook 元素:

我有几个问题:

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

看看:

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

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

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

【问题讨论】:

    标签: android facebook web android-webview web-based


    【解决方案1】:

    经过 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;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2013-11-24
      • 2019-07-21
      • 2011-12-01
      • 2011-11-21
      • 2013-04-08
      • 2011-10-03
      • 1970-01-01
      • 1970-01-01
      • 2011-04-01
      相关资源
      最近更新 更多