天天看點

如何在react-native中發送擷取Broadcast

如何在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中的服務喲

繼續閱讀