android - 如何从 native android 代码(代号一)访问默认包中的文件

标签 android native codenameone

因为我不能使用 Media当应用程序运行但我必须在该状态下播放媒体文件时播放的对象,我需要一个解决方案来从 native 代码访问媒体文件并为 native 媒体播放器引用它们(通过路径或输入流)。我仍然想以这种方式放置相关文件,这样就不会成为从 native iOS 代码访问它们的负担。 我曾考虑过两个选项,但在我的实现中无法真正管理。

  1. 将相关数据文件放入 GuiBuilder 的数据部分,并通过 Resources 访问它们。对象(并调用 getData(id))。但是,当我尝试从 Android 上的 native 代码通过 Resources.open("/theme"); 创建一个 Resources 对象时,出现以下异常:java. io.IOException:/找不到主题
  2. 将相关数据文件保存在默认包中,并通过Class.getResourceAsStreamClass.getResource 访问它们。但我不知道如何指向这些文件。我尝试了各种途径,但都没有成功。

最佳答案

如果您将媒体文件复制到 FileSystemStorage,则在 native 端访问它应该相当容易。您可以将路径传递给您的 native 界面。

也就是说,我已经开发了一些带有背景音频的 CN1 应用程序,没有问题。在 iOS 上,您只需提供 ios.background_modes=audio 构建提示,这样应用程序就可以在后台运行。

如果您使用 Display.createBackgroundMedia() 方法创建媒体,那么 Android 也会使用后台服务来播放媒体。

关于android - 如何从 native android 代码(代号一)访问默认包中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43490775/

相关文章:

android - 用于从 App 和 Library 项目引用 Crashlytics 的示例 gradle 构建文件

android - 如何在 Android 的谷歌地图上显示波纹动画?

java - 如何在代号一中修改工具栏的后退命令按钮(后退箭头)?

codenameone - 代号一错误: cannot find symbol

c++ - 如何使用 vsinstr/vsperfmon 获得真正的代码覆盖率

java - 代号 一个事件在包含更多子容器的容器中监听

android - OneSignal 如何生成唯一的持久用户 ID?

android - dlopen 失败 : cannot locate symbol "__cxa_finalize" referenced by "/system/lib/libdl.so"

python - 有没有可以填充 native Windows 表单字段的 python 模块?

java - 将图像从我的外部存储文件读取到 native c (openCV) Android 中