我正在构建一个使用 Google Awareness API 的 SDK。
我有一些需要根据每天不同的时间表执行的操作,当应用程序处于后台时也是如此 - 与谷歌的FenceClient完美匹配,或者我认为。
问题是我收到的通知与我在围栏中配置的时间并没有真正的关系——有时通知晚了几分钟/几小时,有时我根本没有收到这些通知。
更奇怪的是,Google 的所有示例仍在使用已弃用的GoogleApiClient。
技术问题:
- 我在清单中定义了这两个权限:
使用权限 android:name="android.permission.ACCESS_FINE_LOCATION"
使用权限 android:name="android.permission.ACCESS_COARSE_LOCATION"
- 在 Google 控制台中激活了意识,并且我在清单中定义了 API 密钥。
- 我尝试使用PendingIntent.getBroadcast和PendingIntent.getService来同时使用BroadcastReceiver和JobIntentService(每次都使用其中一个)。他们两个也在清单中违抗。
- 我正在构建这样的AwarenessFence:
TimeFence.inIntervalOfDay(dayOfWeek, TimeZone.getDefault(), startTimeOfDayMillis, stopTimeOfDayMillis);
开始和停止时间从一天开始以毫秒为单位。 fenceClient.updateFences
已成功完成。