当前位置: 首页 > article >正文

uniapp离线打包app无法调用相机权限的解决思路

场景:uniapp离线打包后的app,在android12以上的机型,无法调用相机权限

解决办法:这里我认为uniapp中的mainfest.json中虽然配置了App权限,但是打包不生效。然后我试着App权限加到AndroidManifest.xml中去,发现离线打包后的app可以调用相机权限声明了。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.xxx.app">
    //将权限声明全部加到这里来(关键)
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
    <uses-permission android:name="android.permission.READ_CONTACTS"/>
    <uses-permission android:name="android.permission.VIBRATE"/>
    <uses-permission android:name="android.permission.READ_LOGS"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    <uses-feature android:name="android.hardware.camera.autofocus"/>
    <uses-permission android:name="android.permission.WRITE_CONTACTS"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.CAMERA"/>
    <uses-permission android:name="android.permission.RECORD_AUDIO"/>
    <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
    <uses-permission android:name="android.permission.WAKE_LOCK"/>
    <uses-permission android:name="android.permission.CALL_PHONE"/>
    <uses-permission android:name="android.permission.FLASHLIGHT"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-feature android:name="android.hardware.camera"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.WRITE_SETTINGS"/>
    <application
        android:allowBackup="true"
        android:allowClearUserData="true"
        android:icon="@drawable/icon"
        android:label="@string/app_name"
        android:largeHeap="true"
        android:supportsRtl="true"
        >
        <activity
            android:name="io.dcloud.PandoraEntry"
            android:configChanges="orientation|keyboardHidden|keyboard|navigation"
            android:label="@string/app_name"
            android:launchMode="singleTask"
            android:hardwareAccelerated="true"
            android:theme="@style/TranslucentTheme"
            android:screenOrientation="user"
            android:windowSoftInputMode="adjustResize" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name="io.dcloud.PandoraEntryActivity"
            android:launchMode="singleTask"
            android:configChanges="orientation|keyboardHidden|screenSize|mcc|mnc|fontScale|keyboard|smallestScreenSize|screenLayout|screenSize|uiMode"
            android:hardwareAccelerated="true"
            android:permission="com.miui.securitycenter.permission.AppPermissionsEditor"
            android:screenOrientation="user"
            android:theme="@style/DCloudTheme"
            android:windowSoftInputMode="adjustResize">
            <intent-filter>
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <action android:name="android.intent.action.VIEW" />
                <data android:scheme=" " />
            </intent-filter>
        </activity>
        <provider
            android:name="io.dcloud.common.util.DCloud_FileProvider"
            android:authorities="com.xxx.app.dc.fileprovider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/dcloud_file_provider" />
        </provider>
        <meta-data
            android:name="dcloud_appkey"
            android:value="xxxx" />
            //这里密钥自己配置
    </application>

</manifest>

问题参考


http://www.kler.cn/a/373006.html

相关文章:

  • unordered_map、unordered_set 底层原理及其相关面试题
  • 基于MATLAB多参数结合火焰识别系统
  • 用于文档理解的局部特征
  • OpenCV视觉分析之目标跟踪(6)轻量级目标跟踪器类TrackerNano的使用
  • warmup
  • Python 的安装及开发环境搭建
  • RHCE http作业
  • hdlbits系列verilog解答(DFF8-8位D触发器)-81
  • 大语言模型(LLM)入门级选手初学教程 II
  • Linux学习_11
  • 校园社团信息管理:Spring Boot框架的深度解析
  • Springboot3.3 + Mybatis / Mybatis-plus
  • 2024年10月23日Github流行趋势
  • Invalid version: ‘4.0.0-unsupported‘ - cmd 报错解决方案
  • Django入门教程——数据模型建立
  • SCSS在Vue中切换主题颜色示例(mixin + scss方式,简单高效)
  • 基于Spring Cloud Alibaba开源微服务框架:构建智能化用户审核流程
  • Python基于TensorFlow实现简单循环神经网络回归模型(SimpleRNN回归算法)项目实战
  • 《JVM第3课》运行时数据区
  • AIX、Linux和Windows三种操作系统区别以及应用场景.
  • NavVis LX系列产品典型应用—现有住宅装修改造-沪敖3D
  • MFC七段码显示实例
  • metasploit/modules/auxiliary 有哪些模块,以及具体使用案例
  • 瀚海微SD NAND存储功能描述(20)内部分区和命令响应
  • 【LeetCode】每日一题 2024_10_30 交换后字典序最小的字符串(字符串、贪心)
  • C#语言:从入门到精通