Dieses Plugin ermöglicht es Ihnen schnell und einfach zu erkennen, ob Ihr Android- oder iOS-Gerät einen Anruf empfängt und den Status des Anrufs zu erfahren.
Aus öffentlichen Paketdaten erstellte Orientierung.
Das phone_state-Paket bietet eine einfache Möglichkeit, eingehende Anrufe und den Anrufstatus auf Android- und iOS-Geräten zu erkennen. Es ermöglicht Apps, dynamisch auf eingehende Anrufe zu reagieren, beispielsweise die Medienwiedergabe anzuhalten oder das App-Verhalten anzupassen. Der Plugin nutzt native Geräte-APIs, um Echtzeit-Status-Updates zum Anruf mit minimaler Konfiguration bereitzustellen. Er ist ideal für Anwendungen, die Telefongeschehen erkennen müssen, wie Musikplayer, Messaging-Apps oder Produktivitäts-Tools, die sich während Anrufen anpassen müssen.
The caller phone number is only available on Android, not iOS
This plugin reports phone call state only. It does not answer, reject, end, or record calls, and it does not change whether other packages can capture call audio.
Android detects system telephony call state only. Third-party VoIP calls from apps such as Telegram or WhatsApp are not supported. iOS CallKit behavior can differ by app.
The iOS implementation uses CallKit. For apps distributed in regions where CallKit is restricted, including China App Store review contexts, confirm availability and territory rules with Apple before submission.
PhoneState.stream requires the app process to be running with an active Flutter engine and listener. It does not send callbacks after the app is terminated.
On Android, if PhoneState.stream does not emit, confirm READ_PHONE_STATE is declared and granted at runtime. Some OEM battery or background restrictions, including MIUI settings on Xiaomi devices, can also delay or block callbacks.
HOW TO INSTALL
Flutter
Note: This version requires Flutter >= 3.44.0 and Dart >= 3.12.2.
Add phone_state to your app's pubspec.yaml, not to this package's pubspec.yaml. Your app/package name must be different from phone_state.
If phone_state stops receiving updates after adding another package:
Confirm the required Android runtime permissions are granted before listening. READ_PHONE_STATE is required, and READ_CALL_LOG is only needed for caller phone numbers.
Keep a single active PhoneState.stream listener for each app flow. Cancel the previous subscription before starting another one when screens, services, or background handlers change.
When reporting a conflict, include the other package names, platform versions, a minimal reproduction, and the relevant Flutter, Logcat, or Xcode logs.
SCREENSHOT
Write me in the GitHub issues the new features you need and, if they are approved of course, I will implement them as soon as I can.