我一直在玩User's activity recognition和Fused location provider,并注意到即使在我卸载示例应用后,活动识别请求/位置请求仍然被触发,因为我看到以下内容每隔几秒钟:
05-20 23:20:22.569: W/ActivityManager(389): Unable to start service Intent { cmp=com.example.android.activityrecognition/.ActivityRecognitionIntentService (has extras) } U=0: not found
这个例外显然是因为我的服务已经消失(app已卸载)。
我和位置提供商看到了同样的事情。
因此,如果像这样使用未决意图
Intent intent = new Intent(Constants.INTENT_ACTION_LOCATION_UPDATED);
PendingIntent pendingIntent = PendingIntent.getService(BasicMapActivity.this, LOCATION_INTENT_CODE, intent, 0);
LocationRequest locationRequest = LocationRequest.create().setInterval(5000).setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
locationClient.requestLocationUpdates(locationRequest, pendingIntent);
如果卸载应用程序或应用程序崩溃并且没有进行适当的“用户清理”,这可能会使GPS一直停留在某个位置。
这是正常行为吗?我想在删除应用程序时会对PendingIntents进行一些清理。
这是否与这些请求流经Google Play服务流程有关?
我们该如何应对?
编辑:在Android tracker中发布了一个问题,但被告知这不是报告Google Apps问题的正确位置。将其发布在Google Mobile Help Forum
上