Android Api - 从联系人中获取手机号码

2023-12-02

我尝试了很多教程,并在这里阅读了很多内容,但我无法解决我的问题:

单击按钮时,用户可以选择联系人的手机号码。实际上我可以获取所选联系人的姓名,但我找不到获取/选择手机号码的方法。

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    /** Layouting */
    this.mGetMobileNumberButton = (Button)findViewById(R.id.getMobileNumberButton);
    this.mNameTextView = (TextView)findViewById(R.id.nameTextView);
    this.mMobileNumberTextView = (TextView)findViewById(R.id.mobileNumberTextView);


    /** onClick getContactInfos*/
   this.mGetMobileNumberButton.setOnClickListener(new OnClickListener() {
      public void onClick(View v){ 
          Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
          startActivityForResult(intent, 1);        
      } 
    });
}

@Override
public void onActivityResult(int reqCode, int resultCode, Intent data) {
    super.onActivityResult(reqCode, resultCode, data);
    if (resultCode == Activity.RESULT_OK) {
        Uri contactData = data.getData();
        Cursor c = managedQuery(contactData, null, null, null, null);
        if (c.moveToFirst()) {
            String name = c.getString(c.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));
            mNameTextView.setText(name);
        }
    }
}

希望任何人都可以提供帮助:)


这将获得包含基本联系人数据的光标,并将循环遍历联系人拥有的电话号码,可以有多个。

    Uri uri = data.getData();
