我正在尝试允许应用程序将文件下载到公共“下载”目录,以便在设备上以通用方式提供。我成功地将模拟器中的文件下载到我的计算机上的.cn1目录中,但是我找不到一种直接的方法将文件放到设备上的公共目录中。我真的希望在FileSystemStorage
类中有一个允许这样做的方法,但它们似乎都不是我想要的。
所以我尝试编写一个简单的本机桥来获取公共目录的路径,从Android开始。我有一个非常简单的类,看起来像这样:
public class DownloadDirectoryImpl {
public static String getDownloadDirectory(){
return Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath();
}
public boolean isSupported(){
return true;
}
}
应用程序编译得很好,但是当我点击文件下载它时,我看到同一行在logcat中重复了几千次:
W/System.err: at net.gesher.downloadDirectory.NativeDownloadDirectoryImpl.getDeviceDownloadDirectory(NativeDownloadDirectoryImpl.java:20)
但它没有说明错误是什么。
所以,我正在寻求建议a)改进我的android代码以使其工作,或b)cn1获取此目录路径的正确方法。
非常感谢!
答案 0 :(得分:0)
如果你有很多行说...并且所有引用相同的方法,那么你有一个递归调用导致堆栈溢出。由于您提到的唯一方法是您的本机方法,我假设您在本机实现中调用了自己的方法并进入了递归循环。