React native 从AccessibilityService访问本机数据
目前,我有一个react原生应用程序,它的redux商店中存储了数据 我按照提供的说明创建了可访问性服务 现在,我有来自可访问性服务器中的网站的数据,例如url,并希望请求react本机上下文提供存储在其redux存储(或异步存储)中的数据React native 从AccessibilityService访问本机数据,react-native,react-native-android,accessibilityservice,React Native,React Native Android,Accessibilityservice,目前,我有一个react原生应用程序,它的redux商店中存储了数据 我按照提供的说明创建了可访问性服务 现在,我有来自可访问性服务器中的网站的数据,例如url,并希望请求react本机上下文提供存储在其redux存储(或异步存储)中的数据 从运行中的react native app(js)调用本机代码非常容易,但是如何实现另一种方法?唯一支持的另一种方法是在本机端发送一个事件,该事件是您在JavaScript端订阅的 下面是中的一个示例(请参阅将事件发送到JavaScript) 在JavaSc
从运行中的react native app(js)调用本机代码非常容易,但是如何实现另一种方法?唯一支持的另一种方法是在本机端发送一个事件,该事件是您在JavaScript端订阅的 下面是中的一个示例(请参阅将事件发送到JavaScript) 在JavaScript中,订阅一个事件:
import { DeviceEventEmitter } from 'react-native';
...
var ScrollResponderMixin = {
mixins: [Subscribable.Mixin],
componentWillMount: function() {
...
this.addListenerOn(DeviceEventEmitter,
'keyboardWillShow',
this.scrollResponderKeyboardWillShow);
...
},
scrollResponderKeyboardWillShow:function(e: Event) {
this.keyboardWillOpenTo = e;
this.props.onKeyboardWillShow && this.props.onKeyboardWillShow(e);
},
在Java中,发送事件:
...
private void sendEvent(ReactContext reactContext,
String eventName,
@Nullable WritableMap params) {
reactContext
.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
.emit(eventName, params);
}
...
WritableMap params = Arguments.createMap();
...
sendEvent(reactContext, "keyboardWillShow", params);