首页
学习
活动
专区
工具
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.6K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android中ContentProvider的用法

    在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.7K40

    ContentProvider初探

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

    53530

    黑客是如何监视你的手机的?

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

    1.1K30

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

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

    1.4K20

    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.5K20

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

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

    54010

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

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

    60630

    Java-强化API分析

    注:该规则包由TCA独立工具支持,需申请授权免费使用,申请传送门: 《CLS使用文档》:https://github.com/Tencent/CodeAnalysis/blob/main/server/...cls/README.md 详情介绍 ▼ 包含Camera1、录音、短信、通信录、定位、WIFI、应用列表、手机信息八大用户隐私API的扫描。...帮助开发人员发现项目中所有应用此类API的位置,确保每一次使用都是在恰当的位置上,避免用户错误理解引发公关风险。...扫描对象包括: 代码库中的代码与第三方库文件 编译过程中引入的代码与第三方库 甚至编译过程中生成的代码与第三方库 项目中的java代码文件 项目中的jar包文件 扫描内容包括: - 摄像头 android.hardware.Camera.open...ContactsContract.Contacts ContactsContract.RawContacts ContactsContract.Data - 读取应用列表(读取手机中已安装应用的列表

    10510

    《移动互联网技术》 第七章 数据存取: 掌握File、SharePreferences、SQLite和ContentProvider四种数据存取方式

    首先使用 DBQuizHelper类在SQLite中创建数据库。DBQuizHelper类是自定义的一个操作数据库的类。...APP应用中读取联系人信息。...如果使用数据库,数据库文件将存储在databases文件夹中,一般的数据则存储在files文件夹中,缓存文件存储在cache文件夹中。 应用程序将文件保存在内部存储中。...对象,如果该文件夹不存在则用指定名称创建一个新的文件夹。...这样当用户卸载应用之后,相关的数据会一起删除;如果直接在/storage/文件夹下面创建应用子文件夹,那么当应用被删除的时候,这个子文件夹就不会被删除。

    9010

    Android ContentProvider_1 使用方法

    image 1.2 优点:透明地提供内容 使用 ContentProvider 允许应用透明地将数据开放给其它应用,无论底层数据采用何种实现方式(网络、内存、文件或数据库),外界对于数据的访问方式都是统一的...实例,官方的解释是可以避免进程间通讯的开销,但是这种方式在实际开发中很少运用。...因此我们说一般情况下 ContentProvider 是单例的,只在服务提供进程创建实例。 ---- 2....3.2 查询数据 从 ContentProvider 中查询数据的流程主要分为三个步骤: 3.2.1 请求访问权限 ContentProvider 程序可以指定其他应用程序必须具备的权限,例如读取用户词典需要...为了获取 ContentProvider 程序所需的权限,你的应用需要在 Manifest 文件中使用 来请求它们。

    68730

    获取手机短信内容

    原理是通过,contentprovider获取系统短信数据库中的字段信息而达到获取内容目的 效果图如下: 具体代码如下: package com.internal.message;   import...;   import android.provider.ContactsContract.CommonDataKinds.Phone;   import android.provider.ContactsContract.PhoneLookup...android.widget.SimpleAdapter;   public class QureSms extends ListActivity {       ListView smslist=null;  //显示列表信息...cur.getString(phoneNumberColumn);                     //    name = cur.getString(nameColumn);    这样获取的联系认为空...getSmsInPhone", ex.getMessage());              }          }        /**        * 通过address手机号关联Contacts联系人的显示名字

    3.3K80

    Android系统联系人全特效实现(上),分组导航和挤压动画

    记得在我刚接触Android的时候对系统联系人中的特效很感兴趣,它会根据手机中联系人姓氏的首字母进行分组,并在界面的最顶端始终显示一个当前的分组。...另外还在头部放了一个LinearLayout,里面包含了一个TextView,它的作用是在界面头部始终显示一个当前分组。...然后是加入一个简单的LinearLayout,里面包含了一个ImageView用于显示联系人头像,还包含一个TextView用于显示联系人姓名。...如果当前的position值和新的position值是相等的,那么我们就可以认为当前position的项是某个分组下的第一个元素,我们应该将分组布局显示出来,而其它的情况就应该将分组布局隐藏。...然后我们在setupContactsListView方法中监听了ListView的滚动,在onScroll方法中通过getSectionForPosition方法获取第一个可见元素的分组值,然后给该分组值加

    1.2K50
    领券