تسجيل المكالمات الصوتية Android
-
21-09-2019 - |
سؤال
أرغب في إخطار بعض التعليمات البرمجية بأي مكالمات صوتية واردة وصادرة. أحتاج إلى الاستيلاء على كل ما يلي:
- إذا كانت مكالمة واردة أو صادرة
- تم الاتصال بالرقم ، أو رقم هاتف معرف المتصل الوارد
- مدة الاتصال ، أو إذا كانت مكالمة فائتة
سيكون من البقع أيضًا إذا تمكنت من الحصول على مزيد من معلومات الاتصال ، وتحديداً اسم جهة الاتصال ، إذا كان رقم الهاتف يتطابق مع شخص ما في قائمة جهات الاتصال بالهاتف ، ولكن هذا الجزء اختياري.
أحتاج إلى الكود الخاص بي للحصول على هذه المعلومات إلى حد كبير بمجرد انتهاء المكالمة. ربما لا أبحث عن الشروط الصحيحة ، لكنني أواجه صعوبة حقيقية في العثور على أي أمثلة على كيفية تحقيق ذلك.
إذا تمكن شخص ما من تقديم مثال رمز ينجز هذا ، إلى جانب الأذونات وأي نوع من نوع جهاز الاستقبال البث الذي سأحتاجه في ملف البيان ، سيكون ذلك رائعًا.
المحلول
يجب أن تكون قادرًا على مشاهدة المكالمات الصادرة مباشرة من خلال الاستماع إليها android.intent.action.NEW_OUTGOING_CALL
أحداث البث ، عن طريق ضبط android.permission.PROCESS_OUTGOING_CALLS
إذن في بيانك.
أتصور أن هذا يجب أن يعمل مع أجهزة أخرى ؛ على الأقل على بطل HTC الخاص بي هذا يعطيني Intent
مليئة بالإضافات بما في ذلك رقم الهاتف الذي يتم استدعاؤه ، اسم جهة الاتصال بالإضافة إلى URIs لجهة الاتصال والرقم الفردي الذي يتم استدعاؤه.
أما بالنسبة للحصول على معلومات كاملة عن المكالمات الواردة أو الفائتة (والمكالمات الصادرة بالفعل) ، أعتقد أن الحل كما يذكر مارك هو مشاهدة CallLog
مزود المحتوى للتغييرات ، أو الاستطلاع بعد الصلة PhoneStateListener
تم إطلاق الأحداث.
نصائح أخرى
أ PhoneStateListener
و ال CallLog
سوف يمنحك مزود المحتوى معظم ، إن لم يكن كل ما تحتاجه.