尝试使用name.It调用number是可以通过调用number来命名的。
我成功地调用了以下代码:
Intent callIntentp2 = new Intent(Intent.ACTION_CALL);
callIntentp2.setData(Uri.parse("tel: 55555555");
startActivity(callIntentp2);它的输出看起来像
55555555 Dialing
但是我想用名字调用,就像您保存在sim.but上的联系人列表一样,我有手动的数据,而不是来自sim的数据。
John 55555555 Dialing
这有可能吗。
发布于 2014-03-11 20:16:31
ACTION_CALL是安卓的本土化意图。当您调用它时,Android执行后台进程,打开默认的调用视图。有一些方法,你可以把一些广播接收器拼凑在一起,在本地呼叫屏幕上覆盖一个活动,但是你在这一端是在自找麻烦。如果没有有根的装置,这是一个困难的过程。这个问题其实与以下问题非常相似:
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);不要忘记向应用程序清单添加写联系人权限。再说一遍,这只是一个选择(我唯一能真正想到的就是我的头上)。
https://stackoverflow.com/questions/22335219
复制相似问题