- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我们正在尝试实现 GDK 玻璃器皿身份验证;已将我们的测试版 APK 上传到 Google Glass 团队并成功实现了我们的 MyGlass 登录页面。我们现在正尝试通过此处列出的步骤访问 token :https://developers.google.com/glass/develop/gdk/authentication#retrieving_accounts_on_glass
但是最后一步 String token = future.getResult().getString(AccountManager.KEY_AUTHTOKEN);
导致以下异常:
09-22 18:07:24.126: I/AccountManagerService(519): Sharing credentials is not allowed: canceling.
09-22 18:07:24.313: W/System.err(5822): android.accounts.OperationCanceledException
09-22 18:07:24.313: W/System.err(5822): at android.accounts.AccountManager$AmsTask.internalGetResult(AccountManager.java:1503)
09-22 18:07:24.313: W/System.err(5822): at android.accounts.AccountManager$AmsTask.getResult(AccountManager.java:1531)
09-22 18:07:24.313: W/System.err(5822): at android.accounts.AccountManager$AmsTask.getResult(AccountManager.java:1452)
09-22 18:07:24.313: W/System.err(5822): at com.mycom.app.MainActivity$5.run(MainActivity.java:234)
09-22 18:07:24.313: W/System.err(5822): at android.accounts.AccountManager$11.run(AccountManager.java:1427)
09-22 18:07:24.313: W/System.err(5822): at android.os.Handler.handleCallback(Handler.java:733)
09-22 18:07:24.313: W/System.err(5822): at android.os.Handler.dispatchMessage(Handler.java:95)
09-22 18:07:24.313: W/System.err(5822): at android.os.Looper.loop(Looper.java:149)
09-22 18:07:24.313: W/System.err(5822): at android.app.ActivityThread.main(ActivityThread.java:5061)
09-22 18:07:24.313: W/System.err(5822): at java.lang.reflect.Method.invokeNative(Native Method)
09-22 18:07:24.313: W/System.err(5822): at java.lang.reflect.Method.invoke(Method.java:515)
09-22 18:07:24.313: W/System.err(5822): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
09-22 18:07:24.313: W/System.err(5822): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
09-22 18:07:24.313: W/System.err(5822): at dalvik.system.NativeStart.main(Native Method)
我们试图通过 Mirror API 推送的请求是这样形成的(并返回一个 OK 状态代码):
POST https://www.googleapis.com/mirror/v1/accounts/google_user_token/com.ourcom.app.session/ourapp_username
BODY
{"authTokens":[{"type":"com.ourcom.app.session","authToken":"****************"}]}
HEADERS
{"Authorization":"Bearer ya29.iAAf********","Content-Type":"application/json;charset=utf-8"}
这是我们本地的 Glass 代码:
AccountManager accountManager = AccountManager.get(this);
// Use your Glassware's account type.
Account[] accounts = accountManager.getAccountsByType("com.ourcom.app.session");
// Your auth token type.
final String AUTH_TOKEN_TYPE = "com.ourcom.app.session";
if (accounts.length > 0) {
accountManager.getAuthToken(accounts[0], AUTH_TOKEN_TYPE, null, this, new AccountManagerCallback<Bundle>() {
@Override
public void run(AccountManagerFuture<Bundle> future) {
try {
String token = future.getResult().getString(AccountManager.KEY_AUTHTOKEN);
//do something with token
});
} catch (Exception e) {
//handle exception
//this is where we get our OperationCancelledException
e.printStackTrace();
}
}
}, null);
} else {
//handle not authed state
}
是什么导致了这种错误? Mirror POST URL 末尾的用户名是否应该匹配特定的内容,还是我们可以随意使用我们自己的东西?
最佳答案
需要检查的几件事:
adb
进行侧面加载?确保卸载您的 APK,然后通过在 MyGlass 中打开它来安装它,以便正确设置权限;从那时起,您可以通过将 APK 替换为 adb
来继续开发。关于android - 玻璃器皿 auth : android. accounts.OperationCanceledException "Sharing credentials is not allowed: canceling.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25990995/
我正在尝试向 URL 发出异步 Web 请求,该请求将在请求时间过长时返回。我正在使用 F# 异步工作流和 System.Net.Http 库来执行此操作。 但是,我无法在 async 中捕获 Sys
我得到一个TaskCanceledException: 然后我将此异常作为 Exception 传递给另一个方法。如果我检查类型 if (ex.GetType() == typeof(Operatio
我的同事玩过 TPL 和任务取消。他向我展示了以下代码: var cancellationToken = cts.Token; var task = Task.Run(() => { whil
我有一个 Azure Function (.net 6.0),它从服务总线接收消息。 99% 的消息处理得很好,但时不时地我会在 Application Insights 中收到 System.Ope
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 6 年前。 Improve this qu
我正在实现一个 Parallel.ForEach 循环来做一些工作,但由于未处理的异常,我遇到了一个问题,而我认为我处理了取消。 为了尝试解决问题,我在 winform 中做了一个简单的测试设置。它有
我有一些代码要从 .NET 4.5 的可爱 async 和 await 关键字降级到 .NET 4.0。我正在使用 ContinueWith 创建一个类似于 await 工作方式的延续。 基本上,我的
以下代码创建了一个被取消的任务。 await 表达式(案例 1)抛出 System.OperationCanceledException 而同步 Wait()(案例 2)抛出 System.Threa
OperationCanceledException 和 TaskCanceledException 有什么区别?如果我使用 .NET 4.5 并使用 async/await 关键字,我应该寻找哪个?
我正在使用一个支持取消的异步 api,我正在向该 api 传递一个 CancellationToken实例。像往常一样,如果在传递的 token 上请求取消,我正在调用的 api 将抛出 Operat
我有来自“.NET Framework 并行编程示例”的以下代码 MSDN当我试图在 Debug模式下取消猴子的遗传生成时,我在 token.ThrowIfCancellationRequested(
当用户加载页面时,它会发出一个或多个 ajax 请求,这些请求会命中 ASP.NET Web API 2 Controller 。如果用户导航到另一个页面,在这些 ajax 请求完成之前,浏览器会取消
我正在遵循示例代码 here了解异步任务。我修改了代码以编写任务工作与主要工作的一些输出。输出将如下所示: 我注意到,如果我删除 Wait() 调用,程序运行相同,只是我无法捕获任务取消时抛出的异常。
首先,请原谅我的英语。我将在 Task.WhenAny 之后的附加代码中进行简要说明,我期望的是五个任务中至少有三个将被取消,但都圆满结束。当任务被取消时,SemaphoreSlim.WaitAsyn
我有一个长时间运行的操作,我想在 5 秒后取消。不幸的是,无法轮询 IsCancellationRequested(长话短说)。 我使用下面的代码在取消回调中抛出一个 OperationCancele
考虑以下代码: CancellationTokenSource cts0 = new CancellationTokenSource(), cts1 = new CancellationTokenSo
我试图允许取消 Parallel.ForEach 循环。根据this MSDN article ,这是可能的,我正在按照他们的编码进行操作。 // Tokens for cancellation Pa
我正在使用 BlockingCollection 来实现任务调度程序,基本上: public class DedicatedThreadScheduler : TaskScheduler, IDisp
我正在使用(坦率地说很棒)BlockingCollection键入大量多线程的高性能应用。 集合的吞吐量很大,在微观层面上它的性能很高。但是,对于每个“批处理”,它将始终通过标记取消 token 来结
我使用 Async.Catch 来处理异步工作流抛出的异常: work |> Async.Catch |> Async.RunSynchronously |> fun x -> match x wit
我是一名优秀的程序员,十分优秀!