如何在 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 元素:
我有几个问题:
- 是否可以在 facebook 应用程序中处理 facebook 登录和喜欢我的页面(如果存在)?
- 我如何以正确的方式处理它 - 当用户单击此元素时,Web 视图会在桌面视图模式下打开 facebook 登录页面,而我希望它在移动视图模式下。
看看:
- 登录后 webview 显示 link 返回我的网站,返回网站后如果用户按下后退按钮,他将再次看到 link,如何解决?
- 当用户按下任何 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;
}
}
我使用 Web 视图元素创建了本机 android 基于 Web 的应用程序。 该应用程序依赖于我的网站,在我的网站中有 facebook 嵌入元素(使用 Elementor Pro [WORDPRESS] 添加)- link to website
Facebook 元素:
我有几个问题:
- 是否可以在 facebook 应用程序中处理 facebook 登录和喜欢我的页面(如果存在)?
- 我如何以正确的方式处理它 - 当用户单击此元素时,Web 视图会在桌面视图模式下打开 facebook 登录页面,而我希望它在移动视图模式下。
看看:
- 登录后 webview 显示 link 返回我的网站,返回网站后如果用户按下后退按钮,他将再次看到 link,如何解决?
- 当用户按下任何 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;
}
}