从 Android 联系人列表中获取电子邮件

2024-03-11

如何在Android联系人中以编程方式获取选定人员的电子邮件ID

应该支持所有版本。我尝试过 people 类,但主要电子邮件方法已被弃用

提前致谢

Aswan


嘿阿斯旺 我从来没有这样做过,但可以给你想法。

此代码让您了解如何将电子邮件添加到联系人中。

import android.provider.Contacts.People;
import android.content.ContentResolver;
import android.content.ContentValues; 

ContentValues values = new ContentValues();

// Add Abraham Lincoln to contacts and make him a favorite.  
values.put(People.NAME, "Abraham Lincoln");  
// 1 = the new contact is added to favorites  
// 0 = the new contact is not added to favorites  
values.put(People.STARRED, 1);  

Uri uri = getContentResolver().insert(People.CONTENT_URI, values);     
Uri phoneUri = null;  
Uri emailUri = null;  

// Add a phone number for Abraham Lincoln.  Begin with the URI for  
// the new record just returned by insert(); it ends with the _ID  
// of the new record, so we don't have to add the ID ourselves.  
// Then append the designation for the phone table to this URI,  
// and use the resulting URI to insert the phone number.  
phoneUri = Uri.withAppendedPath(uri, People.Phones.CONTENT_DIRECTORY);  

values.clear();  
values.put(People.Phones.TYPE, People.Phones.TYPE_MOBILE);  
values.put(People.Phones.NUMBER, "1233214567");  
getContentResolver().insert(phoneUri, values);  

// Now add an email address in the same way.  
emailUri = Uri.withAppendedPath(uri, People.ContactMethods.CONTENT_DIRECTORY);  

values.clear();  
// ContactMethods.KIND is used to distinguish different kinds of  
// contact methods, such as email, IM, etc.   
values.put(People.ContactMethods.KIND, Contacts.KIND_EMAIL);  
values.put(People.ContactMethods.DATA, "[email protected] /cdn-cgi/l/email-protection");  
values.put(People.ContactMethods.TYPE, People.ContactMethods.TYPE_HOME);  
getContentResolver().insert(emailUri, values);     


now you have to extract emaill from contact

import android.provider.Contacts.People;  
import android.database.Cursor;  

// Form an array specifying which columns to return.   
String[] projection = new String[] {  
                             People._ID,  
                             People._COUNT,  
                             People.NAME,  
                             People.NUMBER  
                          };  

// Get the base URI for the People table in the Contacts content provider.  
Uri contacts =  People.CONTENT_URI;  

// Make the query.   
Cursor managedCursor = managedQuery(contacts,   
                         projection, // Which columns to return    
                         null,       // Which rows to return (all rows)  
                         null,       // Selection arguments (none)  
                         // Put the results in ascending order by name  
                         People.NAME + " ASC");  

那么你将有2次查询这个游标。 现在我认为你将有 2 个做出更改的预测。您必须添加在上面的代码中添加电子邮件时使用的相同常量。

