我正在使用AccessToken.getCurrentAccessToken.getUserId()
检索用户的Facebook id,并将其保存在FirebaseDatabase
中。
然后我检索它,并使用数据填充几个CardView
。每张卡都有一个ID,卡上有一个按钮,按下后会打开与该ID相关的Facebook Messenger聊天头。
我试着用这个代码打开聊天头:
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("fb-messenger://user/"+fbID));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mContext.startActivity(intent);
虽然它打开了聊天头,但没有打开ID与该卡相关联的用户的聊天头。它打开了一些匿名Facebook User
的聊天头。
我在网上搜索了一下,发现现在Facebook允许有一个不同的id,叫做app scoped user id
。当我试图从https://findmyfbid.com,我拿到了原始ID。
问题是,使用app scoped user id
,我们无法再打开特定的聊天头,但使用从findmyfbid.com获取的ID,该特定用户的聊天头会被打开。
那么,现在是完全不可能打开各种用户的聊天头,还是有其他方法可以做到这一点。
请让我知道是否有其他方法可以使用他/她的Facebook ID向该用户发送消息。
String url = "https://m.me/fbUserID";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);