Android 13下Content Provider跨应用传输数据Cursor为空问题解决
Android 13下Content Provider跨应用查询Cursor为空的解决办法
我尝试通过Content Provider实现两个应用间的数据传输,但在Android 13系统中,调用ContentResolver获取到的Cursor对象为空。
经过排查,在查询方应用的AndroidManifest.xml中添加如下查询配置后,问题得以解决:
<queries> <package android:name="com.example.otherapp" /> </queries>
原因说明
Android 13及以上版本收紧了包可见性限制,默认情况下应用无法访问其他未声明的应用组件。如果跨应用访问Content Provider时没有显式声明目标应用的包名,系统会限制查询权限,导致无法获取到数据,最终返回空Cursor。
内容的提问来源于stack exchange,提问作者Nyein Chann Moe
相关产品推荐
相关产品推荐

