我在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 –