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

如何在Android中以编程方式创建联系人到Sim

在Android中,可以使用编程方式创建联系人到SIM卡。下面是一个示例代码,展示了如何通过编程方式创建联系人到SIM卡:

代码语言:java
复制
import android.content.ContentProviderOperation;
import android.content.ContentProviderResult;
import android.content.ContentResolver;
import android.content.OperationApplicationException;
import android.os.RemoteException;
import android.provider.ContactsContract;

public class SimContactManager {
    
    public static void createContact(String name, String phoneNumber) {
        ContentResolver resolver = getContentResolver();
        ArrayList<ContentProviderOperation> operations = new ArrayList<>();
        
        // 添加联系人到SIM卡
        operations.add(ContentProviderOperation.newInsert(ContactsContract.RawContacts.CONTENT_URI)
                .withValue(ContactsContract.RawContacts.ACCOUNT_TYPE, null)
                .withValue(ContactsContract.RawContacts.ACCOUNT_NAME, null)
                .build());
        
        // 添加姓名
        operations.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
                .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
                .withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE)
                .withValue(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, name)
                .build());
        
        // 添加电话号码
        operations.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
                .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
                .withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
                .withValue(ContactsContract.CommonDataKinds.Phone.NUMBER, phoneNumber)
                .withValue(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE)
                .build());
        
        try {
            // 执行批量操作
            ContentProviderResult[] results = resolver.applyBatch(ContactsContract.AUTHORITY, operations);
        } catch (RemoteException | OperationApplicationException e) {
            e.printStackTrace();
        }
    }
}

这段代码使用了Android的联系人内容提供器(ContentProvider)来操作联系人数据。首先,我们创建一个ContentProviderOperation列表,然后按照指定的顺序添加操作。在这个例子中,我们首先添加了一个新的联系人到SIM卡,然后添加了联系人的姓名和电话号码。

要使用这个示例代码,你需要将其放置在Android应用的合适位置,并确保你的应用具有适当的权限,如读取和写入联系人数据的权限。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

何在 C# 编程方式将 CSV 转为 Excel XLSX 文件

在本文中,小编将为大家介绍如何在Java编程方式将【比特币-美元】市场数据CSV文件转化为XLSX 文件。...创建项目 (1)使用 Visual Studio 2022,创建一个新项目 ( CTRL+SHIFT+N ) 并 在下拉列表 选择 C#、 所有平台和 WebAPI ,快速找到项目类型ASP.NET...() 的代码 并将其导入新 工作簿 BTCChartController.Get [HttpGet(Name = "GetBTC-USDChartWorkbook")] //public IEnumerable...然后,它创建一个 名为 BTC_Monthly的表 ,其中包含 CSV 数据并自动调整 表的列。...vnd.openxmlformats-officedocument.spreadsheetml.sheet", "BTC_Chart.xlsx"); } } // Get() 运行结果如下所示: 总结 以上就是在C# 编程方式

23010

APP自动化测试系列之Desired Capabilities详解

默认情况下,模拟器将根据设置的方式启用或不启用此选项。true、falseisHeadless当模拟器不需要在运行显示页面时设置true。默认false。...https://www.github.comsafariAllowPopups(仅限Sim)允许JavaScript在Safari打开新窗口。...默认值 en.lprojen.lprojprocessArguments通过 instruments 传递 AUT 的参数例如:-myflaginterKeyDelay毫秒为单位,按下每一个按键之间的延迟时间...例如:100showIOSLog是否在 Appium 的日志显示设备的日志。默认值falsetrue、falsesendKeyStrategy输入文字文字框的策略。...-----END CERTIFICATE-----webkitResponseTimeout(仅限真实设备)设置时间(毫秒为单位)等待Safari会话WebKit的响应。

3.8K20
  • 带你解锁蓝牙skill(二)

    如下图所示,当对方在分享一个联系人信息时,会先将联系人打包一个vcf文件,并通过文件分享的方式传送过来 ? 那么Pbap是什么呢??...选择通过蓝牙方式导入联系人后,会提示 ?...接下来桶A主动将桶A的水的一部分(某个联系人)倒入桶C(打包成一个vcf文件),然后送给桶B(这种情况就是C设备通过蓝牙分享的方式联系人分享至S&C设备),此时蓝牙分享联系人过程已经结束,在桶B这里需要自己把桶...这种情况并不是属于Pbap的情况 但如果桶B说我要获取A的所有水(导入联系人),也就是说桶A是被动提供水的,此时就是S&C设备通过蓝牙导入联系人,那么A的所有水会直接倒入C(所有联系人打包一个...哇噻,有彩虹噢~~~ 4>,音频协议 Android的音频协议包括两大类 手机音频:蓝牙通话,常见的是蓝牙耳机。

    1.7K90

    Android 系统服务TelecomService启动过程原理分析

    ,并注册系统,最后调用onStart()启动服务。...以便这些应用发送变更(如下载了一个第三方的SMS应用时,可以通知系统这一变化); 接着,注册运营商配置变化的广播接收器,如果配置有变化时,系统会收到通知; 绑定TelecomService,并将其注册系统...按照源码的说明来理解,PhoneAccount表示了不同的接听或者拨打电话的方式,比如用户可以通过SIM卡来拨打电话,也可以拨打视频电话,抑或一个紧急通话,甚至可以通过telephony内部的接口来实现拨号...,而Android正是通过PhoneAccount来区分这几种通话方式的。...在接下来的一篇文章里,将分析下来电是如何在Telecom传递与处理,然后发送到上层UI界面的。

    1.6K10

    Appium+python自动化(十四)- 与Capability完美懈垢之解读(超详解)

    秒为单位) 例如 60 language (Sim / Emu-only)为模拟器/仿真器设置的语言 例如 fr locale (Sim / Emu-only)为模拟器/仿真器设置的语言环境 例如...由您自己执行的广播操作,用于将覆盖转储文件系统。...如果被测试的应用程序是由另一个定位应用程序创建的,那么将其设置为false将允许在使用adb的测试应用程序启动过程定位应用程序的过程仍然存在。...-----END CERTIFICATE----- webkitResponseTimeout (仅限实际设备)设置时间(毫秒为单位)等待Safari会话WebKit的响应。...1 # coding=utf-8 2 # 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行 3 4 # 2.注释:包括记录创建时间,创建人,项目名称。

    3.3K50

    安卓新增眼神控制功能!走路玩手机会警报,相册也可以加锁

    另外,如果是双SIM安卓手机用户,现在可以选择通过Android Auto系统在拨打电话时选择使用哪个SIM卡。...为了保持开车时的专注,Android Auto上的Waze也得到了更新,创建更精简的导航体验。新设计包括触摸板支持、夜间模式和车道引导支持,并将地图和方向置于最前沿,以避免其他因素的影响。...如果你没有兼容的汽车,则可以通过谷歌的其他方式帮助更好的驾驶体验,包括谷歌助手驾驶模式的新更新,以及安卓手机上的其他功能。...对于运行Android 11或更高版本的设备,机器学习的功能可以让用户只需轻击Smart Compose即可快速完成句子。 通过改进附近共享的可见性设置,用户可以完全控制谁可以发现设备并发送文件。...可以在所有人、联系人或nobody之间进行选择,也可以随时通过手机的快速设置空间轻松更改偏好。

    1.5K50

    Appium移动测试入门指南(二) - Capability 配置

    每个Appium客户端都以特定于客户端语言的方式构建功能,但最终,它们会作为JSON对象发送给Appium。...秒为单位。 例如 30 androidInstallTimeout 用于等待在设备安装 apk 所花费的时间(毫秒为单位)。...包括隐私访问权限的警告(例如 定位,联系人,照片)。默认值为 false。不支持基于 XCUITest 的测试。...默认是一个本地的欢迎页面 例如 https://www.github.com safariAllowPopups (仅支持模拟器)允许 javascript 在 Safari 创建新窗口。...默认值为 en.lproj en.lproj processArguments 通过 instruments 传递 AUT 的参数 例如 -myflag interKeyDelay 毫秒为单位,按下每一个按键之间的延迟时间

    2.8K00

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

    Content组件能够用到的场合,基本上是APP想要使用系统的手机通讯数据,比如查看联系人/短信/彩信/通话记录,以及对这些通讯信息进行增删改。...获取SIM卡上的联系人与之类似,不同之处要把Uri换成“content://icc/adn”。...下面是两种插入方式在添加联系人信息的具体运用: ContentResolver方式 代码示例如下: public static void addContacts(ContentResolver...下面是两种监听方式在监听短信接收的具体运用,监听结果消息使用了Notification推送到消息栏,有关Notification的使用说明参见《Android开发笔记(五十二)通知推送Notification.../data/emails SIM联系人信息: content://icc/adn 短信信息: Telephony.Sms.CONTENT_URI   content://sms 彩信信息:

    1.5K20

    自动化-Appium-第一个Demo-原生(Python版)

    第1章 Android 1.1创建项目 1、启动PyCharm,创建My_Appium_Demo项目。创建demo包,之后创建脚本文件。...方式二:开启Appium Desktop 打开Appium Desktop 服务IP和端口默认的情况下,直接点击Start Server v1.8.0来开启Appium服务,如图所示。...方式二:开启Appium Desktop 打开Appium Desktop 服务IP和端口默认的情况下,直接点击Start Server v1.8.0来开启Appium服务,如图所示。...方式二:开启Appium Desktop 打开Appium Desktop 服务IP和端口默认的情况下,直接点击Start Server v1.8.0来开启Appium服务,如图所示。...方式二:开启Appium Desktop 打开Appium Desktop 服务IP和端口默认的情况下,直接点击Start Server v1.8.0来开启Appium服务,如图所示。

    2.1K20

    苹果手机怎么恢复通讯录?iOS恢复最好方法

    现在还会有很多人都在使用通讯录,在手机还会保存在通讯录在手机里面,不过大多数都不会去使用,因为现在都在使用微信了,所以通过通讯录联系的并不多,但是通讯录作为最原始的通讯方式之一,还是比较重要的,如果删除了通讯录怎么恢复...方法一:SIM卡导入   手机在存联系人的时候会提示是否同时存储SIM,当我们将手机联系人存入到手机中就会有这样的提示,有时候我们就会将联系人存入SIM,当手机通讯录被删除了就可以通过导入SIM...步骤:打开手机的设置功能,在里面找到通讯录一栏点击进入就可以看到里面的几个选项了,只要选择最后一项“导入SIM卡通讯录”就可以将SIM的通讯录导出来了。...方法二:iCloud恢复   iCloud可以免费备份手机里面的数据,当我们发现手机通讯录被删除了之后可以通过iCloud里面的备份的通讯录将需要的联系人进行恢复即可,通过这样的操作就能将删除的手机通讯录进行恢复...根据以上的方法就可以将手机删除的通讯录进行恢复了,在手机的数据都是比较重要的,千万不要盲目操作将数据覆盖了。选择正确的方法就能快速恢复手机通讯录。

    1.1K00

    自动化-Appium-第一个Demo-原生(Java版)

    4、创建lib文件夹,用来存放jar包。把Appium Clients jar和Selenium jar包拷贝文件夹里。 5、创建app文件夹,用来存放应用程序。...方式二:开启Appium Desktop 打开Appium Desktop 服务IP和端口默认的情况下,直接点击Start Server v1.6.5来开启Appium服务,如图所示。...方式二:开启Appium Desktop 打开Appium Desktop 服务IP和端口默认的情况下,直接点击Start Server v1.6.5来开启Appium服务,如图所示。...方式二:开启Appium Desktop 打开Appium Desktop 服务IP和端口默认的情况下,直接点击Start Server v1.7.2来开启Appium服务,如图所示。...方式二:开启Appium Desktop 打开Appium Desktop 服务IP和端口默认的情况下,直接点击Start Server v1.6.5来开启Appium服务,如图所示。

    2.1K30

    金三银四的面试黄金季节,Android面试题来了!

    /7.0/8.0特性,kotlin语言,I/O大会 在这由于文字很多,我总结了Android面试所涉及的常问范围及常问面试题免费分享给大家,文末有领取!...3、如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存 当前状态? 4、如何将一个Activity设置成窗口的样式。 5、如何退出Activity?...在不同的进程, 怎样传递对象呢?显然, Java不允许跨进程内存共享.因此传递 对象, 只能把对象拆分成操作系统能理解的简单形式, 达到跨界对象访问的目的....在J2EE ,采用RMI 的方式,可以通过序列化传递对象.在 Android , 则采用 AIDL 的方式. 理论上 AIDL 可以传递 Bundle,实际上做起来却比较麻烦。...9、android系统的优势和不足 Android 平台手机 5 大优势: 5 大不足: 10、Android dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念 11、sim卡的EF文件是什么

    82430

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

    零、前言 [1].顾名思义,内容提供者,目的:实现跨进程间数据共享 [2].基于数据库提供数据 [3].电话簿,短信,歌曲信息都是以数据库存储存储,都可以通过ContentProvider获取...[6].本文只打印一下查询结果:ListView篇将会界面展示数据,Xml篇将会介绍备份本地 一、代码实现 1.实现分析: raw_contacts表查到contact_id, 每个contact_id...下,根据contact_id查询data表字段, 然后判断mimetype的值,新建实体类,将数据设置实体, 将实体放入实体集合,查完返回集合。...return ContactBean集合 */ public static List getContact(Context ctx) { //创建一个容器放结果...:这个比较耗时,要不要酌情处理,所以封装个方法,没有直接写在上面的方法 /** * 根据号码获得联系人头像 * * @param ctx 上下文

    53810

    Android FrameWork层框架

    这些都是framework提供给我们的,那么我就详细的讲讲Framework到底在整个Android架构扮演着什么角色。   ...Content Providers:使得应用程序可以访问另一个应用程序的数据(联系人数据库), 或者共享它们自己的数据。   ...Notification Manager:使得应用程序可以在状态栏显示自定义的提示信息。   Package Manager:提供对系统的安装包的访问。...Telephony Manager:主要提供了一系列用于访问与手机通讯相关的状态和信息的方法,查询电信网络状态信息,sim卡的信息等。   ...Resource Manager:提供非代码资源的访问,本地字符串,图形,和布局文件(Layout files )。   Location Manager:提供设备的地址位置的获取方式

    1.4K30

    什么是物联网SIM卡?

    数据存储和连接 移动电话的SIM卡通常存储一组认证凭证,允许设备连接到网络,包括安全密钥、位置信息和联系人IoT-SIM卡供应商提供的IoT-SIM卡具有类似功能,识别设备接入网络,控制连接,管理安全功能并允许设备发送和接收数据...尺寸为15mm×12mm的Micro-SIM是其前代产品的一半大小,可以轻松地安装到更紧凑的物联网设备平板电脑、调度单元和移动医疗设备。...由于SIM卡已经嵌入设备,用户无需安装或更换可拆卸卡,这为希望部署数千台联网无线设备的企业节省了大量时间。eSIM还可以更好地抵抗外界干扰,振动和碎片,并且由于其较小的尺寸,使得设备设计更加灵活。...其他网络,LoRaWAN、NB IoT和Sigfox是为物联网设计的低功耗广域网,在许多应用可能是可行的选择。...这种切换SIM卡身份的能力被称为远程配置,它为需要更换运营商的物联网部署提供了极大的简化,而不是派遣人员现场更换每台设备上的SIM卡,物联网管理器可以远程进行转换,从而大大节省了成本和时间。

    2.2K11

    作为技术面试官,为什么把你pass了(文末领取面试资料)

    ,日历,地图,浏览器,联系人管理程序等。...8.消息推送的方式 9.android的数据存储 使用SharedPreferences存储数据;它是Android提供的用来存储一些简单配置信息的一种机制,采用了XML格式将数据存储设备。...文件存储数据;文件存储方式是一种较常用的方法,在Android读取/写入文件的方法,与Java实现I/O的程序是完全一样的,提供了openFileInput()和openFileOutput()方法来读取设备上的文件...android 对i18n和L10n提供了非常好的支持。软件在res/vales 以及 其他带有语言修饰符的文件夹。: values-zh 这些文件夹 提供语言,样式,尺寸 xml 资源。...21.sim卡的EF 文件有何作用 sim卡就是电话卡,sim卡内有自己的操作系统,用来与手机通讯的。Ef文件用来存储数据的。 22.Activity的状态有几种?

    69430

    程序算法|PHP、安卓、C++程序代码交流

    不过,android studio在文件—新建的菜单 Activity生命周期及其周期方法详解 3天前 浏览: 24 评论: 0 当Activity处于应用运行时,它的活动状态是由安卓操作系统通过栈的方式进行管理的...如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入MYSQL中了,M Android开发解析JSON数据 1周前 (04-07) 浏览: 46 评论: 0 对于服务器端来说,返回给客户端的数据格式一般分为...html、xml和json这三种格式,那么本篇随笔将讲解一下json这个知识点,包括如何通过json-lib和gson这两个json解析库来对解析我们的json数据,以及如何在我们的Android客户端解析来自服务器端的...552f6f9e71047790645907/] 通过jsons_encode函数把数组转换成json格式时,会发现形如这样的中文乱码: \u901a\u8baf\u5f55\ufEclipse环境下的Java编程常见问题...下面是QQ的选项卡: QQ相信是国人必用,如图采用了消息、联系人、动态三个选项卡,并且为每个选项卡编写了不同的界面,这个我写的“联系人”相似,下面讲讲我是怎样实现选项卡并为每个选项制作不同交互界面的。

    2.2K10
    领券