Android Google Aware Snapshot.getLocation SecurityException被抛出

Android Google Aware Snapshot.getLocation SecurityException被抛出,android,google-awareness,Android,Google Awareness,我知道这看起来像是()的复制品,可能是,但由于我的stackoverflow mojo不够好,我不能投票支持这个问题或添加评论,这肯定不是答案。因此,我提前为重复道歉 在上面的例子中,我看到大约10%的awareness api调用(120K成功+1.2K失败)接收到带有-1响应代码的SecurityException,我按照当前响应者的建议验证包名是否与awareness api注册步骤中注册的名称匹配,并且它们确实匹配。如果事实上,如果我强迫他们不同,我会得到相同的异常,但以6作为响应代码,

我知道这看起来像是()的复制品,可能是,但由于我的stackoverflow mojo不够好,我不能投票支持这个问题或添加评论,这肯定不是答案。因此,我提前为重复道歉

在上面的例子中,我看到大约10%的awareness api调用(120K成功+1.2K失败)接收到带有-1响应代码的SecurityException,我按照当前响应者的建议验证包名是否与awareness api注册步骤中注册的名称匹配,并且它们确实匹配。如果事实上,如果我强迫他们不同,我会得到相同的异常,但以6作为响应代码,而不是a-1;但这种情况会发生,每个请求的失败都会发生,而不是间歇性的。当我在开发者控制台中查看Google Aware API概述时,我看到的崩溃数量与服务器错误(5XX)响应数量大致相同

然而,我的问题是,如果快照API提供如下方法

public static PendingResult<LocationResult> getLocation(GoogleApiClient client)
公共静态Pendingreult getLocation(GoogleAppClient)

当异常发生在内部代码自己创建的单独线程中时,此方法的使用无法捕获由其调用的代码引发的SecurityException。为什么感知API代码不捕获SecurityException并将其当作LocationResult失败处理,而不是使我的应用程序崩溃?

调用GoogleAppClient.connect()时会抛出SecurityException。有关解决方法,请参阅。

来自:

在我们的检查中有一个bug,当出现需要验证的网络错误时,它有时会抛出这个SecurityException。该修复程序将在下一版本的Google Play服务中推出


目前,最好的解决方法是在调用GoogleAppClient.connect()的线程上设置一个UncaughtExceptionHandler。对于大多数人来说,这将在主线程上,您可以通过Looper.myLooper().getThread()获得。我在使用awareness api和打开此问题时看到类似的行为:找到解决方案了吗?另请参阅: