Я использую этот код, чтобы сделать снимок на Android и получить путь и он прекрасно работает на моем Android API устройства 17.Android - Сфотографируйте API 23
Это намерение
//Open camera
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
//start the image capture Intent
startActivityForResult(intent, 100);
и здесь, я получить путь
String picturePath;
Uri selectedImage;
Bitmap photo;
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode,resultCode,data);
if (requestCode == 100 && resultCode == RESULT_OK && data!=null)
{
try
{
selectedImage = data.getData();
String[] filePathColumn = {MediaStore.Images.Media.DATA};
Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
picturePath = cursor.getString(columnIndex);
//I got the picturePath, i m going to pass it to a method..
createUploadFile();
String check = uploadFile.execute(picturePath).get();
cursor.close();
....
проблема на API 24 или более, onActivityResult
Намерение данных локальная переменная равна нулю, и я получаю ошибку здесь.
Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, null, null, null);
Я добавил разрешение на андроид.
Любые помощь? Спасибо.