我一直在关注this guide在为 Android 制作 AccountManager
时。但是我正在使用 Xamarin,我已经达到了 C# 代码与 Java 代码差异太大的地步。该帐户在手机上,我可以从设置屏幕添加一个帐户就好了。但是当我尝试从外部访问 AccountManager.AddAccount
方法时,它采用的参数是不同的,我认为 Xamarin 文档中没有很好地解释它们。
This page in the Xamarin documentation显示 AddAccount
中的最后两个参数是 IAccountManagerCallback
和 Handler
参数。我不确定如何以可以将它们传递到 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/