Я пытаюсь включить голос Twilio, используя пакет response-native-twilio-programmable-voice. Мое приложение загружается на iOS, но при запуске на Android я получаю это сообщение об ошибке
Попытка вызвать виртуальный метод 'boolean
android.app.Activity.shouldShowRequestPermissionRationale' на пустом
ссылке на объект
скриншот здесь
Я включил в AndroidManifest.xml
и ни одна из функций, связанных с TwilioVoice, не вызывается до 4 или 5 экранов приложения.
Чашу голову уже несколько дней, буду очень благодарен за любую помощь.
Фрагмент кода моего вспомогательного класса Twilio:
import TwilioVoice from 'react-native-twilio-programmable-voice';
import {Platform} from 'react-native';
import config from '../config/Config';
export default class Voip{
constructor(props) {
this.state = {
};
}
async setupDeviceWithToken(accessToken){
console.log('V32: setup device', accessToken);
TwilioVoice.addEventListener('deviceReady', () => this.deviceReadyHandler());
TwilioVoice.addEventListener('deviceNotReady', () => this.deviceNotReadyHandler());
TwilioVoice.addEventListener('connectionDidConnect', () => this.connectionDidConnectHandler());
TwilioVoice.addEventListener('connectionDidDisconnect', () => this.connectionDidDisconnectHandler());
if(Platform.OS === 'ios')
{
TwilioVoice.addEventListener('callRejected', this.callRejected());
} else if (Platform.OS === 'android')
{
TwilioVoice.addEventListener('deviceDidReceiveIncoming', this.deviceDidReceiveIncomingHandler());
}
var success;
try {
success = await TwilioVoice.initWithToken(accessToken);
console.log('V36: ', success);
//return success;
}
catch(err){
console.log('V40: ' ,err);
return err;
}
// if(Platform.OS === 'ios')
// {
try {
TwilioVoice.configureCallKit({
appName: 'VoipApp' // Required param
})
console.log('V50: ios success');
//return 'success';
}
catch (err) {
console.log('V54: ',err);
return err;
}
// }
return success;
}
Подробнее здесь: https://stackoverflow.com/questions/464 ... howdshowre