سؤال

أرغب في إخطار بعض التعليمات البرمجية بأي مكالمات صوتية واردة وصادرة. أحتاج إلى الاستيلاء على كل ما يلي:

  • إذا كانت مكالمة واردة أو صادرة
  • تم الاتصال بالرقم ، أو رقم هاتف معرف المتصل الوارد
  • مدة الاتصال ، أو إذا كانت مكالمة فائتة

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

أحتاج إلى الكود الخاص بي للحصول على هذه المعلومات إلى حد كبير بمجرد انتهاء المكالمة. ربما لا أبحث عن الشروط الصحيحة ، لكنني أواجه صعوبة حقيقية في العثور على أي أمثلة على كيفية تحقيق ذلك.

إذا تمكن شخص ما من تقديم مثال رمز ينجز هذا ، إلى جانب الأذونات وأي نوع من نوع جهاز الاستقبال البث الذي سأحتاجه في ملف البيان ، سيكون ذلك رائعًا.

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

المحلول

يجب أن تكون قادرًا على مشاهدة المكالمات الصادرة مباشرة من خلال الاستماع إليها android.intent.action.NEW_OUTGOING_CALL أحداث البث ، عن طريق ضبط android.permission.PROCESS_OUTGOING_CALLS إذن في بيانك.

أتصور أن هذا يجب أن يعمل مع أجهزة أخرى ؛ على الأقل على بطل HTC الخاص بي هذا يعطيني Intent مليئة بالإضافات بما في ذلك رقم الهاتف الذي يتم استدعاؤه ، اسم جهة الاتصال بالإضافة إلى URIs لجهة الاتصال والرقم الفردي الذي يتم استدعاؤه.

أما بالنسبة للحصول على معلومات كاملة عن المكالمات الواردة أو الفائتة (والمكالمات الصادرة بالفعل) ، أعتقد أن الحل كما يذكر مارك هو مشاهدة CallLog مزود المحتوى للتغييرات ، أو الاستطلاع بعد الصلة PhoneStateListener تم إطلاق الأحداث.

نصائح أخرى

أ PhoneStateListener و ال CallLog سوف يمنحك مزود المحتوى معظم ، إن لم يكن كل ما تحتاجه.

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