Эй, ребята, я просто добавил функцию для пользователя, чтобы иметь возможность снимать картинку из моего приложения, и я правильно настроил настройку камеры. [По-моему, так по крайней мере]. Я настраиваю кнопку в файле «xml» и соответствующим образом настраиваю намерение и кнопку в файле «class/java». При тестировании приложения кнопка работает и загружает собственную камеру Android 4.0.4, и делает снимок отлично, но когда я нажимаю кнопку «галочка» [кнопка «ok» в более старых версиях Android], она не возвращается к приложение. Камера по-прежнему поддерживает все функции, которые она не замерзает или что-то еще. Я все же могу выбрать, чтобы переснять изображение или выбрать отмену; кнопка «OK/checkmark» не работает.Кнопка «OK» камеры не работает
public class XXXXXXXXXXX extends Activity
{
Button button;
String path;
boolean taken;
static final String PHOTO_TAKEN = "photo_taken";
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.XXXXXXXX);
button = (Button) findViewById(R.id.take_picture);
button.setOnClickListener(new ButtonClickHandler());
path = Environment.getExternalStorageDirectory() + "/images/testing-cam.jpg";
}
public class ButtonClickHandler implements View.OnClickListener
{
public void onClick(View view)
{
Log.i("Button", ".onClick()");
startCameraActivity();
}
}
protected void startCameraActivity()
{
Log.i("Start", "CameraActivity()");
File file = new File(_path);
Uri outputFileUri = Uri.fromFile(file);
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
startActivityForResult(intent, 0);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
switch(resultCode)
{
case 0:
break;
case -1:
onPhotoTaken();
break;
}
}
protected void onPhotoTaken()
{
taken = true;
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 4;
Bitmap bitmap = BitmapFactory.decodeFile(_path, options);
image.setImageBitmap(bitmap);
field.setVisibility(View.GONE);
}
Если какой-либо другой код нужен, я могу предоставить, но это основной код камеры я использовал в моем приложении.
У вас есть метод OnActivityResult() в вашей деятельности? Если это так, пожалуйста, – FoamyGuy
Просто отправил его. – woody
Добавьте некоторые операторы журнала в метод OnActivityResult, чтобы увидеть, вернется ли камера к ней или нет. – FoamyGuy