Я использую этот код, но мой onActivityResult никогда не вызывается. Я использовал запрос без дополнительного намерения сохранить изображение на SD-карте, и это сработало нормально - onActivityResult()
получил бы вызов, как я ожидаю. Но так как я добавил код SD-карты - не повезло!onActivityResult не вызывается после снятия фотографии в Android
Я что-то добавил (или пропустил)? В качестве примера я следил за https://stackoverflow.com/a/12277455/2884981.
Вот мой код,
static final int CAPTURE_IMAGE_CALLBACK = 1;
private void dispatchTakePictureIntent()
{
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File photo = null;
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
if (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED))
{
photo = new File(android.os.Environment.getExternalStorageDirectory(), "myapp/images/" + File.separator + timeStamp + ".png");
}
else
{
photo = new File(getCacheDir(), "myapp/images/" + File.separator + timeStamp + ".png");
}
if (photo != null)
{
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photo));
}
if (takePictureIntent.resolveActivity(getPackageManager()) != null)
{
startActivityForResult(takePictureIntent, CAPTURE_IMAGE_CALLBACK);
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
// This never gets hit!
if (requestCode == CAPTURE_IMAGE_CALLBACK)
{
// etc
Я просто думал, что я хотел бы добавить, внутри приложения камеры один раз я нажимаю клеща - ничего не происходит. Я несколько раз нажимаю галочку, он просто остается на экране камеры. Контроль никогда не возвращается в основное приложение.
Я ответил на этот вопрос, прежде чем посмотрите: http://stackoverflow.com/a/30266776/1531683 –