Как узнать состояние телефона в React Native - PullRequest
2 голосов
/ 14 апреля 2020

Я использую реагирование на себя и проект android, и мне нужно определить состояние вызовов активных вызовов устройства android, таких как входящие, подключенные и т. Д. c.

Мне также нужен номер телефона входящего / исходящего мобильного телефона.

Заранее спасибо!

1 Ответ

2 голосов
/ 14 апреля 2020

С реагированием на родной язык вы можете использовать реагировать-родной-вызов-состояние , чтобы проверить состояние вызова, используя вот так:

import React, { DeviceEventEmitter } from 'react-native'
import CallState from 'react-native-call-state';

componentWillMount() {
    CallState.startListener();
    this.subscription = DeviceEventEmitter.addListener('callStateUpdated', data => { console.warn(JSON.stringify(data)); });
}

componentWillUnmount() {
    CallState.stopListener();
}

используя java, вы можно использовать TelephonyManager с настройкой, например:

 public class MyPhoneStateListener extends PhoneStateListener {
    @Override
    public void onCallStateChanged(int state, String incomingNumber) {
        switch (state) {
            case TelephonyManager.CALL_STATE_RINGING:
                handleRinging(incomingNumber);
                break;
            case TelephonyManager.CALL_STATE_OFFHOOK:
                handleOffHook();
                break;
            case TelephonyManager.CALL_STATE_IDLE:
                handleIdle();
                break;
        }
        super.onCallStateChanged(state, incomingNumber);
    }
}

Чтобы получить номер телефона для вызова, вы можете использовать response-native-call-Detection , здесь у вас может быть полный пример того, как это сделать, от начала до конца.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...