在 Android 中打开 Facebook Messenger

Posted

技术标签:

【中文标题】在 Android 中打开 Facebook Messenger【英文标题】:Open Facebook Messenger in Android 【发布时间】:2016-05-27 18:43:58 【问题描述】:

我想通过代码打开 facebook messenger。我怎样才能获得facebook ID?? 我的应用程序上有 facebook SDK,我为每个用户保存了 facebookId,但与我需要的不同

这是我的方法:

// Make sure the Facebook Messenger for android client is installed
        boolean isFBInstalled = isAppInstalled("com.facebook.orca");

        if (!isFBInstalled) 
            Toast.makeText(this,"Facebook messenger isn't installed. Please download the app first.", Toast.LENGTH_SHORT)
                    .show();
        

        else 
            // Create the Intent
            Uri uri = Uri.parse("fb-messenger://user/");
            uri = ContentUris.withAppendedId(uri,Long.valueOf(facebookIDhere);
            Intent intent = new Intent(Intent.ACTION_VIEW, uri);

            try 
                startActivity(intent);
            

            catch(Exception e) 
                Toast.makeText(this,"Oups!Can't open Facebook messenger right now. Please try again later.", Toast.LENGTH_SHORT)
                        .show();
            
        

        return;

【问题讨论】:

How to open facebook messenger chat window using app-scoped id in android的可能重复 【参考方案1】:

转到某人的 Facebook 个人资料。右键单击个人资料图片并复制链接地址。将其粘贴到文本编辑器中,您将在 URL 的末尾看到“referrer_profile_id”参数。这是该用户的 Facebook ID。

Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("fb://messaging/" + FbUserID));
startActivity(i);

【讨论】:

@KonstantinKonopko 哪个部分?【参考方案2】:

你可以像这样简单地打开它而无需 FB ID

Intent intent= new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_TEXT, "Hello");
intent.setType("text/plain");
intent.setPackage("com.facebook.orca");

try

    startActivity(intent);

catch (ActivityNotFoundException ex) 

    Toast.makeText(this,
           "Oups!Can't open Facebook messenger right now. Please try again later.", 
            Toast.LENGTH_SHORT).show();

【讨论】:

我想向特定用户打开一条消息。我有一个用户列表,所以我想为这个用户打开 facebook messenger 聊天 【参考方案3】:

首先,检查设备中是否存在该应用,并编写以下行打开。

Intent intent = activity.getPackageManager().getLaunchIntentForPackage("com.facebook.orca");
activity.startActivity(intent);

【讨论】:

以上是关于在 Android 中打开 Facebook Messenger的主要内容,如果未能解决你的问题,请参考以下文章

React Native:Facebook API /me/picture 调用返回 FACEBOOK_NON_JSON_RESULT

Flutter 在 facebook 应用程序 android 和 ios 中打开 facebook 链接

Android 应用中的 Facebook Graph API 字段扩展

在 Android 中打开 Facebook Messenger

使用 Facebook Android SDK 在 Facebook 墙上发帖,无需打开对话框

在 facebook android 上分享帖子