无法在OREO中获取默认帐户

2023-12-14

在安卓奥利奥中,AccountManager.getAccountsByType("com.google");回报null.

它在 Android 8 以下版本中运行良好。

下面是我的代码:

private static Account getAccount(AccountManager accManager) {
    Account[] accounts = accManager.getAccountsByType("com.google");
    Account account;
    if (accounts.length > 0) {
        account = accounts[0];
    } else {
        account = null;
    }
    return account;
}

提前致谢。


根据 Android 的更新,从 Oreo 开始我们无法使用AccountManager.getAccountsByType获取用户设备上配置的 google 帐户列表,因为他们已经更新了 Google 登录功能。新功能将提示用户选择帐户,并且该帐户仅对我们的应用程序可见。

请参阅文档:https://developer.android.com/about/versions/oreo/android-8.0-changes#aaad

如果您仍想继续使用向用户显示所有帐户的旧方法,则需要通过执行以下步骤获得用户的额外同意。

您可以使用GoogleAuthUtil.requestGoogleAccountsAccess获取 Google 帐户列表。

下面给出示例代码:

new Thread(() -> {
            try {
                GoogleAuthUtil.requestGoogleAccountsAccess(getApplicationContext());
            } catch (Exception e) {
                if (e instanceof UserRecoverableAuthException) {
                    startActivityForResult(((UserRecoverableAuthException) e).getIntent(),
                            REQ_CODE_PERMISSION_GET_GOOGLE_ACCOUNTS);
                } else {
                    Log.e("SignIn", "Exception in getting google accounts" + e);
                }
            }

        }).start();

这将创建一个活动,提示用户接受同意,允许 Google Play 服务访问设备上配置的 Google 帐户列表。

然后你可以覆盖onActivityResult()继续您的活动。

然后你可以使用AccountManager.getAccountsByType像以前一样获取谷歌帐户列表。

