在我的Android应用程序中,我想在Facebook官方应用程序中打开一个指向Facebook个人资料的链接(当然,如果安装了该应用程序的话).对于iPhone,存在fb:// URL方案,但在我的Android设备上try 同样的方法会抛出ActivityNotFoundException.

是否有机会从code在Facebook官方应用程序中打开Facebook个人资料?

推荐答案

在facebook版本11.0.0.11.23(3002850)fb://profile/fb://page/中不再工作.我反编译了Facebook应用程序,发现您可以使用fb://facewebmodal/f?href=[YOUR_FACEBOOK_PAGE].以下是我在生产中一直使用的方法:

/**
 * <p>Intent to open the official Facebook app. If the Facebook app is not installed then the
 * default web browser will be used.</p>
 *
 * <p>Example usage:</p>
 *
 * {@code newFacebookIntent(ctx.getPackageManager(), "https://www.facebook.com/JRummyApps");}
 *
 * @param pm
 *     The {@link PackageManager}. You can find this class through {@link
 *     Context#getPackageManager()}.
 * @param url
 *     The full URL to the Facebook page or profile.
 * @return An intent that will open the Facebook page/profile.
 */
public static Intent newFacebookIntent(PackageManager pm, String url) {
  Uri uri = Uri.parse(url);
  try {
    ApplicationInfo applicationInfo = pm.getApplicationInfo("com.facebook.katana", 0);
    if (applicationInfo.enabled) {
      // http://stackoverflow.com/a/24547437/1048340
      uri = Uri.parse("fb://facewebmodal/f?href=" + url);
    }
  } catch (PackageManager.NameNotFoundException ignored) {
  }
  return new Intent(Intent.ACTION_VIEW, uri);
}

Android相关问答推荐

无法在Jetpack Compose中显示Admob原生广告

Jetpack Compose-如何使用值动画直接控制其他动画

Android Gradle/Groovy,如何将文件复制到APK

无法使用MenuItemColors.Copy()

Android:微调:在代码中设置ArrayAdapter不希望调用On ItemSelected,仅当用户单击微调时调用

Android 11:在try 获取文件的永久权限后,仍然没有读写权限

Android布局渲染问题

如何用帆布在喷气背包中画一个圆环?

Jetpack Compose:根据盒子中的最大视图固定宽度和高度

在 Bash 脚本中使用 XMLLINT 解析 XML 单元测试文件,并将其放入数组中以表示成功和失败

Jetpack Compose的val变量不能被重新分配

Android:使用依赖项 ViewModelProviderFactory 初始化 ViewModel 的正确方法

CoroutineScope 与挂起函数

安卓模拟器打不开

如何正确地将图像上传到 Jetpack Compose 中的 LazyList 中的项目?

Android Transitions API - 在 24-48 小时后停止接收任何更新

如何在屏幕旋转或系统主题更改后将光标移动到 TextField 的末尾并保持键盘显示?

Compose `Icons.Outlined.Star` 没有概述

如何在 MAUI 项目中包含每个平台的现有 C++ 库?

为什么在try 实例化 Mediaplayer 时会出现 NullPointerException?安卓Kotlin