我突然得到:
Fatal Exception: java.lang.SecurityException
[OBSERVE] User permission to READ is not acquired
三星数字健康 - 健康数据 API:
HealthConstants.Exercise.HEALTH_DATA_TYPE,
HealthPermissionManager.PermissionType.READ
它以前工作的地方。其他人有这个问题吗?
更多代码:
final Set<HealthPermissionManager.PermissionKey> permissions = new HashSet<>();
permissions.add(new HealthPermissionManager.PermissionKey(
HealthConstants.Exercise.HEALTH_DATA_TYPE, HealthPermissionManager.PermissionType.READ
));
healthDataStore = new HealthDataStore(context, new HealthDataStore.ConnectionListener() {
@Override
public void onConnected() {
final HealthPermissionManager permissionManager = new HealthPermissionManager(healthDataStore);
Map<HealthPermissionManager.PermissionKey, Boolean> resultMap = permissionManager.isPermissionAcquired(permissions);
if (resultMap.containsKey(Boolean.FALSE)) {
} else {
scheduleSyncShealthTask();
final HealthDataObserver observer = new HealthDataObserver(null) {
@Override
public void onChange(String s) {
scheduleSyncShealthTask();
}
};
// crashes here:
HealthDataObserver.addObserver(healthDataStore, HealthConstants.Exercise.HEALTH_DATA_TYPE, observer);
}
}