android - Facebook 官方 Android SDK - 如何打开页面?
问题描述
当用户按下我的应用程序中的按钮时,我想打开 Facebook 应用程序并直接转到 Facebook 页面。
如何使用官方 Facebook SDK 做到这一点?
到目前为止,我看到的所有解决方案都相当老套,检查是否使用包管理器或其他东西安装了 FB 应用程序。鉴于Package Visibility的先例,这在未来可能会成为一个问题。
另一种解决方案依赖于来自反编译的 Facebook APK 的非官方 URI 列表,该列表可能随时中断。
解决方案
我试过这段代码。打开 facebook 应用程序 https://stackoverflow.com/a/52480045/14215175
try
{
Intent followIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("fb://profile/<your profile_id>"));
startActivity(followIntent);
final Handler handler = new Handler();
handler.postDelayed(new Runnable()
{
@Override
public void run() {
Intent followIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("fb://profile/<your profile_id>"));
startActivity(followIntent);
}
}, 1000 * 2);
}
catch (Exception e)
{
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.facebook.com/<user_name>")));
String errorMessage = (e.getMessage()==null)?"Message is empty":e.getMessage();
Log.e("Unlock_ScreenActivity:FacebookAppNotFound" ,errorMessage);
}
如果您想针对特定的个人资料/组/页面,您需要更改代码 fb://profile --> "fb://group" / "fb://page"
推荐阅读
- javascript - Firestore 数组包含任何不适用于数组值?
- r - R:使用lm时可变长度不同错误
- jenkins - 下游作业未从上游作业接收构建参数
- javascript - 将 Alpine.js x-transitions 转换为 Vue.js 转换类?
- c++ - 安装 pHash 库时对“fftw_init_threads”的未定义引用
- ios - 显示 MDTimePicker 时键盘未关闭
- php - 如何在 PHP 文档块中使用 $this 引用
- c - 为什么 LD_PRELOAD 与系统调用一起工作?
- c - 如何正确管理“__attribute__((__interrupt__, no_auto_psv)) ”?
- c# - 如果没有保存引用,SystemTimers.Timer 何时被视为垃圾?