返回
Android 14 上 MAUI B2C 登录流程挂起问题及其解决方法
Android
2024-03-24 05:22:47
解决 Android 14 设备上 MAUI B2C 登录流程挂起问题
问题
在使用 Azure B2C 登录的 MAUI 应用程序中,登录流程可能会在 Android 14 设备上的 "BrowserTabActivity" 界面挂起,且没有错误信息。
解决步骤
1. 检查清单文件
- 确保清单文件中包含必要的权限和活动:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
...
<activity android:name="microsoft.identity.client.BrowserTabActivity"
...
/>
2. 确保 MSALActivity 类可用
- 确认
MSALActivity
类在项目中可用,负责处理 B2C 登录请求:
using Microsoft.Identity.Client;
namespace Project.Platforms.Android
{
...
[IntentFilter(
...
)]
public class MsalActivity : BrowserTabActivity
{
...
}
...
}
3. 更新目标 SDK 版本
- 尝试将应用程序的目标 SDK 版本更新为 34,与 Android 14 设备一致:
<uses-sdk android:minSdkVersion="25" android:targetSdkVersion="34" />
4. 尝试其他 Web 浏览器
- 可以将
Custom Tabs
浏览器替换为 WebView 或内置浏览器:
...
<queries>
<intent>
<action android:name="android.support.customtabs.action.CustomTabsService" />
</intent>
</queries>
...
5. 检查日志和调试信息
- 检查设备日志和调试信息以查找潜在错误:
6. 联系 Microsoft 支持
- 如果以上步骤无效,请联系 Microsoft 支持。
常见问题解答
-
为什么会在 Android 14 上出现此问题?
- Android 14 中的 Web 浏览器限制导致
Custom Tabs
无法正确处理 B2C 登录流程。
- Android 14 中的 Web 浏览器限制导致
-
我是否必须将应用程序的目标 SDK 版本更新到 34?
- 强烈建议更新目标 SDK 版本以解决兼容性问题。
-
我可以在其他 Android 版本上重现此问题吗?
- 此问题仅影响 Android 14 及更高版本。
-
更新目标 SDK 版本后,我的应用程序还有其他兼容性问题吗?
- 更新目标 SDK 版本可能会引入新的兼容性问题。建议对应用程序进行全面测试。
-
如何防止此问题在将来版本中再次发生?
- 关注 Android 发布的更新,并根据需要更新应用程序以解决兼容性问题。