30

iPhone SDK からプログラムで次のことを行うにはどうすればよいですか。

  1. iPhone SDK を使用してプログラムで電話番号をダイヤルする

  2. iPhone が表示するダイヤル/キャンセルプロンプトをバイパスする

  3. 通常の電話に一時停止をプログラムするのと同じように、番号がダイヤルされた後に追加の DTMF を送信します。

電話をかけることはできますがtel://、ダイヤル/キャンセルのプロンプトが表示され、その後 DTMF が送信されなくなるという問題があります。

4

6 に答える 6

32

iPhone SDK では、ダイヤル番号に直接アクセスすることはできません (「悪い」プログラムが携帯電話に侵入し、ミュート状態で 1 分ごとの料金の番号にダイヤルしたため、気付かなかったと想像してください)。

ただし、tel リンクを使用する場合は、一時停止を挿入する「,」文字を送信できるはずです。

したがって、555-1212 をダイヤルするには、4 秒待ってから、タッチ トーンで 12345# を実行します。tel:5551212,,12345# を使用します。

https://developer.apple.com/library/archive/featuredarticles/iPhoneURLScheme_Reference/PhoneLinks/PhoneLinks.htmlをご覧ください 。

于 2009-02-25T04:00:20.953 に答える
18

誰もがあなたができないと言う理由がわかりません... あなたはできます

NSString *phoneNumber = @"15555551212";
NSString *dtmfAfterPickup = @"1234";
NSString *telString = [NSString stringWithFormat:@"tel:%@,%@", phoneNumber, dtmfAfterPickup];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:telString]];

これにより、ダイヤル/キャンセル プロンプトをバイパスしてphoneNumberにダイヤルされます... 通話が応答されてから 1 秒後に、 dtmfAfterPickup文字列が自動的にダイヤルされます。

デバイスが通話をサポートしているかどうかを検出することをお勧めします

于 2011-02-09T09:57:07.013 に答える
2

上記の Adam の Apple 開発者リンクによると、iPhone がサポートする電話リンク スキームのさまざまなオプションについて詳しく説明しているこの RFC リンクがあります。

http://www.ietf.org/rfc/rfc2806.txt

これにより、少なくとも URL に「p」を使用して一時停止を挿入できますが、RFC ごとに多くのオプションが指定されています (すべてが必要というわけではありません)。他に何が機能しますか?

于 2009-07-23T02:48:22.780 に答える
1

CoronaSDK と openurl API を使用して iPhone で試してみました。それは非常にうまく機能します!次のようにします: system.openURL("tel:[電話番号],123"). 追加のコンマでさらに待つことができます。コロナ SDK / iOS7 でテスト済み。

于 2014-01-03T15:33:58.867 に答える
0

実際に、次の 555-555-4822 EXT 8030 を試してみました。

また、ダイヤルを押した後でもいくつかのトーンを送信しているようです (p の数は遅延の秒数を表します)。ただし、トーンは遠端で期待どおりに応答されていないため、まだ何かが間違っています。

ただし、これは機能しますが、タイミングの問題が発生しやすくなります。tel: 555-555-4822, 8030. これは、接続後 1 秒間 (2 秒間) 一時停止し、8030 トーンを再生します。

于 2009-06-15T21:58:43.003 に答える
-1

これはできません。SDK では、このレベルの詳細で電話機能を制御することはできません。

于 2009-02-25T04:00:19.703 に答える