通过ContentResolver 获取到手机的联系人跟手机短信信息并显示出来,供大家参考,具体内容如下 1、实现的代码: package com.example.phone; import java.text.SimpleDateFormat...android.provider.ContactsContract.PhoneLookup; import android.app.Activity; import android.content.ContentResolver...break; } } /** * 获取手机联系人号码 */ public void getPhoneNumber(){ // smslist=getListView(); //得到ContentResolver...对象 ContentResolver cr = getContentResolver(); //取得电话本中开始一项的光标 Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI...SMS_URI_DRAFT = "content://sms/draft"; StringBuilder smsBuilder = new StringBuilder(); try{ ContentResolver
运行时权限解析以及申请的实现(可完美解决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作为参数传入即可。
null; if (uri == null) return file; //android10以上转换 if (uri.getScheme().equals(ContentResolver.SCHEME_FILE...)) { file = new File(uri.getPath()); } else if (uri.getScheme().equals(ContentResolver.SCHEME_CONTENT...)) { //把文件复制到沙盒目录 ContentResolver contentResolver = context.getContentResolver...Math.random() + 1) * 1000) + "." + MimeTypeMap.getSingleton().getExtensionFromMimeType(contentResolver.getType...(uri)); try { InputStream is = contentResolver.openInputStream(uri);
拦截短信,比如当发短信的时候,就把短信读取出来,当系统的短信发生变化的时候,大叫一声,把数据发送到公共的消息邮箱里面,我们的应用通过内容观察者观察公共的消息邮箱 获取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
设置方法如下: public void setScrennManualMode() { ContentResolver contentResolver = getActivity().getContentResolver...(); try { int mode = Settings.System.getInt(contentResolver, Settings.System.SCREEN_BRIGHTNESS_MODE...设置屏幕亮度的方法: private int getScreenBrightness() { ContentResolver contentResolver = getActivity().getContentResolver...(); int defVal = 125; return Settings.System.getInt(contentResolver, Settings.System.SCREEN_BRIGHTNESS...contentResolver = getActivity().getContentResolver(); int value = 255; // 设置亮度值为255 Settings.System.putInt
public int getScreenBrightness() { int defVal = 125; return Settings.System.getInt( contentResolver...import android.content.ContentResolver; import android.content.Context; import android.content.Intent...contentResolver; private static ZJBrightnessUtil mInstance; private Context mContext; private...setScrennAutoMode() { try { int mode = Settings.System.getInt( contentResolver...int getScrennMode() { try { int mode = Settings.System.getInt( contentResolver
ContentResolver可以与任意内容提供者进行会话,与其合作来对所有相关交互通讯进行管理。 一.如何完整的开发一个ContentProvider?...-- ContentProvider的作用是暴露可供操作的数据,其他应用程序通过ContentResolver操作ContentProvider所暴露的数据。...首先获取ContentResolver对象: getContentResolver():获取应用默认的ContentResolver。...接下来通过ContentResolver对象操作数据: insert():向Uri对应的ContentProvider中插入values对应的数据。...ContentResolver与ContentProvider的关系如下图: ? ContentResolver与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
MediaStore.Images.Media.insertImage(getContentResolver(), frontFile.getAbsolutePath(), null, null)); ContentResolver...contentResolver = this.getContentResolver(); Bitmap bitmap = BitmapFactory.decodeStream(contentResolver.openInputStream...MediaStore.Images.Media.insertImage(getContentResolver(), backFile.getAbsolutePath(), null, null)); ContentResolver...contentResolver = this.getContentResolver(); Bitmap bitmap = BitmapFactory.decodeStream(contentResolver.openInputStream
ContentResolver类 从而与ContentProvider类进行交互 4.2 为什么要使用通过ContentResolver类从而与ContentProvider类进行交互,而不直接访问ContentProvider...前,需要先获取ContentResolver // 可通过在所有继承Context的类中 通过调用getContentResolver()来获得ContentResolver ContentResolver...ContentResolver resolver = getContentResolver(); // 通过ContentResolver 根据URI 向ContentProvider...ContentResolver resolver2 = getContentResolver(); // 通过ContentResolver 根据URI 向ContentProvider...ContentResolver resolver = getContentResolver(); // 通过ContentResolver 根据URI 向ContentProvider
外部进程通过 ContentResolver类 从而与ContentProvider类进行交互 4.2 为什么要使用通过ContentResolver类从而与ContentProvider类进行交互,...前,需要先获取ContentResolver // 可通过在所有继承Context的类中 通过调用getContentResolver()来获得ContentResolver ContentResolver...ContentResolver resolver = getContentResolver(); // 通过ContentResolver 根据URI 向ContentProvider...ContentResolver resolver2 = getContentResolver(); // 通过ContentResolver 根据URI 向ContentProvider...ContentResolver resolver = getContentResolver(); // 通过ContentResolver 根据URI 向ContentProvider
基本操作: 查询:使用ContentResolver的query()方法查询数据与 SQLite查询一样,返回一个指向结果集的游标Cursor。...插入:使用ContentResolver.insert()方法向ContentProvide中增加一个新的记录时,需要先将新纪录的数据封装到ContentValues对象中,然后调用ContentResolver.insert...删除:如果要删除单个记录,可以调用ContentResolver.delete()方法,通过给该方法传递一个特定行的URI参数来实现删除操作。...更新:使用ContentResolver.update()方法实现记录的更新操作。...String对象 public String getContactInfo() { // TODO Auto-generated method stub String result = ""; ContentResolver
对应着读联系人,把数据写进去,市场上的社交类应用经常会有这样的功能 向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
They encapsulate data and provide it to applications through the single ContentResolver interface....ContentProvider以某种Uri的形式对外提供数据,而其它应用使用ContentResolver依据Uri去訪问操作指定数据。...操作数据 ContentProvider相当于一个站点,而ContentResolver则相对于HttpClient。...一般来说Content是单例模式,当多个应用程序通过ContentResolver来操作ContentProvider提供的数据时。数据操作会托付给同一个ContentProvider处理。...(1)调用Activity的ContentResolver()获取ContentResolver对象; (2)使用ContentResolover的insert、delete、update、query
--添加到ServiceManager中--> ServiceManager.addService(ContentResolver.CONTENT_SERVICE_NAME, service);...contentResolver = context.getContentResolver(); contentResolver.registerContentObserver(Uri.parse...contentResolver = context.getContentResolver(); contentResolver.notifyChange(Uri.parse("content:...通过ContentResolver注册ContentObserver代码如下: public final void registerContentObserver(Uri uri, boolean...contentResolver = context.getContentResolver(); contentResolver.notifyChange(Uri.parse("content:
而SharePreferences需要授权才能读写 二、配合组件ContentResolver ContentProvider提供了接口可以访问或者修改数据,而其他应用可以使用ContentResolver.../study.provider/book(这里的book是请求对象是可以改变的,content是固定格式,中间部分是那个注册ContentProvider时候的那个authority属性值) 2、使用ContentResolver...2.1常见方法 getContentResolver()、insert()、delete()、update()、query()等 步骤:调用Activity的getContentResolver方法获取ContentResolver
获取ContentResolver内容解析器对象,通过getContentResolver()方法 调用ContentResolver对象的query()方法,得到raw_contacts表里面的数据,...raw_contacts”)方法, while循环Cursor对象,条件是Cursor对象moveToNext()方法为真 调用Cursor对象的getString()方法,参数是索引 判断不为null,查询另一张表 调用ContentResolver...java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.content.ContentResolver...PhoneContactsUtil { public static List> getContacts(Context context){ ContentResolver
values.put(MediaStore.MediaColumns.RELATIVE_PATH, Environment.DIRECTORY_DCIM); ContentResolver...contentResolver = context.getContentResolver(); Uri uri = contentResolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI...图片保存失败"); return; } try { OutputStream out = contentResolver.openOutputStream
; 查询图片 : 查询图片文件的具体原理参考 【Android 文件管理】分区存储 ( 创建与查询图片文件 ) , 不再详细分析 ; 首先 , 调用 getContentResolver 方法获取 ContentResolver...查询的 Uri , 指定要查询的列 , 查询语句, 查询参数 , 排列规则 , 这 5 个参数 , 查询结果是 Cursor 对象 ; // 查询 SQLite 数据库 var cursor = contentResolver.query...= null // 查询 SQLite 数据库 var cursor = contentResolver.query( // 指定要查询的 Uri..., 直接删除之前查询出的图片 Uri 即可 ; // 删除图片 var row = contentResolver.delete(uri!!...= null // 查询 SQLite 数据库 var cursor = contentResolver.query( // 指定要查询的 Uri
com.itheima.contenProvider.provider.PersonContentPro vider"android:authorities="com.itheima.person" /> 第三方可以通过 ContentResolver...4、说说ContentProvider、ContentResolver、ContentObserver之间的关系 a.ContentProvider内容提供者,用于对外提供数据 b.ContentResolver.notifyChange...(uri)发出信息 c.ContentResolver内存解析者,用于获取内容提供者提供的数据 d.ContentObserver内容观察者,可以监听数据的改变状态 e.ContentResolver.registerContentObserver
领取专属 10元无门槛券
手把手带您无忧上云