And*_*eas 9 android phone-call
我正试图将一些数据传递给我正在打电话的手机.有什么方法可以做到这一点吗?我并不真正关心数据类型(单个位就足够了),只要我能识别并触发特定操作即可.
发送代码:
Intent call = new Intent();
call.setAction(Intent.ACTION_CALL);
call.setData(Uri.parse("tel:" + contact.getNumber()));
call.putExtra("Boolean", true);
startActivity(call);
Run Code Online (Sandbox Code Playgroud)
收到代码:
public void onReceive(Context context, Intent intent) {
Bundle extras = intent.getExtras();
if (extras != null) {
if (extras.getBoolean("Boolean")){
Log.d("BOOL", "true");
} else {
Log.d("BOOL", "false");
}else {
Log.d("BOOL", "nothing");
}
}
Run Code Online (Sandbox Code Playgroud)
你在做什么是不可能的.当您拨打其他设备的电话时,它不一定是您正在呼叫的Android设备.您发送到呼叫意图的布尔值正由该意图读取,而不是发送到呼叫中的其他设备.
如果要将数据发送到其他电话设备,可以发送触摸音.这些是通过按钮按下的声音(例如,如果你给你的银行打电话,他们要求你按一个用于客户服务,两个用于电话银行等,那些按键发送一个稍微不同的音调沿着接收器重新连接作为"一"和"两"的触摸按键,所以可以执行一些动作).
您需要向电话呼叫发送按键音,并在另一端处理接收它们.正确的实施将允许两个Android手机进行通信,就像发送数据一样.
它们通常也被称为DTMF音调.
Intent mIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phoneNumber + ";" + dtmfSequence));
Run Code Online (Sandbox Code Playgroud)
上面的代码将通过电话发送DTMF音.
我不确定如何访问接收器设备上的音频流,因此您必须自己查看,以获取流并听取DTMF音调.
祝你好运,希望这会有帮助!
| 归档时间: |
|
| 查看次数: |
4264 次 |
| 最近记录: |