GithubHelp home page GithubHelp logo

Comments (10)

AivanUy avatar AivanUy commented on June 4, 2024

只能自己修改源码了:
1、把源码下下来,targetSdkVersion compileSdk 都改成33
2、把废除的 方法注释掉
3、修改 public class FileChooser 类: onCameraAction(); 方法 和 fileChooser() 方法
image
image

权限判断:

  //权限请求 支持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.

zzl313703419 avatar zzl313703419 commented on June 4, 2024

牛啊 犹如及时雨一般 在我放弃时候出现了

from agentweb.

zzl313703419 avatar zzl313703419 commented on June 4, 2024

修改完后如何引用呢 谢谢

from agentweb.

AivanUy avatar AivanUy commented on June 4, 2024

就普通库模块引用呀

from agentweb.

Smail-cai avatar Smail-cai commented on June 4, 2024

兄弟,权限列表放进去啊,搞得我一直试没效果,唉
PermissionX.init((FragmentActivity) mActivity).permissions(requestList).request(new RequestCallback() {
@OverRide
public void onResult(boolean allGranted, @nonnull List grantedList, @nonnull List deniedList) {
touchOffFileChooserAction();
}
});

from agentweb.

Justson avatar Justson commented on June 4, 2024

只能自己修改源码了: 1、把源码下下来,targetSdkVersion compileSdk 都改成33 2、把废除的 方法注释掉 3、修改 public class FileChooser 类: onCameraAction(); 方法 和 fileChooser() 方法 image image

权限判断:

  //权限请求 支持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.

121104115wyb avatar 121104115wyb commented on June 4, 2024

这种方式改动更小(前几步骤和二楼一致)
1.targetSdkVersion 33
2.compileSdkVersion 33
3.下载 agentweb 和 filechooser 代码使用module方式导入项目中,升级到33后会有websetting 属性不可用,注释掉即可

image

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.

Justson avatar Justson commented on June 4, 2024

这种方式改动更小(前几步骤和二楼一致) 1.targetSdkVersion 33 2.compileSdkVersion 33 3.下载 agentweb 和 filechooser 代码使用module方式导入项目中,升级到33后会有websetting 属性不可用,注释掉即可

image

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.