Я пишу приложение для Android, которое позволяет пользователю сделать фотографию, а затем использует фотографию в качестве фона для другого просмотра. Проблема в том, что после того, как фотография сделана, приложение не переключится на новый вид. Функция setContentView () не работает, но только на моем Samsung Galaxy S, а не в эмуляторе.
У меня есть теория. Samsung делает фотографию в альбомной ориентации. После того, как фотография сделана, она возвращается в портретную ориентацию. Я считаю, что именно этот переключатель заставляет приложение вернуться к своему основному виду. Но, увы, я не знаю, как решить эту проблему.
Вот код:
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE, null);
intent.putExtra(MediaStore.EXTRA_OUTPUT, getImageUri());
startActivityForResult(intent, ACTIVITY_TAKE_PHOTO);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode != RESULT_OK)
return;
switch(requestCode) {
case ACTIVITY_TAKE_PHOTO:
setContentView(R.layout.foo);
break;
}
}
private Uri getImageUri() {
File file = new File(Environment.getExternalStorageDirectory() + "/DCIM", CAPTURE_TITLE);
Uri imgUri = Uri.fromFile(file);
return imgUri;
}