Firebase应用程序邀请

问题描述 投票:0回答:1

我刚刚在我的Android应用中实现了Firebase邀请。我按照API Specs @ https://firebase.google.com/docs/invites/android的在线文档进行了操作

据我所知,我在onActivityResult方法中实现了以下代码。

@override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
    super.onActivityResult(requestCode, resultCode, data);
    Log.d(TAG, "onActivityResult: requestCode=" + requestCode + ", resultCode=" + resultCode);
    if (requestCode == REQUEST_INVITE) 
    {
        if (resultCode == RESULT_OK) 
        {
            // Get the invitation IDs of all sent messages
            String[] ids = AppInviteInvitation.getInvitationIds(resultCode, data);
            for (String id : ids) 
            {
                Log.d(TAG, "onActivityResult: sent invitation " + id);
            }
        } 
        else 
        {

        }
    }
}

目前,意图仅为生成的邀请IDS设置了额外的参数,即我们只能获得生成的邀请ID。

有没有办法我们可以在邀请页面中选择联系人姓名(电子邮件/电话号码)从联系人提供商返回的意图中可以在onActivityResult中捕获

就像是

 T[] contacts = AppInviteInvitation.getInvitedContact(...)....
java android firebase firebase-invites
1个回答
0
投票

当前的Firebase邀请API不支持获取邀请收件人的联系信息。

Android OS将联系人视为受保护信息。应用必须具有READ_CONTACTS权限才能访问联系信息。由于它被归类为dangerous permission,因此用户必须在安装应用程序(较旧的API级别)或需要时授予权限。

我的猜测是,Firebase Invites API的设计者无法访问联系信息,因此使用API​​的客户端不需要该权限。发送邀请所需的联系信息在SDK的受保护部分中访问,因此客户端可以获得使用联系信息的好处,而无需读取它的权限。这使得使用Invites的应用程序更安全,对于想要限制对其联系人的访问权限的用户更具吸引力。

© www.soinside.com 2019 - 2024. All rights reserved.