Xamarin.Forms更改AndroidManifest.xml导致错误:没有兼容的代码在线程上运行

想在APP中加一个打开摄像头的功能,按照该博主的方法:https://blog.csdn.net/zhenweied09/article/details/82287761

设置好后,再运行就出现上图的错误,于是查找原因,定位到是更改AndroidManifest.xml文件导致的,

需要把android.support.v4.content.FileProvider替换为androidx.core.content.FileProvider即可

XML 复制代码
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.companyname.robotdemoapp">
    <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="30" />
    <application android:label="RobotDemoApp.Android" android:theme="@style/MainTheme">
      <!-- new add camera root 2023-10-30 https://blog.csdn.net/zhenweied09/article/details/82287761 -->
      <!-- 为什么报:没有兼容的代码在线程上运行?把android.support.v4.content.FileProvider替换为androidx.core.content.FileProvider -->
      <provider android:name="androidx.core.content.FileProvider"
                android:authorities="${applicationId}.fileprovider"
                android:exported="false"
                android:grantUriPermissions="true">
                <meta-data android:name="android.support.FILE_PROVIDER_PATHS" 
                           android:resource="@xml/file_paths">
                </meta-data>
      </provider>
    </application>
  
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <!-- new add camera root 2023-10-30 https://blog.csdn.net/zhenweied09/article/details/82287761 -->
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.MANAGE_DOCUMENTS" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_USER_DICTIONARY" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_USER_DICTIONARY" />


  <!--
    如果项目的目标 Android 版本设置为 Android 11 (R API 30) 或更高版本,则必须使用使用 Android 包可见性要求的查询更新 Android 清单。
    在 Platforms/Android/AndroidManifest.xml 文件中,在 节点manifest中添加以下queries/intent节点:
  -->
  <queries>
    <intent>
      <action android:name="android.intent.action.VIEW" />
      <data android:scheme="http"/>
    </intent>
    <intent>
      <action android:name="android.intent.action.VIEW" />
      <data android:scheme="https"/>
    </intent>
  </queries>
  
</manifest>
相关推荐
鑫 源3 天前
C#源码开源, 获取macOS 电池数据,包括iOS (xamarin开发)
c#·.net·xamarin
hasty4 天前
policy.xml 在,不代表策略生效:ImageMagick 补丁给安全配置验收的提醒
xml·mysql·安全
泡海椒8 天前
JQuick-Excel JQuickRow 数据准备实战:JObjectConverter、JQuickRow.toRows 与 XML 导出链路
xml·windows·excel
泡海椒10 天前
JQuick-Excel 字段映射实战:用 MAPPING 固化 Excel 表头与业务字段契约
xml·java·开发语言·excel
执明wa22 天前
Android RecyclerView 多类型, 多种 Item
android·xml·开发语言·设计模式·android studio
wl851123 天前
SAP CPI 教程004 如何通过groovy修改XML节点属性值
xml
码匠许师傅24 天前
【C++三方组件】TinyXML2:两个文件的极简 XML 解析器
xml·c++
yuzhiboyouye25 天前
my-batisPlus什么时候用xml什么时候用mapper自带的方法,这两种写法专业一点叫什么,什么场景分别使用
xml
筝筝ba1 个月前
如何跳过FFDC
xml·linux·运维·服务器·网络
yuzhiboyouye1 个月前
那xml对应的sql语法,列举一下
xml·数据库·sql