Cursor cursor=ctx.getContentResolver().query(uri, null, null, null, null);

   while (cursor.moveToNext()) { 
   String contactId = cursor.getString(cursor.getColumnIndex( 
     ContactsContract.Contacts._ID)); 
   String hasPhone = cursor.getString(cursor.getColumnIndex( 
     ContactsContract.Contacts.HAS_PHONE_NUMBER)); 
   if (Boolean.parseBoolean(hasPhone)) { 
                // You know have the number so now query it like this
Cursor phones = getContentResolver().query( 
  ContactsContract.CommonDataKinds.Phone.CONTENT_URI, 
  null, 
  ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = "+ contactId, 
      null, null); 
    while (phones.moveToNext()) { 
     String phoneNumber = phones.getString( 
       phones.getColumnIndex( 
         ContactsContract.CommonDataKinds.Phone.NUMBER));                 
    } 
    phones.close(); 
   } 
 }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android Api - 从联系人中获取手机号码 的相关文章

  • 如何重试已消耗的 Observable?

    我正在尝试重新执行失败的已定义可观察对象 一起使用 Retrofit2 和 RxJava2 我想在单击按钮时重试特定请求及其订阅和行为 那可能吗 service excecuteLoginService url tokenModel Ret
  • Sqlite数据库生命周期?关闭应用程序后它会被删除吗?

    我正在遵循一个简单的教程 该教程创建一个从 SQLiteOpenHelper 扩展的类 并创建一个包含一个表和 5 行的数据库 好的 但我需要更多地了解 android Sqlite 数据库 例如 如果应用程序关闭或手机关机会发生什么 数据
  • SearchView过滤ListView

    我已经实现了搜索视图来过滤我的列表视图项目 当我输入任何文本时 它会过滤列表 但当我退出搜索视图时 它不会返回原始列表项 public class PlacesListAdapter extends ArrayAdapter
  • 如何以编程方式检查 AndroidManifest.xml 中是否声明了服务?

    我正在编写一个库 该库提供了一项服务 其他开发人员可以通过将其包含在他们的项目中来使用该服务 因此 我无法控制 AndroidManifest xml 我在文档中解释了要做什么 但一个常见的问题是人们忽略了将适当的 标记添加到其清单中 或者
  • 如何在android中获取Camera2 API的当前曝光

    In android hardware Camera旧的 我使用下面的代码获取当前曝光并获取它Camera Camera Parameters param mCamera getParameters currentExposure para
  • Android 模拟器插件无法初始化后端 EGL 显示

    我在 Cloudbees 上设置了 Jenkins 作业 并且可以在那里成功签出并编译我的 Android 项目 现在我想在 android 模拟器中运行一些 JUnit 测试并添加 Android 模拟器插件 我将 显示模拟器窗口 选项设
  • 带有 EditText 和 Spinner 的对话框

    我有一个按钮 单击后会弹出一个对话框 我希望对话框有一个EditText and a Spinner对话框内 我不知道如何设置它的视图 我有一个代码AlertDialog它有效 只是EditText and Spinner我需要将其放入其中
  • 如何使用 Cordova 获取当前安装的应用程序的版本?

    我已经找到了应用程序可用性插件 https github com ohh2ahh AppAvailability它主要检查用户是否在其设备上安装了某个应用程序 是否有可能获得应用程序的当前版本 开发者名称 重要 以及所有可能的信息 一般来说
  • 尝试将相机切换回前面但出现异常

    尝试将相机切换回前面 但出现异常 找不到 问题请检查并帮助 error 01 27 11 49 00 376 E AndroidRuntime 30767 java lang RuntimeException Unable to start
  • 控制Android的前置LED灯

    我试图在用户按下某个按钮时在前面的 LED 上实现 1 秒红色闪烁 但我很难找到有关如何访问和使用前置 LED 的文档 教程甚至代码示例 我的意思是位于 自拍 相机和触摸屏附近的 LED 我已经看到了使用手电筒和相机类 已弃用 的示例 但我
  • Spring @RequestMapping 带有可选参数

    我的控制器在请求映射中存在可选参数的问题 请查看下面的控制器 GetMapping produces MediaType APPLICATION JSON VALUE public ResponseEntity
  • 你的CPU不支持NX

    我刚刚下载了 android studio 但是我遇到了一个问题 当我运行它时 它说你的 cpu 不支持 NX 我应该怎么办 NX 或实际上是 NX 处理器位 是处理器的一项功能 有助于保护您的 PC 免受恶意软件的攻击 当此功能未启用并且
  • 如何使用 IF 检查 TextView 可见性

    我有一个 onCheckedChangeListener 来根据选择的单选按钮显示文本视图 我有 1 个疑问和 1 个难题 想知道是否有人可以帮助我 问题 您能否将单选组默认检查值设置为 否 单选按钮 以便一开始就不会检查任何内容 问题 如
  • Android Studio - Windows 7 上的 Android SDK 问题

    我对 Google i o 2013 上发布的最新开发工具 Android Studio 有疑问 我已经成功安装了该程序并且能够正常启动 我可以导入现有项目并对其进行编辑 但是 当我尝试单击 SDK 管理器图标或 AVD 管理器图标时 或者
  • Android向menuItem添加子菜单,addSubMenu()在哪里?

    我想根据我的参数以编程方式将 OptionsMenu 内的子菜单添加到 menuItem 中 我检查了android sdk中的 MenuItem 没有addSubMenu 方法 尽管你可以找到 hasSubMenu 和 getSubMen
  • 如何根据 gradle 风格设置变量

    我想传递一个变量test我为每种风格设置了不同的值作为 NDK 的定义 但出于某种原因 他总是忽略了最后味道的价值 这是 build gradle apply plugin com android library def test andr
  • Android 套接字和 asynctask

    我即将开始制作一个应该充当 tcp 聊天客户端的应用程序 我一直在阅读和阅读 我得出的结论是最好 如果不需要 将我的套接字和异步任务中的阅读器 问题是我不确定从哪里开始 因为我是 Android 新手 这至少对我来说是一项艰巨的任务 但据我
  • Firebase 添加新节点

    如何将这些节点放入用户节点中 并创建另一个节点来存储帖子 我的数据库参考 databaseReference child user getUid setValue userInformations 您需要使用以下代码 databaseRef
  • 如何将 google+ 登录集成到我的 Android 应用程序中?

    大家好 实际上我需要通过我的应用程序从 google 登录人们 现在我阅读了 google 上的文档 其中指出 要允许用户登录 请将 Google Sign In 集成到您的应用中 初始化 GoogleApiClient 对象时 请求 PL
  • 按日期对 RecyclerView 进行排序

    我正在尝试按日期对 RecyclerView 进行排序 但我尝试了太多的事情 我不知道现在该尝试什么 问题就出在这条线上适配器 notifyDataSetChanged 因为如果我不放 不会显示错误 但也不会更新 recyclerview

