在指定的个人资料页面上打开Facebook应用

我正在尝试使用SO中的一些代码,但它失败了:

那些是uri应该打开应用程序的正确部分。

facebook://facebook.com/info?user=544410940 (id of the user. "patrick.boos" won't work) facebook://facebook.com/wall?user=544410940 (will only show the info if you have added it as 

我想要的是在我指定的配置文件上打开Facebook应用程序。 这是我正在尝试的代码。 该数字是配置文件的UID。

  String uri = "facebook://facebook.com/wall?user=417079614970109"; intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri)); startActivity(intent); 

是折旧还是什么? 我现在如何完成这项任务?

实际上它看起来像这样。 这些URI仅适用于最新版本的facebook应用程序。 这就是我们尝试捕获的原因。

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

在您的Activity中,要打开它,请调用它:

 Intent facebookIntent = getOpenFacebookIntent(this); startActivity(facebookIntent); 

这不容易吗? 例如在onClickListener中?

  try{ Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("fb://profile/426253597411506")); startActivity(intent); }catch(Exception e){ startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.facebook.com/appetizerandroid"))); } 

PS。 从http://graph.facebook.com/ [userName]获取您的ID(大号)

这不再有效

 Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("fb://profile/someProfile")); 

请试试这个

 Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("fb://facewebmodal/f?href=https://www.facebook.com/someProfile")); 

目前还不可能, Facebook已被删除此function

要做到这一点,我们需要“Facebook页面ID”,你可以得到它:

  • 从页面转到“关于”。
  • 转到“更多信息”部分。

介绍lacripcióndelaimagenaquí

要在指定的个人资料页面上打开Facebook应用,

你可以这样做:

  String facebookId = "fb://page/"; startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(facebookId))); 

有这么多的问题,但这个代码对我有用.Facebook改变了政策所以更多细节请检查这个Facebook官方GRAPH API EXPLORER PAGE

 Intent intent = null; try { getPackageManager().getPackageInfo("com.facebook.katana", 0); String url = "https://www.facebook.com/"+idFacebook; intent = new Intent(Intent.ACTION_VIEW, Uri.parse("fb://facewebmodal/f?href="+url)); } catch (Exception e) { // no Facebook app, revert to browser String url = "https://facebook.com/"+idFacebook; intent = new Intent(Intent.ACTION_VIEW); intent .setData(Uri.parse(url)); } this.startActivity(intent); 

对于Facebook页面使用如下: http:// fb:// page / 87268309621xxxx对于个人ID使用如下: http:// fb:// profile / 87268309621xxxx