我正在使用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允许拥有一个名为app scoped user id
的不同ID。当我尝试从https://findmyfbid.com获取ID时,我获得了原始ID。
问题在于,使用app scoped user id
,我们无法再打开特定的聊天,但是从findmyfbid.com获取的ID会打开该特定用户的聊天。
那么,现在完全不可能打开各种用户的聊天,或者有没有其他方法可以做到这一点。
如果有其他方式使用他/她的Facebook ID向该用户发送消息,请告诉我。