为什么我的应用程序崩溃后,在Android 9中创建目录

klr1opcd  于 2023-02-02  发布在  Android
关注(0)|答案(1)|浏览(108)

我的应用程序中有一个服务,它可以将文件保存在onStartCommand()中,或者在完成后保存在onDestroy()中。在onCreate()中,我检查应用程序的目录和子目录是否存在,如果不存在,我就创建路径。但是,我发现exists()方法实际上创建了整个路径,甚至是部分路径,如果不存在的话。完成后,我的应用程序实际上崩溃了,再次启动后,它工作得很完美。
我也试过用try-catch块来包围exists()方法,但应用程序仍然崩溃,没有抛出任何异常。这个问题似乎只出现在我的旧设备与Android 9.0,因为该应用程序没有这个问题,我的另一个设备与Android 12(API 31)。所以我想知道为什么会发生这种情况,有什么办法可以防止崩溃。
有关代码为:

@Override
    public void onCreate() {
        //some other initializations...
        File dir = new File(myDirectory); /*myDirectory is the full path to my app's directory, so: 
/storage/emulated/0/directory/subdirectory */
        if(!dir.exists()) {
            try {
                if(!dir.mkdirs()) {
                    //handle failure
                }
            } catch (Exception e) {
`                //handle exception
            }
        }
    }
nfs0ujit

nfs0ujit1#

退出:不创建新文件夹

if(!dir.exists()){
  dir.mkdirs();// create your folder
}

//更新

相关问题