Привет, мой проект требует, чтобы я работал с webview и камерой. Я реализовал коды в HTML, которые после нажатия кнопки «Выбрать файл» в веб-просмотре позволят мне выбрать, снимать ли фотографию с помощью камеры или загружать файлы из моего файлового менеджера. Но мне не нужна опция файла, я просто хочу, чтобы она запускала камеру сразу после нажатия кнопки. Это код, в котором запрашивается разрешение на использование моей камеры и внешнего хранилища
public void get_file(){
String[] perms = {/*Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE, */Manifest.permission.CAMERA};
//Checking for CAMERA Permissions first
//if (ASWP_CAMUPLOAD && check_permission(3)) {
//ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.CAMERA}, file_perm);
//Checking for storage permission to write images for upload
if (ASWP_FUPLOAD && ASWP_CAMUPLOAD && !check_permission(2) && !check_permission(3)) {
ActivityCompat.requestPermissions(MainActivity.this, perms, file_perm);
//Checking for WRITE_EXTERNAL_STORAGE permission
} else if (ASWP_FUPLOAD && !check_permission(2)) {
ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE}, file_perm);
//Checking for CAMERA permissions
} else if (ASWP_CAMUPLOAD && !check_permission(3)) {
ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.CAMERA}, file_perm);
}
}
public boolean check_permission(int permission){
switch(permission){
case 1:
return ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED;
case 2:
return ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED;
case 3:
return ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED;
}
return false;
}
И это код, который я изменил
static boolean ASWP_FUPLOAD = false; //upload file from webview
static boolean ASWP_ONLYCAM = true ; //only use camera as input
Я изменил файл загрузки из веб-просмотра от истинного к ложному. Но странно то, что после того, как я изменил его на false, нажатие кнопки больше не работало. Что я сделал не так? Если я хочу использовать только камеру, я должен удалить некоторые из строк в publi c void get_file ()? Надеюсь на некоторые советы, спасибо! Изменить: я нашел один код, который является ASWP_ONLYCAM, который включает только камеру в качестве единственного входа! Но я понятия не имею, как его активировать! Пожалуйста, дайте мне знать, если вам нужно больше информации