我的应用程序中有一个服务,它可以将文件保存在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
}
}
}
1条答案
按热度按时间nfs0ujit1#
退出:不创建新文件夹
//更新