如何获取与应用相关联的Google Play帐户的电子邮件/ID?
我需要这个来向用户显示用于应用内结算的帐户。据我所知,Google应用内结算使用下载应用程序的帐户,但我需要找到一种方法来向用户显示此信息,以防他配置了多个帐户。
这将防止用户抱怨没有识别其购买时,如果他们有另一个与该应用关联的帐户。
如何获取与应用相关联的Google Play帐户的电子邮件/ID?
我需要这个来向用户显示用于应用内结算的帐户。据我所知,Google应用内结算使用下载应用程序的帐户,但我需要找到一种方法来向用户显示此信息,以防他配置了多个帐户。
这将防止用户抱怨没有识别其购买时,如果他们有另一个与该应用关联的帐户。
无法确定用户购买的电子邮件地址。
即使使用账户管理器,也只能返回所有电子邮件的列表。
Pattern emailPattern = Patterns.EMAIL_ADDRESS; // API level 8+
Account[] accounts = AccountManager.get(context).getAccounts();
for (Account account : accounts) {
if (emailPattern.matcher(account.name).matches()) {
String possibleEmail = account.name;
...
}
}
我不认为有办法在应用内购买过程中检测用户将要使用的账户。
我唯一能想到的方法是查询帐户管理器(AccountManager),检查用户是否有多个Google账户,并显示一条消息,如:"您拥有多个Google账户,请确保在继续之前使用正确的账户"。这种方法唯一的问题是你需要添加所需的权限才能进行此查询。
OnActivityResult
时,可以使用键com.google.android.finsky.analytics.LoggingContext.KEY_ACCOUNT
获取 Extra,应返回使用的 Gmail 帐户。 - Pierre