发布网友 发布时间:2023-06-17 01:04
共2个回答
热心网友 时间:2024-11-06 12:31
您好,写一个case很容易得到想要的答案。当A访问B进程的内容时,如果B进程未运行,A是找不到你指定的URI的会抛出异常E/ActivityThread: Failed to find provider info for xx.xxx.Provider.AUTHORITY。同理可推断,当你调用指定App的ContentProvider提供的接口时,只会收到异常,并不会将对应进程启起来。热心网友 时间:2024-11-06 12:32
ContentProvider与ContentResolver里面的增删改查有什么的区别 个人理解是 ContentProvider本来就是用来数据共享的,他提供的是接口,其他程序调用的接口;你也知道,有些程序是不允许别的程序修改自己程序的数据的,那如果ContentProvider和ContentResolver没有区别的话,那是不是意味着 只要知道某个app的uri,那就可以毫无保留的去访问其他app的数据了??? 他们的区别简而言之,如果你想将你特定的数据进行共享,那么就要参照ContentProvider提供一个“接口”,不然其他app无法修改你,即使修改你的,也只能修改你的特定数据 ContentResolver,是用来调用其他app提供的“接口”作用的,他不能对其他app的数据进行任意的修改,只能对提供了contentProvider的程序才能修改,并且要匹配对uri; 如果你还要问 为什么不把修改的这个“提供接口”和“修改数据”都放在contentProvider里 而不是一个在contentProvider,一个在contentResolver里,那我只能说这是设计需要,具体为什么这么设计 ,我还没那么高的水平!期待高手指正!