Я работаю над приложением, которое использует API Google Fit android для записи и извлечения данных. Я прочитал документацию и поэтому пытаюсь установить sh подписку с помощью Fitness.getRecordingClient. Когда вы делаете это, есть два основных метода (слушателей), один из которых находится на OnSuccess, а другой на onFailure. Я запустил приложение в режиме отладки, и оно никогда не входит в onSuccess или onFailure. это не дает мне никаких ошибок. так что мне довольно сложно узнать, что происходит. Если кто-то имеет опыт работы с Google Fit API, используя android, я ценю. спасибо Google Fit Docs https://developers.google.com/fit/android/record вот код StatsFragment
public class StatsFragment extends Fragment {
private static final int GOOGLE_FIT_PERMISSIONS_REQUEST_CODE = 20;
private static final String LOG_TAG = "STATS";
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_stats, container, false);
//declaring the fitnessOption client and type of data to be access
FitnessOptions fitnessOptions = FitnessOptions.builder()
.addDataType(DataType.TYPE_STEP_COUNT_DELTA, FitnessOptions.ACCESS_READ)
.addDataType(DataType.AGGREGATE_STEP_COUNT_DELTA, FitnessOptions.ACCESS_READ)
.build();
//checking for user permisssion
if (!GoogleSignIn.hasPermissions(GoogleSignIn.getLastSignedInAccount(getActivity()), fitnessOptions)) {
GoogleSignIn.requestPermissions(
this, // your activity
GOOGLE_FIT_PERMISSIONS_REQUEST_CODE,
GoogleSignIn.getLastSignedInAccount(getActivity()),
fitnessOptions);
} else {
Fitness.getRecordingClient(getActivity(), GoogleSignIn.getLastSignedInAccount(getActivity()))
.listSubscriptions(DataType.TYPE_STEP_COUNT_CUMULATIVE)
.addOnSuccessListener(new OnSuccessListener<List<Subscription>>() {
@Override
public void onSuccess(List<Subscription> subscriptions) {
for (Subscription sc : subscriptions) {
DataType dt = sc.getDataType();
Log.i(LOG_TAG, "Active subscription for data type: " + dt.getName());
}
}
});
}
return view;
}
}