Реагировать на собственный «Попытка вызвать виртуальный метод android.app.Activity.showdShowRequestPermissionRationale» Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Реагировать на собственный «Попытка вызвать виртуальный метод android.app.Activity.showdShowRequestPermissionRationale»

Сообщение Anonymous »

Я пытаюсь включить голос 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»