Я хочу изменить внешний вид startActivityForResult

Мое приложение запускает камеру Android по умолчанию. Однако у меня возникла проблема с редактированием внешнего вида startActivityForResult. Я просто хочу изменить кнопки строк onStartActivityForResult на кнопки зеленого и красного цвета без каких-либо строк или слов внутри них.

Я попытался автоматически обойти этот метод и установить результат как "ОК" с помощью setResult(RESULT_OK, намерение); но это не похоже на работу. Я не против камеры, делающей снимок и запускающей к следующему экрану без запуска метода startActivityForResult.

Я хочу изменить стандартные кнопки на что-то еще... любые идеи. Заранее спасибо!!!

Кнопки редактирования

 public void takePhoto(View v) {

    Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");

    photo= new File(Environment.getExternalStorageDirectory() + boo + "/patient.jpg");

    imageUri = Uri.fromFile(photo);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
    startActivityForResult(intent, TAKE_PICTURE);

}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
    super.onActivityResult(requestCode, resultCode, intent);
    if (resultCode == Activity.RESULT_OK) {
        Toast p = Toast.makeText(this, "code: " + resultCode, Toast.LENGTH_LONG);
        p.show();
        Intent intent2 = new Intent(NewPatient.this,PatientName.class);
        startActivity(intent2);
    }
}

3 ответа

Решение

IMAGE_CAPTURE намерение запускает другое приложение. Обычно это приложение "Камера", которое поставляется вместе с устройством, но пользователь может установить дополнительные приложения камеры и решить использовать любое из них для достижения цели.

Вы абсолютно не можете контролировать внешний вид этого другого приложения. Может даже решиться не открывать камеру устройства.

Если вы заботитесь, вы должны реализовать свои собственные действия камеры.

Я не думаю, что вы можете сделать это. Вы можете создавать свои собственные действия для захвата изображений камерой, но вы не можете изменить поведение приложения после отправки им намерения.

Я не знаю о моем ответе, что вы хотите...

1. Я предполагаю, что вы можете получить доступ к объекту кнопки внутри onActivityResult, если это активность вызывающей стороны.

2.Вы можете добавить параметр в свои намерения. Как запустить Intent, передав ему некоторые параметры?

Примечание. Если вы получили ошибку доступа к потоку пользовательского интерфейса из другого потока. см. этот https://developer.android.com/training/multiple-threads/communicate-ui.html

Другие вопросы по тегам