android活动识别与感知API不一致

时间:2017-05-07 15:05:13

标签: android google-awareness

我使用Awareness API进行驾驶检测设置,用于“开始”和“停止”的围栏。

问题

该应用程序检测到我正在开车约50%的时间,但通常只有在我开车时打开屏幕的时候。这违背了在驾驶时能够执行我的应用程序的一些有用功能的目的。

其次,我经常发现我回到我的手机上,完全静止地坐在桌子上,两个通知都显示“开始”和“停止”驾驶。

所以,TL; DR ...... 驾驶检测具有很高的误报率,实际驾驶时的准确性较差。

有没有人注意到这个?还有什么要解决的吗?

代码

这很简单,使用广播接收器设置(我也使用了具有相同结果的服务PendingIntent):

Awareness.FenceApi.updateFences(
            mGoogleClient,
            new FenceUpdateRequest.Builder()
                    .addFence(ActivityChangeReceiver.FENCE_START_DRIVING,
                              DetectedActivityFence.starting(DetectedActivityFence.IN_VEHICLE),
                              ActivityChangeReceiver.getStartDrivingPendingIntent(MainActivity.this))
                    .addFence(ActivityChangeReceiver.FENCE_STOP_DRIVING,
                              DetectedActivityFence.stopping(DetectedActivityFence.IN_VEHICLE),
                              ActivityChangeReceiver.getStopDrivingPendingIntent(MainActivity.this))
                    .build())
                      .setResultCallback(status -> {
                          if (status.isSuccess()) {
                              Timber.i("Fences successfully registered.");
                              registerReceiver(new ActivityChangeReceiver(), new IntentFilter(ActivityChangeReceiver.FENCE_RECEIVER_ACTION));
                          }
                          else {
                              Timber.e("Fences could not be registered: %s", status);
                          }
                      });

当我调用BroadcastReceiver时,我只显示每个的通知:启动和停止

0 个答案:

没有答案