Повторите метод с OnActivityResult каждые X секунд
У меня есть метод, который делает снимок, а затем в onActivityResult переходит к другому действию для последующего анализа изображения. Все идет нормально.
Моя проблема в том, что когда я использую обработчик для повторения процесса каждые 10 секунд, вызывается метод, но он будет делать только фотографии автоматически, не переходя к другой деятельности. Я предполагаю, что когда метод вызывается снова автоматически, onActivityResult никогда не вызывается. У кого-нибудь есть подсказка, в чем может быть проблема?
takePhotoBtn.setOnClickListener(new View.OnClickListener(){
public void onClick(View v) {
TakePhoto();
}
});
private void TakePhoto() {
Intent captureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File imagepath = new File(getFilesDir(), "images");
File newFile = new File(imagepath, ".jpg");
if (newFile.exists()) {
newFile.delete();
}else {
newFile.getParentFile().mkdir();
}
selectedPhotoPath = getUriForFile(this, BuildConfig.APPLICATION_ID + ".fileprovider", newFile);
startActivityForResult(captureIntent, TAKE_PHOTO_REQUEST_CODE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == TAKE_PHOTO_REQUEST_CODE && resultCode == RESULT_OK) {
InputStream inputStream;
try {
inputStream = getContentResolver().openInputStream(selectedPhotoPath);
bundle = new Bundle();
bundle.putParcelable(KEY_BITMAP, selectedPhotoPath);
}catch (FileNotFoundException e) {
e.printStackTrace();
Toast.makeText(this, "Unable to open image", Toast.LENGTH_LONG).show();
}
}
Intent intent = new Intent(this, Activity.class);
intent.putExtras(bundle);
startActivity(intent);
handler.postDelayed(new Runnable() {
@Override
public void run() {
TakePhoto();
handler.postDelayed(this, 10000);
}
},10000);
}
Любая помощь будет высоко оценена!!! Спасибо