首页 文章

如何从原生android代码(Codename One)访问默认包中的文件

提问于
浏览
1

由于我在运行应用程序时无法使用Media对象进行播放,但是我必须在该状态下播放媒体文件,我需要一个解决方案来从本机代码访问媒体文件并引用它们用于本机媒体播放器(通过路径或InputStream的) . 我仍然希望以相应的方式放置相关文件,以便在我的实现中真正管理它 .

  • 将相关数据文件放在GuiBuilder的数据部分中,并通过Resources对象访问它们(并调用 getData(id) ) . 但是当我尝试在Android上的本机代码上创建一个 Resources.open("/theme"); 对象时,我得到以下异常: java.io.IOException: /theme not found .

  • 将相关数据文件保存在默认包中,并通过 Class.getResourceAsStreamClass.getResource 访问它们 . 但我不知道如何指出这些文件 . 我尝试了各种途径但没有任何成功 .

1 回答

  • 2

    如果将媒体文件复制到FileSystemStorage,则在本机端访问应该相当容易 . 您只需将路径传递到本机界面即可 .

    话虽这么说,我开发了一些带有背景音频的CN1应用程序没有问题 . 在iOS上,您只需提供 ios.background_modes=audio 构建提示,以便允许应用程序在后台运行 .

    如果您使用 Display.createBackgroundMedia() 方法创建媒体,则Android还将使用后台服务来播放媒体 .

相关问题