Я предпочитаю подход, когда логика программирования происходит за пределами возвращаемого значения render
. Это помогает сохранить то, что на самом деле легко получить.
Поэтому я, вероятно, сделаю что-то вроде:
import _ from 'lodash';
...
const TableBody = ({ objects }) => {
const objectRows = objects.map(obj => <ObjectRow object={obj} />);
return <tbody>{objectRows}</tbody>;
}
По общему признанию, это такой небольшой код, работа хорошо.
Я не думаю, что есть такой API, а также API для отправки DTMF по той же причине, что вы не можете сказать, когда этот вызов подключен.
Что касается менеджера телефонии Android, вы не можете программно определить, был ли получен ответ на вызов или нет. Это означает, что у вас нет возможности узнать, когда пользователь выбрал телефон на другом конце. Android имеет 3 состояния диспетчера телефонии, и ни один из них не способен определить, был ли вызов фактически answerd или нет (В СЛУЧАЕ ВЫХОДНЫХ ЗВОНКОВ)
Единственный способ, которым вы можете это сделать, - это проанализировать журналы Logcat, для этого нет события PhoneStateListener.
Некоторые запрашивают его здесь: https: // code .google.com / p / android / issues / detail? id = 14266
В любом случае, в версиях выше Android 4.2, поскольку Logcat «песочница», это может быть невозможно ...
Не обязательно, чтобы можно было зафиксировать это как внешнее приложение. Зеленый значок андроида является частью приложения, которое управляет вызовом, поэтому для изменения значка не требуется широковещательная передача.