首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

跨程序共享数据——Content Provider 之 ContentResolver基本用法 & 一个读取系统联系人的Demo

运行时权限解析以及申请的实现(可完美解决java.lang.SecurityException:Permission Denial 问题) 跨程序共享数据——Content Provider 之 ContentResolver...1.ContentResolver的基本用法 对于每一个应用程序来说,如果想要访问内容提供器中共享的数据,就一定要借助Content-Resolver类,可以通过Context中的 getContentResolver...内容URI 不同于SQLiteDatabase,ContentResolver中的增删改查方法都是不接收表名参数的,而是使用一个Uri参数代替,这个参数被称为内容URI。...inert应用 可以看到,是将待添加的数据组装到ContentValues中,然后调用ContentResolver的insert()方法,将Uri和ContentValues作为参数传入即可。

1.1K20
您找到你想要的搜索结果了吗?
是的
没有找到

内容观察者

拦截短信,比如当发短信的时候,就把短信读取出来,当系统的短信发生变化的时候,大叫一声,把数据发送到公共的消息邮箱里面,我们的应用通过内容观察者观察公共的消息邮箱 获取ContentResolver对象,...调用函数getContentResolver(), 调用ContentResolver对象的registerContentObserver(uri,notifyForDescendents,observer...在这个回调函数里面,使用获取到短信内容,取最后一条,调用Cursor对象的moveToFirst()指针指向最后一条 这个应用也要加权限 系统应用是如何发出这个叫声的呢,获取ContentResolver...对象,通过getContentResolver()方法,调用ContentResolver对象的notifyChange(uri,observer)方法,参数:uri随便定义,observer指定谁处理默认...super.onChange(selfChange); Uri uri=Uri.parse("content://sms/"); ContentResolver

52520

Android中ContentProvider的用法

首先,如果要访问一个应用程序通过ContentProvider共享的数据,一定要借助ContentResolver类,我们可以通过Context类的getContentResolver()方法获取ContentResolver...类的对象, 之后,我们就可以通过ContentResolver类提供的一些方法对数据进行 增加、更改、删除、查询 操作(和数据库的4个操作类似)。...和数据库操作不同的是,ContentResolver类的这些操作都不是通过数据库表名进行的,而是通过传入ContentProvider共享数据的Uri(统一资源标识符,通过它可以找到任何文件所处的位置)...contentResolver = null; @Override protected void onCreate(Bundle savedInstanceState)...= getContentResolver(); // 获取ContentResolver对象 } private View.OnClickListener listener = new

2K10

保存联系人到系统通讯录

对应着读联系人,把数据写进去,市场上的社交类应用经常会有这样的功能 向raw_contacts表中添加一个id 向data表里面添加对应的数据 获取ContentResolver对象,通过getContentResolver...()方法 调用ContentResolver对象的query()方法,查询raw_contacts表,得到Cursor对象 调用Cursor对象的moveToLast()方法,游标移动到最后一行 获取到最后一行记录的...contact_id,新的id就是它加上1 调用ContentResolver对象的insert(uri,values)方法,参数:values是ContentValues对象把新的id put()进去...获取到ContentResolver对象后调用insert(uri,values)方法,参数:Uri应该是data表的Uri规则,ContentValues对象的,put(key,value),”raw_contact_id..., Put “mimietype”=>”vnd.android.cursor.item/name”键值对 public void writeContacts(View v){ ContentResolver

78930

Android查缺补漏--ContentProvider的使用

ContentResolver 比如,当应用A想把自己数据暴露出来让别的应用也可以操作的话,就可以在应用A内部创建一个ContentProvider实现相关方法并添加URI,然后在其他应用中(应用B)就可以通过...ContentResolver和URI来访问应用A中的ContentProvider了。...你可以把ContentProvider看做是一个网站,在生活中你想访问一个网站就必须要有一个URL地址,而这里的URI就好比这个URL地址,然后就可以用ContentResolver拿着这个这个URI地址去访问了...ContentResolver contentResolver = getContentResolver(); 我们另外新建一个工程,暂且叫做TestApp吧,在这个新的工程里面添加一个Activity...,在Activity中使用ContentResolver,通过URI来访问上面的(不同应用中)ContentProvider。

70200

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券