[RK3288][Android6.0] 调试笔记 --- 录音apk无权限录音问题

2023-05-16

Platform: Rockchip
OS: Android 6.0
Kernel: 3.10.92

现象
写了个apk测试录音,提示:
01-22 00:59:40.795   215   948 W ServiceManager: Permission failure: android.permission.RECORD_AUDIO from uid=10055 pid=1257
01-22 00:59:40.795   215   948 E         : Request requires android.permission.RECORD_AUDIO
01-22 00:59:40.795   215   948 E AudioFlinger: openRecord() permission denied: recording not allowed
01-22 00:59:40.795  1257  1257 E AudioRecord: AudioFlinger could not create record track, status: -1
01-22 00:59:40.798  1257  1257 E AudioRecord-JNI: Error creating AudioRecord instance: initialization check failed with status -1.
01-22 00:59:40.798  1257  1257 E android.media.AudioRecord: Error code -20 when initializing native AudioRecord object.

原因
Android6.0之后对权限的管理更加严格了,permission:android.permission.RECORD_AUDIO 属于危险权限,需要弹出窗口让用户确认。

解决方法
按照帖子 http://blog.csdn.net/lmj623565791/article/details/50709663 弹出对话框的方法当然是可以的,不过更快的一个方法是提升apk权限,比如提升apk权限到system
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.pcmrecorder"
    android:sharedUserId="android.uid.system"
    >
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />  

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[RK3288][Android6.0] 调试笔记 --- 录音apk无权限录音问题 的相关文章

随机推荐