Comments (10)
只能自己修改源码了:
1、把源码下下来,targetSdkVersion compileSdk 都改成33
2、把废除的 方法注释掉
3、修改 public class FileChooser 类: onCameraAction(); 方法 和 fileChooser() 方法
权限判断:
//权限请求 支持Androidx https://github.com/guolindev/PermissionX
//noinspection UseTomlInstead
implementation 'com.guolindev.permissionx:permissionx:1.7.1'
private void checkPicturePermission(){
ArrayList<String> requestList = new ArrayList<>();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
requestList.add(Manifest.permission.READ_MEDIA_IMAGES);
requestList.add(Manifest.permission.READ_MEDIA_AUDIO);
requestList.add(Manifest.permission.READ_MEDIA_VIDEO);
} else {
requestList.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
requestList.add(Manifest.permission.READ_EXTERNAL_STORAGE);
}
PermissionX.init((FragmentActivity) mActivity).permissions().request(new RequestCallback() {
@Override
public void onResult(boolean allGranted, @NonNull List<String> grantedList, @NonNull List<String> deniedList) {
touchOffFileChooserAction();
}
});
}
private void checkCameraPermission(){
ArrayList<String> requestList = new ArrayList<>();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
requestList.add(Manifest.permission.READ_MEDIA_IMAGES);
requestList.add(Manifest.permission.READ_MEDIA_AUDIO);
requestList.add(Manifest.permission.READ_MEDIA_VIDEO);
requestList.add(Manifest.permission.CAMERA);
} else {
requestList.add(Manifest.permission.CAMERA);
requestList.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
requestList.add(Manifest.permission.READ_EXTERNAL_STORAGE);
}
PermissionX.init((FragmentActivity) mActivity).permissions().request(new RequestCallback() {
@Override
public void onResult(boolean allGranted, @NonNull List<String> grantedList, @NonNull List<String> deniedList) {
openCameraAction();
}
});
}
from agentweb.
牛啊 犹如及时雨一般 在我放弃时候出现了
from agentweb.
修改完后如何引用呢 谢谢
from agentweb.
就普通库模块引用呀
from agentweb.
兄弟,权限列表放进去啊,搞得我一直试没效果,唉
PermissionX.init((FragmentActivity) mActivity).permissions(requestList).request(new RequestCallback() {
@OverRide
public void onResult(boolean allGranted, @nonnull List grantedList, @nonnull List deniedList) {
touchOffFileChooserAction();
}
});
from agentweb.
只能自己修改源码了: 1、把源码下下来,targetSdkVersion compileSdk 都改成33 2、把废除的 方法注释掉 3、修改 public class FileChooser 类: onCameraAction(); 方法 和 fileChooser() 方法
权限判断:
//权限请求 支持Androidx https://github.com/guolindev/PermissionX //noinspection UseTomlInstead implementation 'com.guolindev.permissionx:permissionx:1.7.1'
private void checkPicturePermission(){ ArrayList<String> requestList = new ArrayList<>(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { requestList.add(Manifest.permission.READ_MEDIA_IMAGES); requestList.add(Manifest.permission.READ_MEDIA_AUDIO); requestList.add(Manifest.permission.READ_MEDIA_VIDEO); } else { requestList.add(Manifest.permission.WRITE_EXTERNAL_STORAGE); requestList.add(Manifest.permission.READ_EXTERNAL_STORAGE); } PermissionX.init((FragmentActivity) mActivity).permissions().request(new RequestCallback() { @Override public void onResult(boolean allGranted, @NonNull List<String> grantedList, @NonNull List<String> deniedList) { touchOffFileChooserAction(); } }); }
private void checkCameraPermission(){ ArrayList<String> requestList = new ArrayList<>(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { requestList.add(Manifest.permission.READ_MEDIA_IMAGES); requestList.add(Manifest.permission.READ_MEDIA_AUDIO); requestList.add(Manifest.permission.READ_MEDIA_VIDEO); requestList.add(Manifest.permission.CAMERA); } else { requestList.add(Manifest.permission.CAMERA); requestList.add(Manifest.permission.WRITE_EXTERNAL_STORAGE); requestList.add(Manifest.permission.READ_EXTERNAL_STORAGE); } PermissionX.init((FragmentActivity) mActivity).permissions().request(new RequestCallback() { @Override public void onResult(boolean allGranted, @NonNull List<String> grantedList, @NonNull List<String> deniedList) { openCameraAction(); } }); }
别用PermissionX,欢迎提个pr来哈
from agentweb.
这种方式改动更小(前几步骤和二楼一致)
1.targetSdkVersion 33
2.compileSdkVersion 33
3.下载 agentweb 和 filechooser 代码使用module方式导入项目中,升级到33后会有websetting 属性不可用,注释掉即可
4.build.gradle中加入依赖
//webView
// api rootProject.ext.agentweb
// api rootProject.ext.agentwebfilechooser
//依赖本地
api project(path: ':agentweb')
implementation project(path: ':filechooser')
在AgentWebPermissions 中定义了要申请的权限,我们改动这里面的代码即可,其它不需要变动:
public class AgentWebPermissions {
public static final String[] CAMERA;
public static final String[] LOCATION;
public static final String[] STORAGE;
public static final String ACTION_CAMERA = "Camera";
public static final String ACTION_LOCATION = "Location";
public static final String ACTION_STORAGE = "Storage";
static {
CAMERA = new String[]{
Manifest.permission.CAMERA};
LOCATION = new String[]{
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.ACCESS_COARSE_LOCATION};
//这里按照需要添加
if (Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.TIRAMISU) {
STORAGE = new String[]{
Manifest.permission.READ_MEDIA_IMAGES};
} else {
STORAGE = new String[]{
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE};
}
}
}
最后 manifest 文件权限不要忘记添加
使用android 13 手机测试没有问题!!!
from agentweb.
这种方式改动更小(前几步骤和二楼一致) 1.targetSdkVersion 33 2.compileSdkVersion 33 3.下载 agentweb 和 filechooser 代码使用module方式导入项目中,升级到33后会有websetting 属性不可用,注释掉即可
4.build.gradle中加入依赖
//webView // api rootProject.ext.agentweb // api rootProject.ext.agentwebfilechooser //依赖本地 api project(path: ':agentweb') implementation project(path: ':filechooser')
在AgentWebPermissions 中定义了要申请的权限,我们改动这里面的代码即可,其它不需要变动:
public class AgentWebPermissions { public static final String[] CAMERA; public static final String[] LOCATION; public static final String[] STORAGE; public static final String ACTION_CAMERA = "Camera"; public static final String ACTION_LOCATION = "Location"; public static final String ACTION_STORAGE = "Storage"; static { CAMERA = new String[]{ Manifest.permission.CAMERA}; LOCATION = new String[]{ Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}; //这里按照需要添加 if (Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.TIRAMISU) { STORAGE = new String[]{ Manifest.permission.READ_MEDIA_IMAGES}; } else { STORAGE = new String[]{ Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE}; } } }
最后 manifest 文件权限不要忘记添加
使用android 13 手机测试没有问题!!!
欢迎pr
from agentweb.
Related Issues (20)
- 拍照和文件选择问题 HOT 1
- 小米13 重定向 goback失效 HOT 9
- Java 调 Javascript方法
- android.content.res.Resources$NotFoundException: Resource ID #0x0 HOT 1
- 默认的useragent直接被谷歌sso登录系统屏蔽 HOT 2
- 无网络情况下没有显示错误布局
- 在系统4.4.4的情况下,报错 HOT 1
- 加载网页只能显示一屏
- 调用相机录像异常java.lang.SecurityException: No persistable permission grants found for UID 10713 and Uri content://
- url更新后 还是加载以前的旧内容 HOT 1
- 腾讯tbs文档能力开始收费了,谁有什么好的替代方案推荐么 HOT 3
- H5 调用方法 告知移动端 需要隐藏 titleBar ,android 隐藏后 发现 AgentWeb 顶部出现空白,没有自适应
- Android13通过webView选择上传图片或者文件时点击图片或者文件无反应 HOT 1
- 大家第一次启动的时候加载不会慢吗?第一次加载要好几秒,有提前初始化的方式吗? HOT 2
- 返回无反应 HOT 2
- 你好。我用谷歌浏览器APK加载一个本地网页是正常的。但是用我创建的agentweb就不行,报错如下请问有什么解决方案吗。
- 2023年了这个库还有维护吗
- 安卓14中无法点击相机和相册没反应
- android13 重定向 goback失效 HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from agentweb.