你可以获得所有这些东西here http://developer.android.com/guide/topics/providers/content-providers.html.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 Android 联系人列表中获取电子邮件 的相关文章

  • Android Studio Profiler 中显示“无可调试进程”

    当我尝试在 Android Studio 中使用探查器时 我能够看到已连接的设备 但在探查器中收到 无可调试进程 有人可以帮助我为什么我收到 不可调试的进程 吗 您可以尝试以下任意 全部操作 使缓存失效并重新启动Android Studio
  • POST 请求出现 500 内部服务器错误

    这是我向服务器发送 POST 请求的代码 要发布到服务器的 JSON User Name dog Password 123 我如何创建 JSON 对象 object new JSONObject JSONObject jsonObject
  • 使用缩略图作为毕加索的占位符

    从用户体验的角度来看 首先向用户显示缩略图 直到真实图像完成加载 然后向他显示 这会很棒 但是Picasso https github com square picasso仅使用资源文件作为占位符 例如 Picasso with conte
  • onSaveInstanceState 之后无法执行此操作(onClick 首选项)

    这是我的PreferenceActivity 我的主要活动的内部类 public static class TestSettings extends PreferenceActivity implements Preference OnPr
  • 字符串生成器最大长度

    我想知道字符串生成器 或字符串缓冲区 的最大容量是多少 我的 Android 应用程序中有一个静态变量 它应该保存日志字符串 它最多可以容纳 130 行和大约 10000 个字符 我如果我附加更多内容 但它只是不显示 没有错误 没有例外 所
  • Android 时间选择器在分钟滚动时自动更改小时

    例如 当我在 TimePicker 上滚动分钟时 在将分钟滚动到 59 后 小时会自动滚动到 7 因此新时间将为 07 59 同样的方式 如果我有 07 59 并且我将分钟滚动到 00 小时将自动滚动到 8 所以时间将是 08 00 此逻辑
  • Android:可以写入lib目录吗?

    是否可以以编程方式将文件复制到 data data application package lib 目录中 或在 data data application package lib 目录中创建符号链接 当尝试写入 lib 目录时 我总是收到
  • Kotlin + Room:java.lang.IllegalArgumentException:void 无法转换为元素

    我试图在我的 Java Kotlin 项目中添加 Room 但是当我尝试编译该项目时 它失败了 app kaptDebugKotlin出现以下错误 e java lang IllegalStateException failed to an
  • 在 Phonegap 3.x CLI 上构建 android 发布 apk

    如何使用 Phonegap 3 x CLI 在本地构建 Android 应用程序并准备发布 我检查了项目的platforms android目录中生成的bin文件夹 并且只有 debug APK 顺便说一句 我使用这个命令 phonegap
  • 某些设备上的启动画面扭曲

    我在修复 Android 上的启动画面扭曲问题时遇到问题 我正在使用 React Native 请注意 这种情况仅发生在某些设备上 例如 我有一台 Android 版本为 4 2 2 的三星 启动画面不扭曲 而 Android 版本为 8
  • ArgumentMatchers.any 不得为 null

    我正在尝试测试ViewModel以确保实时数据得到正确更新 然而使用时ArgumentMatchers any 它失败了IllegalStateException saying ArgumentMatchers any mViewModel
  • 如何在具有多种字体大小的 TextView 中调整行高?

    我有一个包含 Spannable 字符串的 TextView 该字符串包含一堆文本 其中第一个单词的字体大小是字符串其余部分的两倍 问题在于 由于第一个字的大小增加 第一行和第二行之间的行间距比后续行之间的行间距大得多 http img s
  • 将 XML 从网站解析到 Android 设备

    我正在启动一个 Android 应用程序 它将解析来自网络的 XML 我创建了一些 Android 应用程序 但它们从未涉及解析 XML 我想知道是否有人对最佳方法有任何建议 这是一个例子 try URL url new URL your
  • 等待视图通过 IdleResource 变得可见

    我正在使用 Espresso 2 2 编写仪器测试 我想测试的流程 测试点击的单选按钮 onClick 向 API 发起请求 每次不同时间我收到回复后 积极响应触发活动中调用的接口方法 onRequestSuccess 我正在屏幕上显示名为
  • IntelliJ 12 中的 Android Hello World - 找不到 android.app.Activity 类

    请看下文 我感觉 SDK 配置不正确 但我不知道如何解决 我尝试用谷歌搜索答案 但没有人遇到这个确切的问题 难道是我的Java版本不对 这两个 SDK 似乎可能相互冲突 我通过以下方式制作了这个项目 创建新项目 Android gt 应用模
  • 找出该月第一个星期日/星期一等的日期

    我想在java中检测每个月第一周 第二周的第一个星期日 星期一的日期 我怎样才能实现它 我已经检查了 java 中的 Calendar 类和 Date 类 但无法找到解决方案 所以请帮助我解决这个问题 Calendar calendar C
  • Android:禁用 1.5 纸杯蛋糕动画过渡

    长话短说 如何禁用活动之间的屏幕转换 如果您愿意的话 我们实现了自己的选项卡处理程序 现在它正在选项卡之间进行转换 这看起来很俗气 谢谢 Chris See android content Intent FLAG ACTIVITY NO A
  • Android:适合SystemWindows和换行符干扰bottomSheets

    我发现如果父布局包含android fitsSystemWindows true 当发生与视图相关的操作时 它会干扰我的 BottomSheets 定位 具体来说 我遇到的是 文本视图中的换行符将触发底页偏移系统 通知栏的高度 换行符 fi
  • Android Studio-公司域名

    在Android Studio中 当您创建新项目时 系统会提示您输入域名 我已经知道您可以制作一个 但是如果您想在 Google Play 商店上分发您的应用程序怎么办 即使我永远不会使用我的域 我是否需要购买一个网络域来分发我的应用程序
  • 在 Android 中将列表传递给另一个 Activity

    我已经创建了一个列表 并希望将该列表传递给另一个活动 但当我创建意图时 我在 putExtra 语句上收到错误 只是想知道是否有任何简单的方法来传递字符串列表而不是单个字符串 Thanks private List

