1

我正在使用 Xamarin.Auth 通过 Android 上的隐式流向我的身份提供者进行身份验证。我无法让本机 ui(chrome 自定义选项卡)与 Xamarin.Auth 一起使用,因为我收到以下错误:

未处理的异常:06-30 11:40:48.903 I/MonoDroid(7670):System.MissingMethodException:找不到方法“Android.Support.CustomTabs.CustomTabsIntent.LaunchUrl”。06-30 11:40:48.903 I/MonoDroid(7670): 在 Android.App.Activity.n_OnCreate_Landroid_os_Bundle_ (System.IntPtr jnienv, System.IntPtr native__this, System.IntPtr native_savedInstanceState) [0x0000f] 在 <93e2413825534efca8b597098003b511>:0068003b511 30 11:40:48.903 I/MonoDroid(7670):在(包装动态方法)System.Object:ce197f13-7701-4b2e-840f-19029a77ef6c(intptr,intptr,intptr)06-30 11:40:48.913 W/艺术(7670):JNI RegisterNativeMethods:尝试为 android.runtime.JavaProxyThrowable 注册 0 个本机方法 06-30 11:40:48.918 D/HockeyApp(7670):将未处理的异常写入:/data/user/0/com.mycompany .

我的身份验证器是这样设置的:

var authenticator = new OAuth2Authenticator(
    AuthSettings.ClientId, 
    AuthSettings.Scope,
    new Uri(AuthSettings.AuthorizeUrl), 
    new Uri(AuthSettings.RedirectUrl),
    null,
    true);

我也没有使用链接。

有任何想法吗?

4

1 回答 1

0

经过快速的谷歌搜索后,我在 github 页面上遇到了 Xamarin 的“SharePlugin”的问题线程,幸运的是,James Montemagno 正在帮助他们。列出的问题与您的问题相似,因此可以在此处找到以供参考。

这种方法“Android.Support.CustomTabs.CustomTabsIntent::LaunchUrl”似乎是一个相当普遍的问题。在那个线程中,他们显然提到:

发布模式 => 链接器选项 => 无,一切正常。

所以这值得仔细检查,以确保这就是你正在做的事情。(我意识到您已经提到您已经查看了链接的程序集,但总是值得仔细检查)。

Xamarin.Auth 本身的 GitHub 存储库上也有一些对话,发现了一个特定问题Here谈论 Xamarin Auth 和 Xamarin Forms 的版本,需要以某种方式匹配,我建议将 xamarin.forms 更新为最新版本,然后再试一次,甚至可能降级 Xamarin.Auth。

它适用于 1.5.0-alpha-03。尝试使用 1.5.0-alpha-09 但失败了。

于 2017-06-30T07:42:10.290 回答