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

Android读取短信和联系人

,要了解是这是内容提供者(contentProvider)知识点,大家都知道数据库是data-->data 对应包目录下,其他应用是不可以访问到,如果有些数据要提供给其他应用,比如通信录,其他应用想获取它数据怎么办呢...短信 开始切入正题,先说短信,要从数据库获取数据,就要了解其结构 短信数据库data-->data下面路径 ?...raw_contacts表,我们通信录显示信息必须要在这里找到对应ID,当我们删除了联系人,data表数据并没有删除,只是删除了证张表contact_id变为null,而不是真的删除 ?...真正应用 通常不会这样直接写它路径,因为手机厂商会修改它路径,还是这样写的话会报错,说不存在这一列,需要使用Android提供API      /** * 通过ContactsContract.Contacts.CONTENT_URI...中找到该联系人电话号码 * 通过这个ID可以ContactsContract.CommonDataKinds.Email.CONTENT_URI 找到该联系人邮箱

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

Android编程操作手机通讯录方法示例

本文实例讲述了Android编程操作手机通讯录方法。分享给大家供大家参考,具体如下: 手机通讯录操作是经常被用到,例如添加联系人,删除联系人或者取得联系人信息。...类似的操作还有收藏夹操作,下面就针对通讯录操作来做个小例子。同样这次也会使用到内容提供者知识。 1. 要操作通信录就要得到授权,也就是读或者写通讯录权力。这里也需要使用Junit <?...buf=new StringBuffer(); //实例化一个可变字符串StringBuffer //取得联系人id,每个条目都有一个唯一id(主键) String contactId..._ID)); //取得联系人显示名称 String name=cursor.getString(cursor.getColumnIndex(ContactsContract.Data.DISPLAY_NAME...)); buf.append("id:"+contactId).append(",name:"+name); //取得联系人号码 Cursor phone=resol.query

88021

AndroidContentProvider用法

Android,如果要将一个程序数据共享给另一个程序,之前Android版本,我们可以设置Android文件和SharedPreferences操作两个模式:MODE_WORLD_READABLE...,一个ListView用于显示联系人信息。...(R.menu.main, menu); return true; } } MainActivity.java主要做一件事:自定义一个方showContacts() 用于获取联系人信息并且显示...ListView控件,这个方法 首先调用了ContentResolver类query方法并且传入储存联系人信息那张数据表Uri,用于查询联系人信息那张数据表数据,之后对查询返回结果Cursor...单击“显示电话簿”按钮: ? 在这里,如果你用是模拟器,并且模拟器没有联系人的话要添加几个联系人。不然就显示是空界面。

2K10

Android为图标加上数字--用于未读短信数提醒,待更新应用数提醒等

我们开发一些如短消息、应用商店等应用时,会考虑短消息图标上加上未读短信数量,应用商店上加上可以升级应用数量,这样不占太大空间还能达到提示目的。...> 先来获取手机内通讯录图标,如果没有获取到,则使用应用图标....Rect dst=new Rect(0, 0, iconSize, iconSize); canvas.drawBitmap(icon, src, dst, iconPaint); //图片上创建一个覆盖联系人个数...要想使用Notification,我们必须获取一个Service–NotificationManager,Android由它来管理我们Notification,获取NotificationManager...这里说都是应用内、状态通知等一些显示处理后图片办法,那么有没有方法处理手机主屏幕上图标的办法,为他们加上数字呢。

1.6K40

ContentProvider初探

1.我们想在自己应用访问别的应用,或者说一些ContentProvider暴露给我们一些数据, 比如手机联系人,短信等!...使用系统提供ContentProvider 其实很多时候我们用到ContentProvider并不是自己暴露自己数据,更多时候通过 ContentResolver来读取其他应用信息,最常用莫过于读取系统...接下来我们就来一步步实现: 开始之前我们先要创建一个数据库创建类: DBOpenHelper.java public class DBOpenHelper extends SQLiteOpenHelper...接下来,创建一个项目,我们来实现ContentResolver部分,我们直接通过按钮点击插入一条数据: MainActivity.java public class MainActivity extends...使用指南: 运行程序后,晾一边,收到短信后,可以logcat上看到该条信息内容,可以根据自己需求 将Activtiy改做Service,而在后台做这种事情~ 小结 关于ContentProvider

49230

黑客是如何监视你手机

这里使用是虚拟机,实际需要外网能访问服务器,这样手机应用才能正常连接到服务器。 ? readinfo.php <?...我们最上面的输入框输入时间,点击“设置时间”按钮,会在下面显示到计时时间。如下图所示 ? 当我们点击“开始计时”按钮时,应用开始倒计时,如下图所示: ?...使用应用时,我们并未发现什么异常情况,现在我们把视角切换到ubuntu服务器上,这个时候就会发现newfile.txt多出了一些内容,然后我们访问readinfo.php,就可以看到手机上联系人信息...、审查应用程序使用权限 ?...2、审查应用程序使用进程间通信机制 ? 这里我们只发现了一个调用主Activity机制,本步检查安全。 3、分析源码开放端口、共享/传输数据,以及网络连接 ?

1K30

Android保存联系人到通讯录方法

上一篇文章讲了如何获取所有联系人,这篇文章就讲下怎么保存联系人数据到本机通讯录。这里我就假设你已经拿到了要保存联系人数据。...因为是一个工具类,所以我这里就只给一个方法了,也是很简单,但是写没有读取联系人数据那么多,要保存更多其实看下如何读取就会了。...ContactEntity contact) { try { ContentValues values = new ContentValues(); // 下面的操作会根据RawContacts表已有的...rawContactId使用情况自动生成新联系人rawContactId Uri rawContactUri = context.getContentResolver().insert( RawContacts.CONTENT_URI..., values); } catch (Exception e) { return false; } return true;    } 以上就是本文全部内容,希望对大家学习有所帮助。

97530

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

--- 内容提供器用法一般有两种, 一种是使用现有的内容提供器来读取和操作相应程序数据, 另一种是创建自己内容提供器给我们程序数据提供外部访问接口。...有没有似曾相识感觉?没错,SQLiteDatabase也是使用这几个方法来进行CRUD操作,只不过它们方法参数上稍微有一些区别。...,毕竟这 是访问其他程序数据,没必要构建过于复杂查询语句。...update()应用 ? delete()应用 ? 2.读取联系人 下面运用上面所学知识,看看如何读取系统电话簿联系人信息。...现在在模拟器手动添加几个联系人,以便稍后进行读取: ? 可以看到一开始电话簿里是没有任何联系人,下面进行创建: ? ? ?

1.1K20

Android开发笔记(五十四)数据共享接口ContentProvider

Content组件能够用到场合,基本上是APP想要使用系统手机通讯数据,比如查看联系人/短信/彩信/通话记录,以及对这些通讯信息进行增删改。...查看通讯信息具体运用: 读取联系人 代码示例如下: private static Uri mContactUri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI...前面说过,ContentResolver可以由客户端用来给服务端添加数据,不过有时候某种数据服务端对应是多张表,比如说联系人信息服务端实际有联系人姓名表、联系人电话表(因为有家庭电话、工作电话之分...下面是两种监听方式监听短信接收具体运用,监听结果消息使用了Notification推送到消息栏,有关Notification使用说明参见《Android开发笔记(五十二)通知推送Notification...总结下在Content组件中使用过程遇到几个Uri常量: 联系人信息(不包含手机号与电子邮箱): ContactsContract.Contacts.CONTENT_URI   content

1.4K20

2-AIV--使用ContentProvider查询联系人

: TI--安卓运行时权限完美封装 [5].如果只是想使用的人,直接把静态方法拷贝即可,想知道原理,图片和注释认真看一下,也可以自己分析一下联系人表。...下,根据contact_id查询data表字段, 然后判断mimetype值,新建实体类,将数据设置到实体, 将实体放入实体集合,查完返回集合。...联系人数据库 ? 联系人.png 我们关注时三张表: 1.raw_contacts 关注一个字段contact_id ?...:这个比较耗时,要不要酌情处理,所以封装个方法,没有直接写在上面的方法 /** * 根据号码获得联系人头像 * * @param ctx 上下文...// 打开头像图片InputStream InputStream input = ContactsContract.Contacts.openContactPhotoInputStream

51710

Android小程序实现访问联系人

本文实例为大家分享了Android实现访问联系人具体代码,供大家参考,具体内容如下 要求: 编写程序,使用ContentProvider实现访问联系人 ContentProvider类作用: ContentProvider...(内容提供器)是所有应用程序之间数据存储和检索一个桥梁,其作用是是各个应用程序之间能共享数据;主要功能是存储、检索数据并向应用程序提供访问数据接口。...插入:使用ContentResolver.insert()方法向ContentProvide增加一个记录时,需要先将新纪录数据封装到ContentValues对象,然后调用ContentResolver.insert...更新:使用ContentResolver.update()方法实现记录更新操作。...: <uses-permission android:name="android.permission.READ_CONTACTS" / (4)实现效果: 联系人中添加几个联系人: 运行程序,手机里所有联系人

78920

Android学习--跨程序共享数据之内容提供其探究

看到这个名称时候最能给我们提供信息应该是“跨程序”这个词了,是的重点就是这个词,这个内容提供器作用主要是用于不同引用程序之间实现数据共享功能,它提供了一完整机制,允许一个程序访问另一个程序数据...,同时还能保证被访问数据安全性,目前使用内容提供器是Android实现跨程序共享数据标准方式。..., 另一部分是path,path则是相对于同一应用程序表走区分,通常都是添加在authority后面。...我们读取一下联系人 ----       我们这里写一个小demo,来读取一下联系人信息,然后把它展示一个ListView当中,具体代码如下: public class ContactsActivity...----       前面也说过,要是想实现跨程序之间共享数据功能,官方推荐就是使用内容提供器,我们可以新建一个类去继承ContentProvider方式来创建一个自己内容提供器。

57530
领券