最近捣鼓录音小程序,发现很多晚上的demo 都不能运行成功,细看log发现是权限申请在Android版本中有所不同,在6.0.之后似乎需要我们动态的去通过用户是否给予权限而获得我们需要的权限。


声明需要的权限然后再需要到activity里调用动态的申请,让用决定是否给你相关权限,

函数如下:

先是要定义如下的以下变量,当然了,你直接写也是没毛病滴。以此类推各类在Android6.0之后的改变都需要这样去申请。

   //申请录音权限
    private static final int GET_RECODE_AUDIO = 1;
    private static String[] PERMISSION_AUDIO = {
            Manifest.permission.RECORD_AUDIO
    };

    /*
    * 申请录音权限*/
    public static void verifyAudioPermissions(Activity activity) {
        int permission = ActivityCompat.checkSelfPermission(activity,
                Manifest.permission.RECORD_AUDIO);
        if (permission != PackageManager.PERMISSION_GRANTED) {
            ActivityCompat.requestPermissions(activity, PERMISSION_AUDIO,
                    GET_RECODE_AUDIO);
        }
    }
当然了,代码肯定不止这一种实现方式,但这种方式肯定行。
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