打开Facebook的应用程序指定的个人资料页上(Opening facebook app on s

2019-06-24 22:00发布

我试图使用一些代码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);

难道是贬值还是什么? 我现在该如何完成这样的任务?

Answer 1:

实际上,它看起来是这样的。 这些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
    }
}

在你的活动,打开它,把它就像这样:

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


Answer 2:

这难道不是更容易吗? 例如一个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。 从获取您的ID(大量) http://graph.facebook.com/[userName]



Answer 3:

这不再起作用

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"));


Answer 4:

现在这是不可能的,Facebook已经删除了此功能



Answer 5:

大约有这这么多的问题,但这个代码me.Facebook是工作发生变化,因此策略,以便更多的细节请查看这个官方的Facebook 图形API Explorer页面

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);


Answer 6:

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

  • 从页转到“关于”。
  • 进入“更多信息”一节。

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

你可以这样做:

 String facebookId = "fb://page/<Facebook Page ID>";
  startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(facebookId)));


Answer 7:

对于Facebook页面使用这样的: HTTP:// FB://页/ 87268309621xxxx对于个人ID使用这样的: HTTP:// FB://资料/ 87268309621xxxx



文章来源: Opening facebook app on specified profile page