随机推荐

  • 语音识别即服务。(Android)

    我正在开发 Android 应用程序 我的应用程序需要语音识别 但我需要语音识别作为服务 我已经创建了简单的语音识别 当我单击按钮时 它会启动识别器意图 它工作正常并为我提供输出 但是 当用户单击按钮语音识别作为服务启动 在后台 时 我需要
  • Mathematica 中的非交换展开除以加法

    我需要编写一个函数来完全扩展非交换乘法而不是加法 例如 a b c 2 将扩展到a b a c 2从右边开始也是如此 我正在使用 ReplaceRepeated 由于我使用的是 NonCommutativeMultiply 而不是 Time
  • Wpf 按标签和类型查找所有控件

    我正在尝试按类型和标签名称检索所有元素 我已经找到了一些例子 如何按名称或类型查找 WPF 控件 https stackoverflow com a 978352 7444801 我尝试修改其中一些示例 但是它们从未给我想要的结果 所需方法
  • 如何使用 dplyr 在行组之间进行划分

    我有类似的数据 我想要与此链接所述的确切结果 如何使用 dplyr 在行组之间进行划分 然而 与我的数据的唯一区别是 有时 条件 列并不总是有 A 或 B 因此有时没有分母或分子 x lt data frame name rep lette
  • Azure Bing Web 搜索因查询搜索而失败

    我正在使用 Odata4j 当我尝试使用查询执行简单的网络搜索时 在代码的最后一行出现以下异常 PS 如果您觉得有帮助 请投票 谢谢 java lang RuntimeException Expected status OK found B
  • NSRunningApplication,返回最近使用的应用程序列表?

    我正在尝试获取最近使用的应用程序的列表 NSWorkspace返回活动应用程序的列表 我可以使用以下几个选项对它们进行排序NSRunningApplication 参见下面的列表 launchDate finishedLaunching p
  • 如何从日期时间获取 AM/PM 值?

    有问题的代码如下 public static string ChangePersianDate DateTime dateTime System Globalization GregorianCalendar PC new System G
  • Android:使用 ContentObserver 捕获传出短信或接收器不起作用

    我试图使用内容观察器捕获传出的短信事件 TEST OBSERVER ContentObserver co new SMSoutObserver new Handler getApplicationContext ContentResolve
  • 创建一个在 React 中工作的加载动画

    Fiddle var Hello React createClass getInitialState function return gridIsLoaded true animate self console log animating
  • 编译到 LLVM IR 的 Haskell 程序缺少 main

    下列的这个帖子关于Haskell程序的编译 对于 LLVM IR 我采用了相同的 Haskell 程序并尝试运行其生成的 LLVM IR 代码 quicksort quicksort p xs quicksort lesser p quic
  • 发布数据并刷新页面

    我有一个编辑表单页面来编辑我的网站帖子 它使用 post 方法到同一页面 如果表单编译正确 则会显示一条祝贺消息 问题 当用户点击刷新按钮时 脚本会尝试将数据再次重新发布到页面 有办法避免这种情况吗 thanks Luca PRG模式的总体
  • 管理 ruby​​ gem 的冲突版本

    我正在构建一个加载用户提供的 ruby 代码的框架 它基本上是一个插件机制 我希望用户提供 ruby 代码以便能够需要自己的 gem 我打算让 插件 包包含一个包含 gem 的供应商目录 如何加载插件所需的 gem 而不使其与我的框架的 g
  • AttributeError:“NoneType”对象没有属性“excluded_of”

    我在通过 pip 安装依赖项时遇到属性错误 Traceback most recent call last File home jpg virtual env cloud lib python3 6 site packages pip in
  • 聚合、事务一致性和实体框架 DbContext

    聚合必须设计为事务性和最终一致性 实体周围的一致性边界有助于管理复杂性 在我们的存储库实现中 我们使用实体框架与实际数据库进行交互 从历史上看 我们总是拥有巨大的上下文 跨越数十个表 它们代表数据库中 或至少在数据库的某些功能区域 中的每个
  • Python timeit 的令人惊讶的结果:Counter() vs defaultdict() vs dict()

    我使用 timeit 获得了非常令人惊讶的结果 有人可以告诉我我是否做错了什么 我正在使用Python 2 7 这是文件 speedtest init py 的内容 import random to count random randint
  • 标签栏控制器内的视图控制器在旋转时不会自动调整大小

    更正 视图控制器不会自动调整大小 而是不会自动旋转 在 iPad 应用程序中 我在选项卡栏控制器内有五个常规视图控制器 不是导航控制器或类似的控制器 标签栏控制器只是在应用程序委托中声明的普通 UITabBarController 所有视图
  • 如何安装/启用 PHP phar 扩展?

    我正在尝试安装Composer在我的 KnownHost VPS 上 当我运行这个命令时 curl sS https getcomposer org installer php 我收到此错误消息 Some settings on your
  • 使用 Swift 模拟按键

    我正在寻找一种在 OSX 中模拟击键的方法 我找到了另一个解决方案 模拟系统范围热键的按键 使用 Objective C 但我需要使用 Swift 来完成 我如何适应CGEventCreateKeyboardEvent 使用 Swift 3
  • 如何访问部分位于其父 uiview 之外的 uiview 子视图?

    我有以下 UIVIew 架构 x y 宽度 高度 MainWindow 0 0 768 1024 MainView 0 0 768 80 containerview 500 40 120 80 subview 500 40 120 80 s
  • Android Api - 从联系人中获取手机号码

    我尝试了很多教程 并在这里阅读了很多内容 但我无法解决我的问题 单击按钮时 用户可以选择联系人的手机号码 实际上我可以获取所选联系人的姓名 但我找不到获取 选择手机号码的方法 public void onCreate Bundle save