我在React Native上构建应用程序,我想使用Android Service NotificationListenerService。为了从服务中获取数据,我需要一台广播接收器。我如何在React Native环境中设置BroadcastReceiver?在React Native上设置Android BroadcastReceiver
回答
我所做的是使用getJSModule
MyListener.java
public class MyListener extends NotificationListenerService {
@Override
public void onNotificationPosted(StatusBarNotification sbn) {
if (sbn.getNotification().tickerText == null) {
return;
}
WritableNativeMap params = new WritableNativeMap();
params.putString("tickerText", sbn.getNotification().tickerText.toString());
params.putString("packageName", sbn.getPackageName());
MyModule.sendEvent("notificationReceived", params);
}
@Override
public void onNotificationRemoved(StatusBarNotification sbn) {}
}
MyModule.java
public class MyModule extends ReactContextBaseJavaModule implements ActivityEventListener {
private static ReactApplicationContext reactContext;
public MyModule(ReactApplicationContext reactContext) {
super(reactContext);
this.reactContext = reactContext;
reactContext.addActivityEventListener(this);
}
public static void sendEvent(String event, WritableNativeMap params) {
reactContext
.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
.emit(event, params);
}
.......
}
检查here有关发送事件的详细信息emit
事件的方式。
它工作?看来我不能实例化一个WritableMap对象。 – user3348949
它实际上是'WritableNativeMap'。更新了我的答案。 – vinayr
我很新,反应原生,所以我不完全理解eventListeners。显然,在模块上,编译器找不到'this.reactContext'。这部分是否正确? – user3348949
- 1. 特定设备上的React-Native run-android
- 2. 设置React Native子组件
- 3. React Native:从BroadcastReceiver运行javascript模块
- 4. React-Native:设置Android模拟器,JAVA_HOME设置为无效目录
- 5. 在React Native中设置表格布局
- 6. React Native android build
- 7. React Native Android&Genymotion
- 8. Android Studio/React Native
- 9. React Native - initialProperties Android
- 10. react-native run-android and react-native开始
- 11. React Native中的react-native run-android
- 12. 在Android模拟器上运行react-native
- 13. 在Android上使用React Native传感器
- 14. 在Android上安装React Native Fabric Digits
- 15. Android上的react-native run-android <5
- 16. 如何在Android的React Native中设置阴影?
- 17. 无法在Android设备上运行React-Native示例代码
- 18. 在OS X上使用ndenv设置React Native
- 19. JSApplicationIllegalArgumentException与React Native Android
- 20. React Native Android Permission Denied
- 21. 在React Native AirBnb的MapView上关注用户位置[Android]
- 22. 设置调试或释放| React Native - iOS
- 23. React-native - 有条件地设置高度
- 24. 团队中的React Native Dev设置
- 25. react-native启动画面设置
- 26. 在现有的React Native iOS项目中安装React-Native Android?
- 27. Android上的React-native Facebook登录崩溃
- 28. Android 4.x上的react-native-image-picker
- 29. React Native setState()&Android上的动画
- 30. Android上的React Native Circle图片
尝试:https://facebook.github.io/react-native/docs/headless-js-android.html –