Android Context.getFilesDir()返回null

时间:2017-09-07 10:12:02

标签: android

很抱歉看到图片给您带来不便,但是stackoverflow告诉我"您需要至少10个声望来发布图片。" ...

我刚收到Google Play用户报告中的一个奇怪错误,请参阅下图。 https://i.stack.imgur.com/UPVOg.jpg

我检查了我的代码,但它刚刚崩溃,因为getFilesDir()返回null并且在null上调用getParentFile()会使应用程序崩溃。这是我的代码:

public static void init(Context ctx)
{
    appFilesDirectory=ctx.getFilesDir();
    appDirectory=appFilesDirectory.getParentFile();
}

经过一番搜索,我发现了这个问题:getFilesDir() returning null 但我不认为它对这个问题很有用。 另一个问题:Application context returning null when using getFilesDir() 告诉我不要在构造函数中调用getFilesDir,我真的很确定我在onCreate中调用它: https://i.stack.imgur.com/PP7aG.jpg

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    // ...
    ServerUtils.init(this);
    // ...
}

Android文档说:

  

调用应用程序无需其他权限即可在返回的路径下读取或写入文件。

这个电话甚至只是获取该文件夹的路径,所以我不认为它是由权限问题引起的。

有人对此有所了解吗?感谢您的帮助!

PS1:关于许可我不认为这是一个问题,安卓文档说不需要额外的许可,我甚至要求SD卡允许其他一些行动。

PS2:如果您想要完整代码,请访问GitHub项目:https://github.com/fengberd/PocketServer

0 个答案:

没有答案