FAILED TO FIND PROVIDER INFO FOR COM.……

本文分享了一位开发者在实现ContentProvider过程中遇到的关于AUTHORITY设置不一致的问题及解决过程。作者通过细致比对provider.java与AndroidManifest.xml文件中AUTHORITY的设定值,最终解决了failedtofindproviderinfofor的错误。

学习content provider,做了个练习,两天来一直不成功,提示:

failed to find provider info for com.……

网上也有很多人提这个问题,没有找到适用的解决方法。今早又一遍检查代码,突然发现,AUTHORITY在provider.java中有设定,在AndroidManifest.xml中也有设定,但两个值有细微差别。同一个表的AUTHORITY,为什么不同呢?复制粘贴,保证一致,保存,运行。结果……

成功了!

哈哈,这么简单的解决方法!

Google真是时时处处都要考验我们的细心,AUTHORITY都要设置两个。要是Microsoft,一定只设一个。呵呵

### 三级标题:Android 中 Failed to find provider info for com.luohb.demo.MyProvider 的解决方法 当 Android 应用尝试通过 `ContentResolver` 访问某个 `ContentProvider` 时,若系统无法找到该 `ContentProvider`,则会抛出 `Failed to find provider info for com.luohb.demo.MyProvider` 异常。该问题通常与 `AndroidManifest.xml` 文件中未正确声明 `ContentProvider` 或其 `authorities` 配置错误有关。 确保 `ContentProvider` 已在 `AndroidManifest.xml` 文件中正确注册。`<provider>` 标签必须嵌套在 `<application>` 标签内部,且 `android:name` 属性应指向正确的类路径,`android:authorities` 必须与代码中使用的 `Uri` 匹配。示例如下: ```xml <application ...> <provider android:name=".MyProvider" android:authorities="com.luohb.demo.MyProvider" android:exported="false" /> </application> ``` 若 `ContentProvider` 是通过模块化或依赖库引入的,需确认其是否在主模块的 `AndroidManifest.xml` 中合并了相应的 `<provider>` 声明。Gradle 插件 3.0 及以上版本支持自动合并 `ContentProvider` 声明,但若存在冲突或手动配置错误,可能导致合并失败[^2]。 此外,若应用适配了 Android 8.0(API 26)及以上版本,需注意 `ContentProvider` 的 `android:exported` 属性默认为 `false`。若需跨应用访问,必须显式设置 `android:exported="true"` 并配置 `intent-filter` 或 `grant-uri-permission`,否则将导致权限异常或找不到 Provider 的问题[^2]。 对于某些第三方 SDK 或库中使用的 `ContentProvider`,如 Google Ads 或新浪微博 SDK,若未正确配置元数据(如 `meta-data`)或未按官方文档要求初始化,也可能导致 `Failed to find provider info` 异常。例如,Google Ads 需要在 `AndroidManifest.xml` 中添加如下配置: ```xml <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-..." /> ``` 若问题出现在使用 `ContentResolver.delete()` 或其他操作时,还需检查是否在主线程执行了耗时操作,这可能导致 `ContentProvider` 初始化失败或抛出异常[^1]。 --- ### 三级标题:相关问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值