RN 当接收器未专门注册用于系统广播时,应指定 RECEIVER_EXPORTED 或 RECEIVER_NOT_EXPORTED 之一

问题描述 投票:0回答:1

我正在将我的 targetSdkVersion 升级到 34

buildscript {
    ext {
        buildToolsVersion = "29.0.3"
        minSdkVersion = 26
        compileSdkVersion = 33
        targetSdkVersion = 34
        supportLibVersion = 34
    }

我在运行react-native应用程序时遇到了这个错误。

我在网上看到很多解决方案建议添加

context.registerReceiver(broadcastReceiver, intentFilter, RECEIVER_EXPORTED);

但是他们没有提到需要在哪里添加。我只从事过 React-Native 方面的工作,因此如果我有关于 Android 特定更新的更多详细信息将会有所帮助。

android react-native android-api-levels
1个回答
0
投票

为了解决这个问题,我打开了 React Native 项目的 node_modules (

code node_modules
),并搜索了所有出现的
registerReceiver
。然后我查看了搜索结果中的库,我知道我必须升级哪些库。大多数库已经发布了支持 SDK 34 的版本,但我也发现了不支持 SDK 34 的库:对于这些库,我使用 patch-package 来创建补丁文件,我自己将相应的标志添加到
registerReceiver
调用中( s).

© www.soinside.com 2019 - 2024. All rights reserved.