展开

关键词

android ContentResolver获取手机电话号码和短信内容

通过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

36120

跨程序共享数据——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作为参数传入即可。

51820
  • 广告
    关闭

    什么是世界上最好的编程语言?丨云托管征文活动

    代金券、腾讯视频VIP、QQ音乐VIP、QB、公仔等奖励等你来拿!

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

    Android网络与数据存储——ContentProvider

    ContentResolver可以与任意内容提供者进行会话,与其合作来对所有相关交互通讯进行管理。 一.如何完整的开发一个ContentProvider? -- ContentProvider的作用是暴露可供操作的数据,其他应用程序通过ContentResolver操作ContentProvider所暴露的数据。 首先获取ContentResolver对象: getContentResolver():获取应用默认的ContentResolver。 接下来通过ContentResolver对象操作数据: insert():向Uri对应的ContentProvider中插入values对应的数据。 ContentResolver与ContentProvider的关系如下图: ? ContentResolver与ContentProvider的关系

    37140

    Android编程设置屏幕亮度的方法

    设置方法如下: 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

    65541

    Android声音和亮度设置

    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

    97420

    内容观察者

    拦截短信,比如当发短信的时候,就把短信读取出来,当系统的短信发生变化的时候,大叫一声,把数据发送到公共的消息邮箱里面,我们的应用通过内容观察者观察公共的消息邮箱 获取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

    28120

    Android Uri转File方法(适配android 10以上版本及android 10以下版本)

    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);

    35620

    Android如何调用系统相机拍照

    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

    96621

    Android:关于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

    1.4K31

    Carson带你学Android:关于ContentProvider的知识都在这里了!

    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

    6010

    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

    1.3K10

    Android小程序实现访问联系人

    基本操作: 查询:使用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

    23620

    保存联系人到系统通讯录

    对应着读联系人,把数据写进去,市场上的社交类应用经常会有这样的功能 向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

    41030

    仿比心源码,保存图片到系统相册

    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

    20230

    安卓开发之数据共享

    而SharePreferences需要授权才能读写 二、配合组件ContentResolver ContentProvider提供了接口可以访问或者修改数据,而其他应用可以使用ContentResolver /study.provider/book(这里的book是请求对象是可以改变的,content是固定格式,中间部分是那个注册ContentProvider时候的那个authority属性值) 2、使用ContentResolver 2.1常见方法 getContentResolver()、insert()、delete()、update()、query()等 步骤:调用Activity的getContentResolver方法获取ContentResolver

    51860

    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。

    27200

    Android内容服务ContentService原理浅析ContentService启动跟实质注册观察者流程通知流程总结

    --添加到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:

    36730

    Android内容服务ContentService原理浅析

    --添加到ServiceManager中--> ServiceManager.addService(ContentResolver.CONTENT_SERVICE_NAME, service); contentResolver = context.getContentResolver(); contentResolver.registerContentObserver(Uri.parse contentResolver = context.getContentResolver(); contentResolver.notifyChange(Uri.parse("content: 对象,它是ContentResolver的子类。 简单跟踪下通知流程,入口函数如下 public static void notity(Context context) { ContentResolver contentResolver =

    45050

    安卓四大组件之ContentProvider-内容提供者

    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

    37830

    手机卫士读取联系人

    获取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<Map<String,String>> getContacts(Context context){ ContentResolver

    18420

    相关产品

    • 云+校园特惠套餐

      校园优惠套餐升级,云服务器1核2G10元/月起购

    相关资讯

    热门标签

    扫码关注腾讯云开发者

    领取腾讯云代金券