Android应用调用Facebook应用打开公共页面出现'Trouble Loading'问题的解决方法咨询
在Android应用中通过Facebook应用打开公共页面的解决方案
嘿,我来帮你搞定这个问题!你之前用fb://facewebmodal/f?href=http://www.facebook.com/<page_name>打开公共页面时遇到"Trouble Loading",大概率是因为这个模态窗口的方式对公共页面的支持不够稳定,而且你用的是http协议,换成https可能会好一点,但更靠谱的方法是用Facebook官方推荐的直接跳转公共页面的URI格式。
下面是具体的解决步骤:
1. 获取Facebook公共页面的ID
公共页面的ID是固定不变的(不像页面名称可能会修改),用ID跳转是最稳定的方式。获取ID的方法很简单:
- 打开网页版的目标Facebook公共页面
- 可以在页面的「关于」板块找到ID,或者右键查看页面源代码,搜索
pageID就能找到对应的数字ID(比如Google公共页面的ID是104958162837)
2. 使用官方URI构造Intent
用fb://page/<page_id>的格式来构造URI,这样就能直接唤起Facebook应用打开对应的公共页面了。同时别忘了处理Facebook应用未安装的情况,跳转到网页版作为备选。
完整代码示例:
// 替换成你的目标公共页面ID String facebookPageId = "104958162837"; Uri facebookUri = Uri.parse("fb://page/" + facebookPageId); Intent facebookIntent = new Intent(Intent.ACTION_VIEW, facebookUri); // 检查设备上是否安装了Facebook应用 PackageManager packageManager = getPackageManager(); if (facebookIntent.resolveActivity(packageManager) != null) { // 有Facebook应用,直接打开 startActivity(facebookIntent); } else { // 没有安装,跳转到网页版 Uri webUri = Uri.parse("https://www.facebook.com/" + facebookPageId); Intent webIntent = new Intent(Intent.ACTION_VIEW, webUri); startActivity(webIntent); }
额外说明
如果你还是想尝试用页面名称跳转,可以把之前的URI改成fb://facewebmodal/f?href=https://www.facebook.com/<page_name>(把http换成https),但这种方式不如用ID稳定,因为页面名称可能会被修改,而且部分公共页面可能还是会加载失败。
内容的提问来源于stack exchange,提问作者Sergii Dmytrenko
相关产品推荐
相关产品推荐