快乐编码!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法在OREO中获取默认帐户 的相关文章

  • PhoneGap/Cordova 应用程序通知

    我是 PhoneGap Cordova 的新手 我希望向我的应用程序添加一些通知 推送通知 因此当应用程序上发布新文章时 它会提醒用户 本地通知 在设定的时间间隔 日期和时间 我可以提示用户我的应用程序上的最新文章 我进行了大量搜索 但找不
  • 在根项目“bin”中找不到任务“bintrayUpload”

    我遵循了将 AAR 文件发布到 JCenter 所需的每个步骤 然后使用 Maven Central 将其同步https github com danielemaddaluno gradle jcenter publish https gi
  • 如何替换 Android 中已弃用的 Bundle/Argument get(key) 调用

    我有以下扩展函数 允许我在应用程序活动和片段之间传递捆绑数据项 inline fun
  • 如何从Firebase Firestore实时更新文档中获取修改后的字段或数据? [复制]

    这个问题在这里已经有答案了 我有多个文档 我的问题是我无法获取修改的特定数据 我正在获取完整的文档 db collection employees whereEqualTo OID OID addSnapshotListener new E
  • 拖动时跳转 ImageView。 getX() 和 getY() 值正在跳跃

    我创建了一个用于拖动视图的 onTouchListener 如果我使用的话 图像可以顺利拖动getRawX and getRawY 问题是 当您向下放置第二个指针然后抬起第一个指针时 图像将跳转到第二个指针 此 onTouchListene
  • 吉夫伦致命信号11

    我正在尝试使用一些本机代码来创建 Gif 我使用绘画绘制图像 创建一些笔画 单击 保存 绘制的图像将保存为 JPG 格式 当我单击 创建 Gif 时 它会获取所有图像并开始创建 gif 这是当我收到致命信号 11 并且应用程序重新启动时 我
  • ADB TCPIP 连接问题

    我有两台 Galaxy S3 其中一个已扎根 另一个则未扎根 因此 当我尝试通过本地网络连接它们时 计算机可以看到已root的计算机 但是正常的就卡在tcpip这一步了 所以 我写 adb tcpip 5555 It says restar
  • 需要 Android webview window.open() 和 window.close() 的信息

    我正在开发一个安卓应用程序 这是我网站的 WebView 该网站包含一个弹出按钮 单击该按钮后 将打开一个新窗口并显示内容 该链接可以来自外部站点 然而 当我实现此操作时 新选项卡正在打开 之后它会弹出以打开浏览器 尽管在 Web 视图中打
  • 控制 OverlayItem 大小

    我正在构建一个在单个 ItemizedOverlay 中包含几十个 OverlayItems 的地图 我的地图设计为可以非常近距离地查看 大约缩放级别 18 并且 OverlayItems 彼此非常接近 地图放大时看起来不错 但是 如果用户
  • 在android中,将相机预览流到视图上

    我想将 Android 相机的相机预览流式传输到视图上 目的是随后使用 onDraw 将各种内容添加到视图中 我不需要随时实际捕捉图像 它不必是最高质量或每秒最大数量的帧 有谁知道如何做到这一点 将其添加到您的 xml 中
  • 如何将 Android 添加到 Phonegap 平台版本 3

    经过大量挖掘 我相信这个问题 https stackoverflow com questions 18423444 phonegap 3 doesnt work with andriod studio与我没有添加任何用于构建phonegap
  • Android 中的 OpenGL 缩小

    我正在使用 3D 对象并渲染它并通过扩展 GLSurfaceView 实现渲染器来显示它 问题是如何通过捏合和捏合进行缩小 下面是我的班级 package com example objLoader import java nio Byte
  • Android SearchView 在启动时隐藏键盘

    我有一个小问题正在尝试解决 当我打开应用程序时 键盘会显示输入搜索视图的查询 不过 我只想在单击搜索视图时显示键盘 我该如何解决 Thanks 这对我有用 用于隐藏焦点的代码 searchView SearchView view findV
  • jetpack compose 是否使用drawable-night 文件夹?

    我们有一个基于视图的 Android 应用程序 其中有一些可绘制对象res drawable文件夹 以及夜间模式的对应文件夹res drawable night folder 使用旧视图时 引用可绘制对象R drawable foo从 XM
  • 如何将样式应用于我拥有的所有 TextView? [复制]

    这个问题在这里已经有答案了 可能的重复 设计所有 TextView 或自定义视图 的样式 而不向每个 TextView 添加样式属性 https stackoverflow com questions 6801890 styling all
  • 如何在android中通过蓝牙向配对设备发送短信?

    在我的应用程序中 我想通过蓝牙发送和接收短信 我可以在列表视图中看到配对设备名称和地址的列表 但是当我尝试向配对设备发送文本时 什么也没有发生 在其他设备中没有收到文本 这是我向配对设备发送消息的代码 private void sendDa
  • fs-extra:源和目标不能相同。 (科尔多瓦)

    我在使用 cordova 构建时遇到错误 Error Source and destination must not be the same 构建系统 Ionic ionic cli 4 10 1 ionic framework ionic
  • Android-dispatchTouchEvent 给了我一个 StackOverflowError

    这里我有一个带有 setOnTouchListener 的 ViewFlipper 它工作得很好 然后我膨胀 ReLayNewsItem 然后将其添加到 ViewFlipper 现在我希望 WebView web 监听触摸事件并将它们传递给
  • 将对象从手机共享到 Android Wear

    我创建了一个应用程序 在此应用程序中 您拥有包含 2 个字符串 姓名和年龄 和一个位图 头像 的对象 所有内容都保存到 sqlite 数据库中 现在我希望可以在我的智能手表上访问这些对象 所以我想实现的是你可以去启动 启动应用程序并向左和向
  • 如何访问我的 Android 程序中的联系人

    我正在制作一个短信应用程序 并且想要访问我的 Android 应用程序中的联系人 我想访问联系人 就像他们在实际联系人列表中一样 选择后 我需要返回到我的活动 在其中我可以向该人发送短信 或者是否可以访问存储联系人的数据库 我的代码如下所示

