MaX*_*leR 8 java android dtmf android-intent
我接听电话后想拨打一个号码,通常由通话拨号盘完成.
我尝试了以下方法,但是开始拨打新的电话(ACTION_VIEW也是如此).
Intent dial = new Intent(Intent.ACTION_DIAL);
dial.setData(Uri.parse("tel:9"));
startActivity(dial);
Run Code Online (Sandbox Code Playgroud)
我的猜测是"tel:"触发了一个新的拨号序列.我可能需要的是显示通话中的拨号盘并模拟击键.
任何人?
编辑:我发现这个问题 启动InCallScreen活动 让我觉得我需要发送一个keydown事件到'com.android.phone.InCallScreen',但我不知道该怎么做.这也是一个直接相关的问题,已经(并且仍然)开放多年:http: //code.google.com/p/android/issues/detail?id = 1428
没有。并不是 tel: 触发了一个新的呼叫,而是您正在创建一个新的 Intent,然后运行 startActivity(dial);
想想这意味着什么:您正在启动一个全新的活动,因此它无法与您之前的代码正在使用的与电话相关的活动进行交互。
我认为您真正想做的是在您拨打的号码末尾添加一个号码。为此,您需要将整个号码加上 URI 数据中的暂停字符 (p),并使用 ACTION_CALL。代码:
Intent dial = new Intent(Intent.ACTION_CALL);
dial.setData(Uri.parse("tel:7195555555ppp9"));
startActivity(dial);
Run Code Online (Sandbox Code Playgroud)
我停顿了三下,你应该根据需要的时间来调整。或者,使用等待字符 (w),但这似乎需要用户确认才能发送额外的数字。
| 归档时间: |
|
| 查看次数: |
1293 次 |
| 最近记录: |