Resources.getSystem()。openRawResource给出资源未找到异常

时间:2013-11-01 18:50:37

标签: android inputstream static-methods

在我的Android应用程序中,我想以静态方法访问我的文本文件,但使用此代码:

InputStream is = Resources.getSystem().openRawResource(R.raw.adv_types);

给我运行时异常:资源未找到异常

虽然我可以使用此代码以非静态方法访问该文件:

InputStream is = getResources().openRawResource(R.raw.adv_types);

虽然它在静态方法中不可用。

你知道为什么第一个代码不起作用吗? 在静态方法中访问文本文件(或一般资源)的解决方案是什么?

1 个答案:

答案 0 :(得分:5)

因为Resources.getSystem()只允许您访问系统资源而不访问应用程序资源。来自文档:

  

返回仅提供访问权限的全局共享Resources对象   系统资源(没有应用程序资源),并且未配置   当前屏幕(不能使用尺寸单位,不改变基础   在方向等)。