如何在react-native中發送擷取Broadcast
在reactContext中提供了sendEventToJS的方法,可以向RN端發送Event,在下包裝了下,友善在Native中與RN使用Broadcast交流。
使用方法
npm install react-native-system-broadcast
栗子
import {NavigationPage} from 'teaset';
import {Fragment} from 'react';
import Label from 'teaset/components/Label/Label';
import React from 'react';
import RNBroadCast from 'react-native-system-broadcast';
import {DeviceEventEmitter, View} from 'react-native';
export default class MainPage extends NavigationPage {
constructor(props) {
super(props);
}
componentDidMount() {
RNBroadCast.on('android.intent.action.CLOSE_SYSTEM_DIALOGS');
let aEvent = DeviceEventEmitter.addListenter('android.intent.action.CLOSE_SYSTEM_DIALOGS', (data) => {
console.log(JSON.stringify(data));
});
}
componentWillUnmount() {
RNBroadCast.removeAll();
}
renderPage(): null {
return (
<View style={{flex: 1, justifyContent: 'center', alignItems: 'center'}}>
<Label text={'某雲播放器'} size={'xl'} type={'danger'}/>
<Label text={' '} size={'xl'} type={'danger'}/>
<Label text={'播放'} size={'xl'} type={'danger'} onPress={() =>
RNBroadCast.sendBroadCast('MyAPP.play', {songName: 'XXX'})}/>
<Label text={'暫停'} size={'xl'} type={'danger'}/>
<Label text={'讀取'} size={'xl'} type={'detail'}/>
</View>
);
}
}
可以調用Native中的服務喲