我已经使用下面的代码调用了一个号码:
DataBaseHelper db;
db=new DataBaseHelper(PanicService.this);
try {
db.createDataBase();
} catch (IOException ioe) {
throw new Error("Unable to create database");
}
Map<String, String > map= db.TelephoneList();
String[] numbers = new String[]{"number1","number2","number3","number4","number5"};
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:"+map.get(numbers[0])));
callIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(callIntent);
工作正常。 现在我需要知道所拨号码是占线还是无人接听,是拨列表中的下一个号码。我只是想知道是否有检测通话状态的方法?
我已经检查了这个 URL http://developer.android.com/reference/android/telephony/TelephonyManager.html但除了 CALL_STATE_OFFHOOK 这不是我真正想要的,我找不到任何关于这个概念的东西。
最佳答案
您无法确定移动网络上的拨出电话是否已接听,因为移动网络不会向手机提供此信息,即使提供,Android 也不提供接收它的方法。
虽然可以确定拨出的 Internet (SIP) 调用是否得到应答,但 Android 目前(从 Jelly Bean 开始)不提供执行此操作的方法,我可以通过快速查看源代码找到该方法。
关于android - 如何查询所拨号码是否占线或无人接听?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11416374/