Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Xamarin.Android中实现AccountManager_Android_Xamarin_Xamarin.android_Accountmanager - Fatal编程技术网

在Xamarin.Android中实现AccountManager

在Xamarin.Android中实现AccountManager,android,xamarin,xamarin.android,accountmanager,Android,Xamarin,Xamarin.android,Accountmanager,我一直在为Android制作一个AccountManager。但是我使用的是Xamarin,我已经到了C#代码与Java代码太不一样的地步。帐户在手机上,我可以从设置屏幕添加帐户。但是,当我尝试从外部访问AccountManager.AddAccount方法时,它所使用的参数是不同的,我认为Xamarin文档中没有很好地解释这些参数 显示AddAccount中的最后两个参数是IAccountManagerCallback和Handler参数。我不知道如何以一种可以将它们传递到AddAccount

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

显示
AddAccount
中的最后两个参数是
IAccountManagerCallback
Handler
参数。我不知道如何以一种可以将它们传递到
AddAccount
中的方式来实现它们


要明确的是,我想做的是从另一个活动调用
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
            }
        }
    }

你看过Xamarin.Auth吗。它有内置帐户