2

次のコードを使用して番号をダイヤルしました。

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 を除いて、その概念に関するものは何も見つかりません。

4

1 に答える 1

1

この情報はモバイル ネットワークによってハンドセットに提供されないため、モバイル ネットワーク上の発信通話が応答されたかどうかを判断することはできません。たとえ応答されたとしても、Android はそれを受信する方法を提供しません。

発信インターネット (SIP) 呼び出しが応答されたかどうかを判断することは可能ですが、Android は現在 (Jelly Bean の時点で) これを行う方法を提供していません。

于 2012-07-10T19:35:47.673 に答える