اطلب برمجيا رقم هاتف وتمرير DTMF باستخدام جهاز iPhone SDK

StackOverflow https://stackoverflow.com/questions/584663

  •  06-09-2019
  •  | 
  •  

سؤال

كيف يمكنك برمجيا ما يلي من iPhone SDK:

  1. اطلب برمجيا رقم هاتف من خلال iPhone SDK

  2. تجاوز اطلب / إلغاء يدفع أن iPhone يجلب

  3. إرسال DTMF إضافية بعد طلب الرقم تماما مثل كيفية قيامك ببرمجة Pauses في هاتف منتظم.

أعلم أنه يمكنك صنع tel:// اتصل لكن المشكلة هي أنه يطرح مطالبة الطلب / إلغاء الطلب وبعد ذلك يمنع أي مستقبل DTMF من إرساله.

هل كانت مفيدة؟

المحلول

لا يمنحك iPhone SDK الوصول المباشر إلى أرقام الطلب (تخيل ما إذا كان برنامج "سيئ" حصل على هاتفك واتصل برقم الدفع لكل دقيقة على كتم الصوت حتى لا تلاحظ).

ومع ذلك، إذا كنت تستخدم رابط الهاتف، فعليك أن تكون قادرا على إرسالها "،" الأحرف التي تقوم بإدراج Pauses.

إذن للاتصال 555-1212، ثم انتظر 4 ثوان، ثم Do 12345 # على لهجة اللمس التي ستستخدمها هاتف: 5551212، 12345 #

الدفعhttps:/developer.apple.com/library/archive/featuredarticles/iphoneurlscheme_Reference/phonelinks/phonelinks.html.

نصائح أخرى

أنا لا أعرف لماذا يقول الجميع أنك غير قادر ... أنت يمكن!

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

هذا سوف طلب رقم التليفون تجاوز Dial / إلغاء موجه ... 1 ثانية بعد الإجابة على المكالمة، dtmfafterpickup. سيتم طلب السلسلة تلقائيا.

انها فكرة جيدة ل كشف ما إذا كان الجهاز يدعم المكالمات الهاتفية أم لا

لكل رابط مطور أبل ADAM أعلاه، هناك رابط RFC هذا يفسر المزيد حول الخيارات المختلفة لنظام ارتباط الهاتف الذي يدعمه iPhone -

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

يتيح لك هذا على الأقل إدراج مؤقتا مع "P" في عنوان URL، ولكن يتم تحديد الكثير من الخيارات (ولكن ليس مطلوبا جميعا) لكل RFC. ماذا يعمل آخر؟

حاولت مع جهاز iPhone الخاص بي باستخدام Coronasdk و Openurl API. أنه يعمل بشكل جيد جدا! فقط افعل: system.openurl ("Tel: [phoneNumber]، 123"). يمكنك الانتظار أكثر مع الفواصل المضمنة. اختبارها مع كورونا SDK / IOS7.

في الواقع، لقد حاولت فقط 555-555-4822 ext 8030

ويبدو أنه يحيل بعض النغمات حتى بعد الضغط على الطلب (يمثل عدد ف أن عدد ثواني تأخير). ومع ذلك، لا يتم الاستجابة النغمات في النهاية البعيدة كما هو متوقع، لذلك لا يزال هناك شيء خاطئ.

ومع ذلك، هذا لا يعمل، على الرغم من أنه أكثر عرضة لمشاكل توقيت التوقيت: 555-555-4822، 8030. هذا يتوقف فقط من أجل ثانية واحدة (، سيكون ثانيتين) بعد الاتصال، ثم يلعب نغمات 8030

لا يمكنك القيام بذلك. لا يسمح لك SDK بالتحكم في وظيفة الهاتف في هذا المستوى من التفاصيل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top