android – Google Awareness API抛出SecurityException

我从 Google Awareness API开始使用 DetectedActivityFence.它在我自己的设备上工作正常,但我在Crashlytics中遇到了几起关于SecurityException的崩溃事件.
Fatal Exception: java.lang.SecurityException: Invalid API Key for package = [package_name] .Status code received = -1
   at android.os.Parcel.readException(Parcel.java:1540)
   at android.os.Parcel.readException(Parcel.java:1493)
   at com.google.android.gms.common.internal.zzu$zza$zza.zza(UnkNown Source)
   at com.google.android.gms.common.internal.zzd.zzqz(UnkNown Source)
   at com.google.android.gms.internal.zzpw$zzc.zzapl(UnkNown Source)
   at com.google.android.gms.internal.zzpw$zzf.run(UnkNown Source)
   at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
   at java.util.concurrent.FutureTask.run(FutureTask.java:237)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
   at com.google.android.gms.internal.zzrn.run(UnkNown Source)
   at java.lang.Thread.run(Thread.java:818)

这种情况在Android版本之间没有任何相关性,即它影响来自不同制造商和不同Android版本(5.x-6.x)的设备.这些设备没有root,看起来像在Stock ROM上工作. 10%的用户出现此问题.

我确信我使用的是正确的API密钥,否则我可以在自己的设备上看到崩溃,是吗?

有没有人面临同样的问题?

解决方法

一个错误错误地将网络操作中的一些错误错误地认证为应用程序,因为表明API密钥未正确设置,即使实际错误是其他错误.这已在内部修复,并将在下一个Google Play服务版本中推出.

目前,最好的解决方法是在调用Googleapiclient.connect()的线程上添加UncaughtExceptionHandler.如果在主线程上调用Googleapiclient.connect(),则可以通过Looper.myLooper().getThread()获取Thread实例.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...