-3

我有一个应用程序 HTMLSpyII,我是几年前开发的,当时我是 Android 编程的绝对初学者。无论如何,这是几年后的事了,这段时间我已经远离编程了,它一直在我的三星 S4 mini KitKat 4.4.2 上运行,但它不会在我的三星 Tab E Nougat 7.1.1 上运行。我确信我错过了一些简单的东西。

该程序正在尝试在设备的下载目录中创建目录 /HTMLSpyII/Jsoup。它从以下代码片段的最后一行输出此两行 runTimeAlert...
Unable to create path
/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())

希望你能帮忙:)

4

1 回答 1

0

我终于发现我的问题的答案涉及在运行时检查权限。这对我来说是新的。答案由 Tarun 在此 StackOverflow 帖子中提供...
Android marshmallow 请求权限?
Tarun 的答案非常低,所以很容易通过在帖子中搜索 Tarun 这个名字来找到它;并在这里找到... http://revisitingandroid.blogspot.com/2017/01/how-to-check-and-request-for-run-time.html

于 2018-10-26T00:51:18.713 回答