Я использую Azure Face API для распознавания лиц, некоторые из моих методов работают правильно только в режиме отладки:
public void detectFace(MenuItem item){
getPicture();
startFaceRecognition();
}
Я впервые заметил проблему с кодом выше. Метод getPicture (), по-видимому, не запускается, если второй метод вызывается после, хотя он запускается, если startFaceRecognition () вызывается из getPicture ().
public void addFace(MenuItem item){
getPicture();
AddFaceParams params = new AddFaceParams("family", "personIdCode", "", currentPhotoPath);
new AddFaceTask().execute(params);
}
Второй фрагмент кода занимает изображение, а затем отправляет изображение с соответствующей информацией на Azure с HTTP-запросом в асинхронной задаче. Я считаю, что проблема в том, что метод getPicture () не вызывается, если внутри метода не установлена точка останова. Это работает, если я перехожу через метод, но не если он запускается сам по себе.
Будет ли это какой-то формой проблемы синхронизации? Я новичок в разработке Java и Android.