gpt4 book ai didi

react-native - 从 AccessibilityService 访问 react-native 数据

转载 作者:行者123 更新时间:2023-12-04 05:19:32 26 4
gpt4 key购买 nike

目前我有一个 react-native 应用程序,它的数据存储在它的 redux 存储中。

我按照 https://developer.android.com/guide/topics/ui/accessibility/services 提供的说明进行操作创建无障碍服务。

现在我有来自 Accessibility Server 中的网站的数据,例如url 并想询问 react-native 上下文给我存储在它的 redux 存储(或异步存储)中的数据。

从正在运行的 react-native 应用程序 (js) 中调用 native 代码非常容易,但是您将如何实现另一种方式?

最佳答案

唯一支持的以另一种方式发送信息的方式是在 native 端发送一个您已在 JavaScript 端订阅的事件。

这是来自 the docs 的示例(请参阅向 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);

关于react-native - 从 AccessibilityService 访问 react-native 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51326749/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com