我有一个几年前开发的HTMLSpyII应用程序,当时我还是Android编程的绝对初学者。无论如何,这是几年后的事,这段时间我一直没有编程,它已经在我的Samsung S4 mini KitKat 4.4.2上运行,但是不会在我的Samsung Tab E Nougat 7.1.1上运行。我确定我缺少一些简单的东西。
程序正在设备的Downloads目录中创建目录/ HTMLSpyII / Jsoup。它从以下代码段的最后一行输出此两行的runTimeAlert ...
无法创建路径
/ storage / emulated / 0 / Download / HTMLSpyII / Jsoup
这是代码段,它是onCreate ...的一部分
private File root;
private String urlString, tokenString;
private EditText url, token;
...
root = Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_DOWNLOADS + "/HTMLSpyII/Jsoup");
Bundle extras = getIntent().getExtras();
if (extras != null) {
urlString = extras.getString("urlKey");
url.setText(urlString);
tokenString = extras.getString("tokenKey");
token.setText(tokenString);
if (getIntent().hasExtra("redirectsKey"))
followRedirects = extras.getBoolean("redirectsKey");
else
followRedirects = true;
if (getIntent().hasExtra("rootKey"))
root = new File (extras.getString("rootKey"));
}
if (!root.exists()) root.mkdirs();
if (!root.isDirectory())
runTimeAlert("Unable to create path\n" + root.toString())
希望您能提供帮助:)
答案 0 :(得分:0)
我终于发现,我的问题的答案涉及在运行时检查权限。这对我来说是新的。
Tarun在此StackOverflow帖子中提供了答案...
Android marshmallow request permission?
塔伦(Tarun)的答案很低,因此通过在帖子中搜索塔伦(Tarun)这个名字最容易找到答案。在这里也发现...
http://revisitingandroid.blogspot.com/2017/01/how-to-check-and-request-for-run-time.html