Android:您可以通过电话来发送/接收数据吗?

我正尝试将一些数据传递给我打来的电话。 有什么办法可以做到这一点? 我并不关心数据的types(只要一个位就够了),只要我能识别它并触发一个特定的操作即可。

发送代码:

Intent call = new Intent(); call.setAction(Intent.ACTION_CALL); call.setData(Uri.parse("tel:" + contact.getNumber())); call.putExtra("Boolean", true); startActivity(call); 

收到代码:

 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"); } } 

Solutions Collecting From Web of "Android:您可以通过电话来发送/接收数据吗?"

你在做什么是不可能的。 当您打电话给其他设备时,它不一定是您正在呼叫的Android设备。 您正在发送到呼叫意图的布尔正被该意向读取,而不是在呼叫中发送到其他设备。

如果要将数据发送到其他电话设备,则可以发送按键音。 这些都是按键按下的声音(例如,如果你打电话给你的银行,他们要求你按一个客户服务,两个电话银行等,这些按键发送一个稍微不同的音调沿接收器regonises作为“one”和“two”的触摸按键,所以可以执行一些操作)。

您需要将电话铃声发送到电话,并在另一端处理。 正确的实现将允许两个Android手机通信,就好像发送数据一样。

它们通常也被称为DTMF音调。

 Intent mIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phoneNumber + ";" + dtmfSequence)); 

上面的代码将通过电话发送DTMF音。

我不确定如何访问接收设备上的audiostream,因此您必须自己查看,以获取stream,并听取DTMF音调。

祝你好运,希望这会有帮助!