0

我创建了一个到 React Native 的桥梁,以使用 Oracle-Responsys SDK。

桥运行得很好,但我唯一被卡住的是如何将通知图标从我的 react 本机应用程序设置到这个桥。

根据Responsys的文档:

PushIOManager.getInstance(this).setDefaultSmallIcon(R.drawable.emo_im_surprised);
PushIOManager.getInstance(this).setDefaultLargeIcon(R.drawable.emo_im_happy);

注意:整数值必须是构建系统生成的资源 ID。在上面的调用中,图标名称代表整数值。例如,R.drawable.emo_im_surprised 是已放置在可绘制文件夹中的图标 emo_im_surprised.png 的整数值。

我知道了,但是这R.drawable引用了我的桥的可绘制对象而不是应用程序可绘制对象,我如何在桥中使用我的应用程序中的图标?

4

1 回答 1

0

我解决了这个创建这个函数:

private  int getDrawableId(String name) {
        String packageName = getReactApplicationContext().getPackageName();
        return getReactApplicationContext().getResources().getIdentifier(name, "drawable", packageName);
}

并像这样使用它:

  Integer notificationIcon = getDrawableId("ic_responsys_alt");
  pushIOManager.setDefaultSmallIcon(notificationIcon);

使用此代码,您只需ic_responsys_alt在应用程序可绘制文件夹中添加一个名为的图标。

这就是我们开发的桥梁

于 2020-04-09T20:21:43.923 回答