java - openRawResource() 总是抛出 NotFoundException

标签 java android resources keystore

我想在我的 Android 应用程序中加载一个 keystore 。我已将 key (truststore.bks) 复制到文件夹 res/raw 中。来自 Android 的 SDK 生成带有 trustsotre 条目的 R.java。在 App 中尝试使用: Resources.getSystem().openRawResource(R.raw.truststore);

但我总是得到一个异常(exception): android.content.res.Resources$NotFoundException:资源 ID #0x7f040000

我查看了 apk 文件,发现 truststore.bks 文件位于文件夹res/raw/ 中。

我的错误是什么?

最佳答案

问题是您正在通过调用 Resources.getSystem 使用系统级资源。具体来说,文档指出这不提供对应用程序资源的访问。您需要在应用程序中的 Context 对象上调用 getResources - 您的所有 Activity 都是一个 Context 对象,因为它们继承自 Context。

关于java - openRawResource() 总是抛出 NotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8369247/

相关文章:

部署 Tomcat 后 Java/Spring 应用卡住

java - 可扩展抽屉导航不动

java - 列表 size() 上的 ConcurrentModificationException

android - 在 Android 4.2 的 StateListDrawable 中使用默认的 ShapeDrawable

android - 关注评级提示

java - 如何在所有设备中使用相同的分辨率在 LibGdx 中获取触摸坐标?

php - 在为网站构建 URL 时,有哪些资源可以帮助您了解最佳实践?

c++ - 在多线程应用程序中等待变量的最佳方法是什么

android - 一个游戏的多个 apk 方法

java - 使用 Java 或 .NET 库对 ColdFusion 中的 PDF 执行光学字符识别?