HarmonyOS鸿蒙Next中应用如何每次登陆华为账号都弹出取消和允许选项的弹窗

HarmonyOS鸿蒙Next中应用如何每次登陆华为账号都弹出取消和允许选项的弹窗 用AGC的认证服务去做登录,应用如何每次登陆华为账号都弹出取消和允许选项的弹窗,第一次登录会弹出,选择允许后下次登录就不会弹出了


更多关于HarmonyOS鸿蒙Next中应用如何每次登陆华为账号都弹出取消和允许选项的弹窗的实战教程也可以访问 https://www.itying.com/category-93-b0.html

7 回复

可以在设备选择“设置-华为账号-账号安全-使用华为账号的应用”,在应用列表页面选择需要取消的应用,点击下方的“取消授权”。
取消华为账号授权后,下次登录应用会再次询问是否允许获取华为账号相关信息。

更多关于HarmonyOS鸿蒙Next中应用如何每次登陆华为账号都弹出取消和允许选项的弹窗的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


现在是开发阶段,想做个测试,用户点击 允许 和 取消 以后,代码如何运行,正常逻辑就是,用户点击允许就是默认授权了,以后就不用每次授权了,直接就是跳过授权去登录了。

如果您是想测试用户点击 允许 和 取消 以后,查看代码如何运行,可以在设备选择“设置-华为账号-账号安全-使用华为账号的应用”,在应用列表页面选择需要取消的应用,点击下方的“取消授权”。

取消华为账号授权后,下次登录应用会再次询问是否允许获取华为账号相关信息。

开发者您好,为了更快解决您的问题,尽量补全以下信息:

请问下您的具体诉求是什么?为什么需要每次登陆华为账号都弹出取消和允许选项的弹窗?麻烦详细说明下~

手机退出华为账号再重新登录试试

在HarmonyOS Next中,应用每次登录华为账号时弹出取消和允许选项的弹窗,需通过华为账号服务实现。在应用的config.json中声明ohos.permission.ACCOUNT_MANAGER权限。使用@ohos.account.appAccount模块调用AppAccountManager.create方法创建账号授权请求,设置authType为显式授权模式。系统将自动处理弹窗显示,用户可选择允许或取消。无需额外配置弹窗逻辑,由鸿蒙系统统一管理授权流程。

在HarmonyOS Next中,要实现每次登录时都弹出华为账号的授权弹窗,需要确保应用在调用AGC认证服务时,不依赖持久化的授权状态。默认情况下,用户首次授权后,系统会缓存授权结果,导致后续登录不再弹窗。

可以通过以下方式实现:

  1. 在调用AccountAuthManager.getService时,设置AuthParamsScope为必须授权的权限,并明确指定不使用缓存。
  2. 使用AuthParamssetPrompt方法,设置参数为AuthParams.PROMPT_LOGIN,强制每次登录时要求用户交互。
  3. 在登录流程中,主动调用AccountAuthManager.signOut()退出当前会话,清除本地令牌,确保下次登录重新触发授权。

示例代码片段:

AuthParams authParams = new AuthParamsHelper()
    .setScopeArray(new String[]{"email"}) // 根据需求设置权限
    .setPrompt(AuthParams.PROMPT_LOGIN) // 关键:强制弹窗
    .createParams();
AccountAuthService service = AccountAuthManager.getService(authParams);

这样配置后,每次登录都会弹出取消和允许的授权弹窗,即使用户之前已授权过。注意,频繁弹窗可能影响用户体验,需根据实际业务需求权衡使用。

回到顶部