我有一个通过 ActivityRecognition API 请求活动更新的应用程序。当我在装有 Android For Work 的设备上加载它时,该应用程序的工作版本永远不会获得活动更新,但个人版本可以正常工作。
我正在检查requestActivityUpdates()
如下所示的结果,我获得了成功,但实际上从未获得任何活动意图。
Intent intent = new Intent(context, BreakTimeMonitor.class);
intent.setAction(ACTION_DETECT_ACTIVITY);
PendingIntent pendingIntent = PendingIntent.getService(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
// Register for activity updates
PendingResult<Status> pendingResult = ActivityRecognition.ActivityRecognitionApi.requestActivityUpdates(
googleApiClient,
DETECTION_INTERVAL,
pendingIntent);
pendingResult.setResultCallback(new ResultCallback<Status>() {
@Override
public void onResult(Status status) {
if (!status.isSuccess()) {
Log.e(TAG, "Error requesting activity updates: " + status.getStatusCode() + "," + status.getStatusMessage());
} else {
Log.d(TAG, "Request for activity updates successful: " + status.getStatusCode() + "," + status.getStatusMessage());
}
}
});
编辑:清单确实有一个 BreakTimeMonitor 服务的条目,所以这不是问题。我还尝试添加一个不同的用户帐户以查看它是否有效,并且确实有效 - 所以它只是工作帐户不起作用。