Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
raizen2
0 / 0 / 0
Регистрация: 13.11.2014
Сообщений: 18
1

Камера и разрешение на запись - Attempt to get lenght of null aray

17.05.2017, 15:35. Просмотров 757. Ответов 1

Работа с камерой и разрешениями на запись.
Ошибка - Attempt to get lenght of null aray. Помогите плиз не могу понять что с этими разрешениями не так

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
private void CallCamera() {
        File folder = new File("sdcard/camera_app");
        if (!folder.exists()) {
            folder.mkdir();
        }
        File image_file = new File(folder, "cam_image.jpg");
        Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(image_file));
        startActivityForResult(cameraIntent, CAM_REQUEST);
 
    }
 
    public void MakePhoto(View view) {
        if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
            CallCamera();
        } else {
            if (shouldShowRequestPermissionRationale(Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
                Toast.makeText(this, "Net dostupa", Toast.LENGTH_SHORT).show();
            }
            requestPermissions(new String[] {
                    Manifest.permission.WRITE_EXTERNAL_STORAGE
            }, REQUEST_EXTERNAL_RESULT);
        }
    }
 
    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        if (requestCode == REQUEST_EXTERNAL_RESULT) {
            if (grantResults.length==1 &&
                    grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                CallCamera();
            } else {
                Toast.makeText(this, "Net dostupa", Toast.LENGTH_SHORT).show();
            }
        } else {
            super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        }
 
    }
 
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        // String path = "sdcard/camera_app/cam_image.jpg";
        // ImageView imageView;
        // imageView = (ImageView) findViewById(R.id.camera);
        // imageView.setImageDrawable(Drawable.createFromPath(path));
        Toast.makeText(this, "Succes!", Toast.LENGTH_SHORT).show();
    }}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2017, 15:35
Ответы с готовыми решениями:

Attempt to invoke virtual method on a null
Есть 2 класса. В 1-классе вызываю метод 2-класса. И ошибка: 06-25...

Ошибка Attempt to invoke virtual method on a null object reference
Здравствуйте, создаю приложение, которое работает с firebase. При отправке...

Ошибка Attempt to invoke virtual method on a null object reference
Выдает ошибку. Никак не могу понять в чем проблема. Помогите плиз. Лог ошибки:...

Разрешение изображения всегда остается 672x380, хотя камера настроена на большее разрешение
Сохраняю картинку, но ее разрешение всегда остается 672x380, хотя камера...

"String" не содержит определение для "Lenght". Не удалось найти метод расширения "Lenght"
Здравствуйте, не могу скомпилировать код. Выдает ошибку, что "string" не...

1
ExFau$t
565 / 510 / 114
Регистрация: 08.05.2012
Сообщений: 2,539
17.05.2017, 16:37 2
Лучший ответ Сообщение было отмечено raizen2 как решение

Решение

Помимо записи, должны быть разрешения на использование самой камеры, это как минимум.

Добавлено через 5 минут
requestPermissions, мне кажется, должен быть внутри if (shouldShowRequestPermissionRationale...), а проверку разрешений удобней делать при запуске.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2017, 16:37

Можно ли задавать разрешение с которым должна снимать камера
и как если можно

Затолкнуть в вектор aray
const int size=3; int aray={{1,1,0},{1,1,-1},{1,0,-1}}; vector...

Запись видео с андроид на ПК (как веб-камера)
Здравствуйте! Столкнулся с проблемкой: необходимо написать приложение для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru