gpt4 book ai didi

android - 如何在android中以各自的名字调用电话号码

转载 作者:行者123 更新时间:2023-11-29 00:22:15 25 4
gpt4 key购买 nike

尝试用姓名调用号码。可以用号码调用姓名。

我成功调用了以下代码:

 Intent callIntentp2 = new Intent(Intent.ACTION_CALL);
callIntentp2.setData(Uri.parse("tel: 55555555");
startActivity(callIntentp2);

它的输出看起来像

55555555 拨号

但我想用你保存在 sim 上的联系人列表中的名字打电话。但我有手动输入的数据,而不是来自 sim 的数据。

John 55555555 拨号

这可能吗?

最佳答案

ACTION_CALL 是原生 Android Intent 。当您调用它时,Android 会执行调出默认调用 View 的后台进程。有一些方法可以将一些广播接收器组合在一起,以在 native 调用屏幕上覆盖一个 Activity ,但你在这方面是自找麻烦。如果没有 root 设备,这是一个困难的过程。这个问题实际上非常类似于:

Replace native outgoing call Screen by custom screen android

我还没有通读链接或任何内容,但我很确定他们会说同样的话。如果不采取一些奇怪的、不确定的解决方法,您就不可能实现这一目标。

您可以(理论上)在打电话之前花点时间将带有附加姓名的号码添加到您的联系人列表中。调用电话时,它会显示姓名和号码(因为姓名被列为联系人,这是 Android 的默认操作)。通话结束后,您可以删除该联系人,这样它就不会卡在不需要它的人的联系人列表中。

例如一些代码:

ContentValues contactValues = new ContentValues();
contactValues.put(Data.RAW_CONTACT_ID, 001);
contactValues.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
contactValues.put(Phone.NUMBER, "555-555-5555");
contactValues.put(Phone.TYPE, Phone.TYPE_CUSTOM);
contactValues.put(Phone.LABEL, "John");
Uri dataUri = getContentResolver().insert(
android.provider.ContactsContract.Data.CONTENT_URI, contactValues);

不要忘记将写联系人权限添加到您的应用程序 list 中。同样,这只是一个选项(我能真正想到的唯一选项)

关于android - 如何在android中以各自的名字调用电话号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22335219/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com