随机推荐

  • 获取私人 bitbucket 存储库,给出 403 禁止

    执行时go get bitbucket org 我收到这个错误 yash jain projectname go get bitbucket org go bitbucket org https api bitbucket org 2 0
  • UICollectionView 收到索引路径不存在的单元格的布局属性

    我使用 UICollection 视图来显示网格布局中的项目 对于数据源 我使用 5 5 维数组 我还为节中的 numberOfItems 返回 5 为 numberOfSections 返回 5 然后我的应用程序也因以下错误而崩溃 UIC
  • 使用 C# 是否可以测试文件是否持有锁

    背景 我使用文件偏移量和文件流锁定 解锁方法来控制读 写访问 我正在使用以下代码来测试文件当前是否持有锁 try fs Lock RESERVED BYTE 1 fs Unlock RESERVED BYTE 1 rc 1 catch rc
  • 在 VBA 中使用 InStr 进行多字符串搜索

    我正在检查名称文本框是否以 Mr Mrs Ms 等开头 我创建了一个函数 但无法比较多个字符串 这是我的代码 Checking whether name is starts with Mr Mrs Ms Dr or not If Not F
  • 用外行人的话来说,什么是 Unobtrusive Javascript? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 用外行人的话来说 什么是 Unobtrusive Javascript 举一个例子可以很好地帮助我理解 查看维基百科文章 不引人注目的 JavaScript Unobtrusiv
  • git merge:删除我想保留的文件!

    如何在 git 中合并两个分支 同时保留必要的来自分支的文件 合并两个分支时 如果一个文件在一个分支中被删除 而在另一个分支中没有被删除 则该文件最终将被删除 例如 当您创建新分支时 master 中存在一个文件 您从 master 中删除
  • 创建较大集合的固定长度非重复排列

    我知道这个话题被广泛讨论 但我似乎找不到任何适合我需求的实现 我有以下字符集 abcdefgh 我想获得所有可能的排列或组合 不重复 但在有限 可变 字符集上 意思是如果我输入字符和数字2 结果应该是这样的 ab ba ac ca ad d
  • 将原始输入变量除以数字时出现 Python TypeError

    我想将输入的磅重量转换为千克 但出现以下错误 类型错误 不支持的操作数类型 unicode 和 float My code lbweight raw input Current Weight lb kgweight lbweight 2 2
  • 挂载前判断网络共享是否存在

    我正在开发一种工具 可以根据用户连接的无线网络自动安装网络卷 安装卷很简单 NSURL volumeURL The URL to the network volume Attempt to mount the volume FSVolume
  • Springboot异常处理程序没有捕获异常

    在 Spring Boot 和 Rest 应用程序中 我配置了一个异常处理程序 如下所示 如果在请求使其停止服务后抛出异常 它可以正常工作 Rest api 需要 application json 的内容类型 如果我不将该内容类型标头发送到
  • 用 Java 处理条形码扫描

    我想让我的应用程序对扫描的条形码做出反应以触发按钮按下 例如 用户可以扫描 打印 条形码来激活打印按钮 条形码将被视为用户输入了一些文本 我不确定扫描仪是否会被设置为在末尾附加一个输入或一个选项卡或什么都没有 所以我不想在此基础上做出假设
  • 将等高线添加到 3D 绘图

    我正在使用 R 编程语言 我使用 plotly 库制作了以下 3 维图 library dplyr library plotly my function lt function x y final value 1 x 2 100 y x 2
  • 如何获取 foreach 循环当前迭代的索引?

    在 C 中是否有一些我没有遇到过的罕见语言构造 比如我最近学到的一些 一些在 Stack Overflow 上 来获取表示 foreach 循环当前迭代的值 例如 我目前根据情况做这样的事情 int i 0 foreach Object o
  • Threejs Blender 导出器导出格式错误

    我正在尝试在提供的帮助下将搅拌机模型导出到 Threejs json搅拌机出口商 解析 json 文件时出现错误 Uncaught TypeError Cannot read property length of undefined jso
  • 运行 plm 固定效应模型并添加因子虚拟变量(树方式固定效应)是否可以?

    运行 plm 固定效应模型并在 R 中添加因子虚拟变量 如下所示 是否可以 时间 公司 和 国家 这三个因素都是独立的指数 我想将它们一起修复 我发现下面的规范更适合我的情况 而不是通过组合 公司 和 国家 地区 来总共创建两个索引 这是可
  • Perl 数组与列表

    我在 Perl 中有两个数据结构 数组 my array2 1 2 3 for elem array2 print elem n 给我以下输出 1 2 3 还有一个清单 my array 1 2 3 for elem array print
  • 在 Java 中 - 如何将 resultSet 映射到复杂对象?

    如何将几个表中的结果集映射到复杂的对象中 让我详细说明一下 假设我有这两门课 public class User private int user id private String fname private String lname g
  • Facebooker 扩展权限?

    Facebook 允许访问 通过扩展权限访问用户的电子邮件 JS 和 PHP 中还有一种方法可以强制用户授予 当他们接受应用程序的 TOS 时获得许可 http wiki developers facebook com index php
  • 用 self 调用类变量

    你会如何想出这个有趣的 至少对我来说 例子 import numpy as np class Something object a np random randint low 0 high 10 def do self self a 1 p
  • 无法在OREO中获取默认帐户

    在安卓奥利奥中 AccountManager getAccountsByType com google 回报null 它在 Android 8 以下版本中运行良好 下面是我的代码 private static Account getAcco