【发布时间】:2017-06-23 23:48:38
【问题描述】:
由于this bug,我的团队决定完全不使用地理围栏。 Android 中的地理围栏是否可用?
来自错误报告:
在所有内部测试设备上,一切都运行良好,调试和 发布版本。但是,对于某些用户,我们会收到崩溃报告 表明 API 存在问题:
Fatal Exception: java.lang.SecurityException: Invalid API Key for package = de.stocard.stocard .Status code received = -1 at android.os.Parcel.readException(Parcel.java:1620) at android.os.Parcel.readException(Parcel.java:1573) 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:423) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) at com.google.android.gms.internal.zzrn.run(Unknown Source) at java.lang.Thread.run(Thread.java:818)这发生在从 4.4.2 到 7.0 的 Android 版本上,没有 明显的模式。这同样适用于设备型号和 制造商:许多和多个制造商和型号。
这听起来像一个非常严重的黑森虫。
更新:
在 Android 中似乎有 2 种不同的方式来进行地理围栏:
我们需要使用 Awareness API 来获得我们想要的功能和电池友好性。
注意:
由于“主要基于意见”,我看到 1 票接近投票。所以,让我明确一点,我不想要不受支持的意见答案。我想要事实、参考资料或特定的专业知识。我完成了研究并引用了一个随机崩溃错误,没有可靠的解决方法。我想让其他人注意到他们已经成功实施了地理围栏并且有:
- 证明他们的应用从未遇到过此错误(良好的崩溃报告从未发现
Invalid API Key for package) - 已看到此错误并已成功实施修复
- 从未见过此错误
【问题讨论】:
-
您是否尝试过直接使用 Google 的地理围栏 API 与使用感知 API?
-
我没有。我建议在我们的应用程序中使用 Android 地理围栏功能。另一位开发人员回来说:“我在另一家公司试过,但它坏了;这是错误票。”因此,现在我正在尝试从任何可能有证据表明今天可以在 Android 中完成地理围栏的开发人员那里获得反馈。
-
我没有使用过 Awareness API,所以我无法评价它的效果如何。但是,在我使用地理围栏 API 的两年中,我还没有看到这个错误。我会说 Geofencing API 在准确性、时间、错误事件和可用性方面有自己的一系列问题,但这个错误似乎只与 Awareness API 有关。
-
“我的理解是 Awareness API 应该取代其他的”。哦?你从哪里得到的?
-
@SimonH 来自 Google I/O 演示文稿。
标签: android geolocation geofencing android-geofence