You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android端Xamarin.Forms中ADAL登录屏旋转丢失邮箱问题求助

Android上Xamarin.Forms+ADAL认证时旋转屏幕丢失输入状态的问题

我之前也碰到过类似的棘手问题,结合你描述的场景和排查过程,整理一下相关信息和结论:

问题复现场景

  • 基于Xamarin.Forms开发的应用,使用**ADAL(Microsoft.IdentityModel.Clients.ActiveDirectory)**对接Azure AAD完成用户认证
  • Android设备上出现异常:竖屏输入邮箱点击「下一步」进入密码输入页后,旋转屏幕会直接回到空白的邮箱输入页,已输入的邮箱内容完全丢失
  • 你已经在MainActivity中配置了方向相关的ConfigurationChanges属性,代码如下:
    [Activity(Name = "my.mainactivity" , Label = "MyApp" , Icon = "@drawable/icon" , ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.SmallestScreenSize | ConfigChanges.ScreenLayout | ConfigChanges.Orientation)]
    public class MainActivity : Xamarin.Forms.Platform.Android.FormsAppCompatActivity { ... }
    

排查后的核心结论

你尝试的「在调用AcquireTokenAsync前锁定竖屏、获取响应后解锁」方案无效,本质原因是:ADAL内部用于承载认证页面的WebView,并未遵循你通过PlatformParameters传入的Activity的方向设置。目前这个问题已经被官方确认为内部实现缺陷。

临时方案与后续建议

  • 优先尝试升级ADAL到最新可用版本,确认是否已有官方修复补丁
  • 如果项目架构允许,建议迁移到MSAL(Microsoft Authentication Library)——MSAL是ADAL的官方替代方案,后续的修复和维护优先级更高
  • 持续关注官方对该类问题的修复进度,等待正式补丁上线

内容的提问来源于stack exchange,提问作者pixel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:34:41