android - 在 Xamarin.Android 中实现 AccountManager

标签 android xamarin xamarin.android accountmanager

我一直在关注this guide在为 Android 制作 AccountManager 时。但是我正在使用 Xamarin,我已经达到了 C# 代码与 Java 代码差异太大的地步。该帐户在手机上,我可以从设置屏幕添加一个帐户就好了。但是当我尝试从外部访问 AccountManager.AddAccount 方法时,它采用的参数是不同的,我认为 Xamarin 文档中没有很好地解释它们。

This page in the Xamarin documentation显示 AddAccount 中的最后两个参数是 IAccountManagerCallbackHandler 参数。我不确定如何以可以将它们传递到 AddAccount 的方式实现它们。

明确一点,我想做的是从不同的 Activity 调用 AddAccount(在我的自定义 AbstractAccountAuthenticator 中)。当您在 Android 设置屏幕中点击“添加帐户”时,它会自动调用正确的函数。

最佳答案

我看到这是前一段时间发布的,但如果它仍然对某人有帮助,这就是我在 Xamarin 中实现 IAccountManagerCallback 的方式...

    internal static void AddAccount(Activity activity, string type) {
        AccountManager accountManager = AccountManager.Get(activity);
        IAccountManagerCallback callback = new AccountManagerCallback();
        accountManager.AddAccount(type, null, null, null, activity, callback, null);
    }
    private class AccountManagerCallback : Java.Lang.Object, IAccountManagerCallback {
        void IAccountManagerCallback.Run(IAccountManagerFuture future) {
            if (future.IsCancelled) {
                //task was cancelled code
            }
            else if (future.IsDone) {
                //task is completed
                Java.Lang.Object result = future.Result;
                //process result
            }
        }
    }

关于android - 在 Xamarin.Android 中实现 AccountManager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41240765/

相关文章:

java - 静态导入重载方法

xamarin - 更改 Xamarin Forms NavigationPage 工具栏的高度

ios - 在 Xamarin 中使用页面控件滚动图像

configuration - Monodroid : Where should I put configuration settings?

android - 如何在android中下载谷歌驱动器文件

Android:数组项上的监听器

android - java.lang.ClassCastException : android. app.ContextImpl 无法在 ImageButton Android 上转换为 "Activity"

ios - 我可以将用户名附加到Hockey App的崩溃报告中吗?

android - Monodroid 将可打包对象打包

xamarin - 如何使我的应用程序与智能电视兼容?