#react-native
#react-native
Вопрос:
Я использую последнюю версию React Native. Я пытаюсь что-то регистрировать в консоли при каждом нажатии кнопки гарнитуры на Android. До сих пор мне это не удавалось.
Я попробовал react-native-music-control
. В документах говорится, что
MusicControl.on('togglePlayPause', ()=>{console.log('clicked')})
должно сработать. Но я не уверен, что это только для ios или Android тоже.
Это мой componentDidMount (рендеринг возвращает текст «привет»).
componentDidMount() {
MusicControl.enableControl('play', true);
MusicControl.enableControl('pause', true);
MusicControl.enableControl('stop', true);
MusicControl.enableControl('togglePlayPause', true);
MusicControl.on('play', () => { console.log('----'); });
MusicControl.on('pause', () => { console.log('----'); });
MusicControl.on('togglePlayPause', () => { console.log('----'); });
}
‘—-‘ регистрируется только при отключении гарнитуры, а не в любое другое время.
Ответ №1:
В официальном документе на github говорится:
MusicControl.on('togglePlayPause', ()=> {}); // iOS only
В iOS only
комментарии довольно четко указано, что это событие доступно только на iOS и не будет запускаться на Android
Комментарии:
1. Я нашел это в выпусках. github.com/tanguyantoine/react-native-music-control/issues /…
Ответ №2:
Итак, пакет react-native-keyevent действительно хорошо работает с Android. После связывания пакета мне пришлось настроить его в MainActivity.java (которое я пропустил по ошибке). После того, как я это сделал, в Android все заработало должным образом.