我有一个应用程序,它通过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服务的条目,因此不是问题。我还尝试添加一个不同的用户帐户,看看它是否有效,而且确实如此 - 所以它只是不起作用的工作帐户。