Невозможно получить клиент фитнес-записи из Google Fit (подписка) - PullRequest
1 голос
/ 25 января 2020

Я работаю над приложением, которое использует 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;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...