Android:使用用户名在应用中打开Facebook个人资料

时间:2016-09-15 10:46:36

标签: android facebook android-studio android-intent

如何从用户名打开Facebook个人资料?或者我应该在Android中使用哪个请求来获取(并打开)Facebook个人资料。

Intent intent;

try {
    activity.getPackageManager()
            .getPackageInfo("com.facebook.katana", 0); // Checks if FB is even installed.
    intent = new Intent(Intent.ACTION_VIEW,
            Uri.parse("fb://profile/" + famous)); // Trys to make intent with FB's URI
} catch (Exception e) {
    intent = new Intent(Intent.ACTION_VIEW,
            Uri.parse("https://www.facebook.com/" + famous)); // catches and opens a url to the desired page
}

activity.startActivity(intent);

尝试了这个但是没有使用用户名(转到用户的 - 登录的用户 - 墙)和id(静态插入,显示错误 - 无法加载此配置文件)...

1 个答案:

答案 0 :(得分:2)

您可以使用以下内容打开,因为fb://profile/fb://page/不再有效,但可以使用fb://facewebmodal/f?href=[YOUR_FACEBOOK_PAGE]

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) {
      uri = Uri.parse("fb://facewebmodal/f?href=" + url);
    }
  } catch (PackageManager.NameNotFoundException ignored) {
  }
  return new Intent(Intent.ACTION_VIEW, uri);
}

url:Facebook页面或个人资料的完整网址。

pmContext#getPackageManager()