private Executor executor = Executors.newSingleThreadExecutor();
captureImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imageCapture.takePicture(executor, new ImageCapture.OnImageCapturedCallback() {
@SuppressLint("UnsafeExperimentalUsageError")
@Override
public void onCaptureSuccess(@NonNull ImageProxy image) {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
cameraProvider.unbind(preview);
}
});
FragmentCroppImage fragment2 = new FragmentCroppImage();
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.addToBackStack(null);
fragmentTransaction.replace(R.id.frameLHaupt, fragment2);
fragmentTransaction.commit();
}
@Override
public void onError(@NonNull ImageCaptureException exception) {
exception.printStackTrace();
}
});
}
});
Ive got a simple code above. When I take a picture I open the new fragment.
No problem BUT the issue is that when I return to cameraX fragment (popbackstack) ) receive the following error: Attempting to bind too many ImageCapture or VideoCapture instances
.
After researching I read the following answer: answer I need to unbind the cameraX components which I did, but I research the same error.
So now I'm stuck. What can the reason be? It seems like I need to unbind the elements way before the imagecapture?