【发布时间】:2020-01-20 12:13:56
【问题描述】:
您好,我的项目需要我使用 webview 和摄像头。我在 HTML 中实现了代码,当按下“选择文件”按钮时,webview 将让我选择是使用相机拍摄照片还是从我的文件管理器上传文件。但我不想要文件选项,我只想在按下按钮后立即启动相机。这是它要求允许使用我的相机和外部存储的代码
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
我将上传文件从 webview 选项从 true 更改为 false。但奇怪的是,在我将其更改为 false 之后,按下按钮不再起作用。我做错了什么?如果我只想使用相机,我应该删除 public void get_file() 中的一些行吗? 希望给点建议,谢谢! 编辑:我发现一个代码是 ASWP_ONLYCAM,它只启用相机作为唯一的输入!但我不知道如何激活它! p.s.如果您需要更多信息,请告诉我
【问题讨论】:
-
您好,欢迎来到 StackOverflow!
check_permission()方法到底是做什么的?能否提供一下代码? -
@C0nverter 您好,非常抱歉!我添加了,请看一下!
标签: java android permissions camera