随机推荐

  • 哪些 C++ 编译器(如果有)进行尾递归优化?

    在我看来 在 C 和 C 中进行尾递归优化都可以很好地工作 但在调试时我似乎从未看到表明这种优化的帧堆栈 这很好 因为堆栈告诉我递归的深度 不过 优化也会很好 有 C 编译器进行此优化吗 为什么 为什么不 我该如何告诉编译器去做呢 对于 M
  • 我可以通过 JNI 从 Node.js 调用 Java 吗?如何调用?

    我可以通过 Node js 调用 JavaJNI 有例子吗 你应该尝试节点java https github com nearinfinity node javanpm 模块是一个编写良好的 JNI 包装器 Node jave 似乎还没有被
  • Google 地图:自动关闭打开的 InfoWindows?

    在我的网站上 http www uptownelite com test html city dallas tx 我正在使用 Google Maps API v3 在地图上放置房屋标记 除非您明确单击关闭图标 否则 InfoWindows
  • 将 @Embeddable 映射到单独的表中

    两个表如 CREATE TABLE foo id INT PRIMARY KEY x TEXT CREATE TABLE bar foo id INT REFERENCES foo id ON DELETE CASCADE y TEXT z
  • MPI_Send() 和 MPI_Ssend() 之间的区别?

    I know MPI Send 是一个阻塞调用 它会等待直到可以安全地修改应用程序缓冲区以供重用 为了使发送调用同步 应该与接收者握手 我们需要使用MPI Ssend 我想知道两者之间的区别 假设我需要在进程之间发送固定数量的字节 哪一个应
  • 函数式编程中的无限循环?

    我想知道 在函数式编程中可以完成无限循环吗 例子 使用windows API获取windows消息时 通常是循环实现的 我知道可以创建一个无限期递归的函数 我预计这会导致堆栈溢出 对于函数式编程来说 无限循环是错误的思维模式吗 是操作系统接
  • 如何从 JavaScript 中的 URL 获取基域

    我想从 javascript 中的 url 中提取基本域 例如 对于下面列出的网址列表 我需要获取谷歌网站 or google co in视情况而定 作为结果 www google comwww google co inwww images
  • 循环向量(R 中的自省?)或其他方法

    我有一张桌子tf带有列标题的值formant vowel length IL SG 这就是我获取它们的值的方式 f1a lt subset tf tf vowel a tf formant F1 IL f2a lt subset tf tf
  • 如何使用 docker-compose 更新现有镜像?

    我有多个微服务 并且正在使用 docker compose 进行开发部署 当微服务代码库发生一些变化时 我会触发 ci 作业来重新部署它们 我有下面的脚本来执行此操作 但每次我都必须从头开始构建所有图像 然后运行它们 完成所有这些操作后 我
  • SQLAlchemy 类型对象“日期”没有属性“_set_parent_with_dispatch”

    我正在使用 sqlalchemy 和简单模型模式 class Mail Base tablename mail id Column Integer primary key True date Column Date nullable Fal
  • 使用 ggplot 将图例添加到单折线图

    我只是尝试制作一个折线图并使用 R 中的 ggplot 添加图例 以下是我的代码 ggplot mtcars aes x mpg y wt geom line stat identity scale fill identity name g
  • Visual Studio 2010 - 无法从 GAC 添加程序集引用

    我现在已经转到 Visual Studio 2010 Beta 2 我已经使用了几天 但现在我无法再添加来自 GAC 的参考文献 http bildr no view 549966 http bildr no view 549966 抱歉
  • 从 getaddrinfo() 获取服务器 ip 0.0.0.0:0

    我正在遵循 Beej 的 NP 指南 我做了一些修改 并尝试通过 getaddrinfo 获取我的服务器程序的 IP 原文可以在这里找到http beej us guide bgnet output html singlepage bgne
  • Android:数据库 sqLite 不插入表

    我试图将数据插入数据库 但添加后 当我检查数据库时 我得到一个空结果 这意味着它仍然是空的 我不知道错误在哪里 我做了一些日志 但没有看到错误 我确信我犯了一个愚蠢的错误 但我看不到它 此插入不起作用 bdd insert TABLE RS
  • 使用 Visual C++ 编译器在 Windows 上构建库时如何正确设置目标操作系统版本

    我正在使用 Visual C 2013 编译器 特别是在 Windows 平台上具有 C 11 功能 构建跨平台库 并使用 CMake NMake 生成器 作为构建系统 我使用的是 Windows 7 我的库使用一些仅在 Windows 8
  • 导出的 Google+ 照片,如何将 JSON 数据转换为 EXIF?

    最近使用 Google Takeout 从 Google 下载了 60GB 以上的照片和视频 这会产生大量文件 但有价值的元数据 包括照片的原始日期和位置 通常存储在每个相册的单独的metadata json 文件中 而不是存储在 EXIF
  • 如何使用 Odata Dynamics NAV 2017 Web 服务删除记录

    我开发了一个连接到 Microsoft Dynamics NAV 2017 OData Web 服务的 php 应用程序 我可以毫无问题地读取 GET 和创建 POST 但对于删除 我收到错误 405 微软说可以删除 https msdn
  • 无状态和有状态 Enterprise Java Bean

    我正在阅读 Java EE 6 教程 并试图了解无状态会话 bean 和有状态会话 bean 之间的区别 如果无状态会话 Bean 在方法调用之间不保留其状态 为什么我的程序会这样运行 package mybeans import java
  • 将 AWT 图像转换为 SVG 图像

    我正在使用以下代码摄取 AWT 图像 从 PDF 通过 PDFBox private java awt Graphics2D graphics public void drawImage java awt Image awtImage ja
  • 从 Android 联系人列表中获取电子邮件

    如何在Android联系人中以编程方式获取选定人员的电子邮件ID 应该支持所有版本 我尝试过 people 类 但主要电子邮件方法已被弃用 提前致谢 Aswan 嘿阿斯旺 我从来没有这样做过 但可以给你想法 此代码让您了解如何将电子邮件添加