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>
相关推荐
阿华的代码王国12 小时前
【Android】相对布局应用-登录界面
android·xml·java
工藤新一OL13 小时前
把xml的格式从utf-8-bom转为utf-8
xml·c#·asp.net·.netcore·visual studio
henysugar16 小时前
便捷删除Android开发中XML中重复字符串资源的一个办法
android·xml
程序员编程指南16 小时前
Qt XML 与 JSON 数据处理方法
xml·c语言·c++·qt·json
龚子亦2 天前
【Unity开发】数据存储——XML
xml·unity·游戏引擎·数据存储·游戏开发
海哥编程3 天前
Python 进阶(七):XML 基本操作
xml·javascript·python
胖大和尚4 天前
删除 XML 格式中双引号内的空格
xml
中游鱼4 天前
使用C#对象将WinRiver项目文件进行复杂的XML序列化和反序列化实例详解
xml·c#·序列化和反序列化·属性的序列化和反序列化·完整序列化·adcp和winriver
WSSWWWSSW4 天前
JSX(JavaScript XML)‌简介
xml·开发语言·javascript
MediaTea4 天前
Python 库手册:xml.etree.ElementTree 处理 XML 数据模块
xml·java·前端·数据库·python