0
点赞
收藏
分享

微信扫一扫

Android学习:java.lang.IllegalArgumentException: Unknown URL content:…闪退问题

西特张 2022-02-26 阅读 150

从《第一行代码:Android 第三版》中,复刻了ProviderTest程序,向DatabaseTest程序的ContentProvider写入数据的时候,遇到按下按钮直接闪退的问题。

查看Logcat,抛出异常:

  • java.lang.IllegalArgumentException: Unknown URL content: 
  • Failed to find provider info for com.example.databasetest.provider

​​​​​​​​​​​​​​

仔细检查确定没有拼写错误,一番搜索,发现Android高版本收紧了权限以防止程序随便访问其他程序的文件,所以需要在Manifest中加入语句:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="...">
    ...
    ...
    <uses-permission android:name="DatabaseProvider._READ_PERMISSION" />
    <uses-permission android:name="DatabaseProvider._WRITE_PERMISSION" />
    <queries>
        <package android:name="com.example.databasetest" />
    </queries>
    ...
    ...
    <application> ...
  • 获取provider的读写权限
  • 在queries标签中声明要访问的程序的包名

加上上述代码以后再点击按钮,就不再闪退。

举报

相关推荐

0 条评论