gpt4 book ai didi

android - 当 Chrome 被禁用/删除设备时,MS Graph 无法打开新的浏览器 Activity

转载 作者:搜寻专家 更新时间:2023-11-01 08:22:38 26 4
gpt4 key购买 nike

我开发了一个 xamarin 表单应用程序,它使用 MS Graph 来让用户登录。我使用 GitHub 示例打开一个新的浏览器 Activity ,用户在其中登录,然后应用程序转到主页 Activity 。它工作正常。但是一些用户已经阻止或删除了 Chrome 应用程序,以便将 MS Edge 用作默认浏览器,然后当应用程序尝试启动浏览器 Activity 时,它会启动一个错误,因为它找不到 chrome Activity 。我已经在 MS Graph GitHub (https://github.com/microsoftgraph/msgraph-sdk-dotnet/issues/242) 上询问过,但他们和我都认为这不是 SDK 的问题,但我不知道该如何解决。我应该如何修复它才能使用任何已安装的浏览器?

谢谢

最佳答案

这是设计使然。 Microsoft Identity Client 库使用自定义 Chrome 选项卡,并且没有任何使用 WebView 运行的回退策略。

您可能会遇到未安装 Chrome 时抛出的异常:https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/blob/dev/src/Microsoft.Identity.Client/Platforms/Android/AuthenticationActivity.cs#L131

string chromePackageWithCustomTabSupport = GetChromePackageWithCustomTabSupport(ApplicationContext);

if (string.IsNullOrEmpty(chromePackageWithCustomTabSupport))
{
string chromePackage = GetChromePackage();
if (string.IsNullOrEmpty(chromePackage))
{
throw new MsalClientException(MsalClientException.ChromeNotInstalledError,
"Chrome is not installed on the device, cannot proceed with authentication");
}

关于android - 当 Chrome 被禁用/删除设备时,MS Graph 无法打开新的浏览器 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48908508/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com