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

从《第一行代码: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标签中声明要访问的程序的包名

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值