С реагированием на родной язык вы можете использовать реагировать-родной-вызов-состояние , чтобы проверить состояние вызова, используя вот так:
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 , здесь у вас может быть полный пример того, как это сделать, от начала до конца.