Я пытаюсь вызвать Android камеры, используя следующий код:Android MediaStore.ACTION_IMAGE_CAPTURE Намерение Возвращение Null data.getData()
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1 && resultCode == RESULT_OK) {
Uri uri = data.getData();
if (uri != null) Log.d("", uri.toString());
else Log.d("", "uri is null."); // ...but why? It should hold the image URI.
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, 1);
}
Согласно документации:
"MediaStore.EXTRA_OUTPUT - Для этого параметра требуется объект Uri, указывающий путь и имя файла, в котором вы хотите сохранить изображение. Этот параметр является необязательным, но настоятельно рекомендуется. Если вы не укажете это значение, приложение камеры сохранит запрошенное изображение в местоположении по умолчанию с именем по умолчанию, указанным в возвращаемом намерении In tent.getData(). "
Это не мой опыт. Для меня этот код возвращает null для data.getData()
. Я также экспериментировал с настройкой вывода Uri, но это дало мне целый ряд проблем ...
У кого-нибудь еще это было?
На каком устройстве это было? Я знаю, что мне приходилось делать некоторые обходные пути в зависимости от версии устройства/версии os ... 'data' в некоторых случаях действительно« null ». – shkschneider
Довольно неясный ToughShield R500 + прочный телефон: http://www.tough-shield.com/device/r500-2/ – user3352488
Если 'data' сам является' null', я использовал строку с псевдо-жестким кодом, которая мне известна устройство сохраняло изображение до ... – shkschneider