React Native:Android 原生模块
Posted
技术标签:
【中文标题】React Native:Android 原生模块【英文标题】:React Native: Android Native Module 【发布时间】:2017-12-29 17:22:27 【问题描述】:我在 React Native / android 项目上实现了原生模块。 在 android 原生项目中,我使用 startActivity 函数移动到我手动创建的新活动。 我将分享一些代码。
//MainApplication.java
public class MainApplication extends MultiDexApplication
...
// Needed for `react-native link`
public List<ReactPackage> getPackages()
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new AnExampleReactPackage(this)
);
...
在这里,如果我使用代码 new MainReactPackage()
,那么我在我的 android 设备上运行应用程序时会看到错误。
原生模块 AccessibilityInfoModule 试图覆盖 模块名称 AccessibilityInfo 的 AccessibilityInfoModule。如果这是 你的意图,设置 canOverrideExistingModule=true
但我不确定如何设置canOverrideExistingModule
。
我该如何解决这个问题?
相关问题:React Native: Android activity go back
【问题讨论】:
【参考方案1】:您真的要覆盖 AccessibilityInfoModule 吗?如果是,那么只需将其添加到您的 NativeModule 类中
@Override
public boolean canOverrideExistingModule()
return true;
【讨论】:
在哪里可以找到 NativeModuleClass? 是的,你把这个放在哪里?【参考方案2】:检查你的
MainApplication.java
(在 .\android\app\src\main\java\com\projectName 下) 查看 getPackages() 方法中是否有重复的声明。
并检查导入。
【讨论】:
以上是关于React Native:Android 原生模块的主要内容,如果未能解决你的问题,请参考以下文章
React—Native开发之原生模块向JavaScript发送事件
React-Native开发之原生模块封装(Android)升级版
React Native iOS原生模块开发实战|教程|心得|如何创建React Native iOS原生模块
如何使用 onRequestPermissionsResult 处理 React Native Android 模块中的权限?