Android 如何获取所有电话存储器(内部存储器)目录列表

Android 如何获取所有电话存储器(内部存储器)目录列表,android,Android,我想获取内部存储的所有文件列表。我写了这段代码 File dir= getFilesDir(); File[] list = dir.listFiles(); for(File ff: list) { Toast.makeText(getApplicationContext(), ff.getName() , Toast.LENGTH_LONG).show(); } 它只是在Toast上给了我目录名:instant ru

我想获取内部存储的所有文件列表。我写了这段代码

File dir= getFilesDir();
        File[] list = dir.listFiles();
        for(File ff: list) {
            Toast.makeText(getApplicationContext(), ff.getName() , Toast.LENGTH_LONG).show();

        }
它只是在Toast上给了我目录名:instant run,但我的内部存储有许多目录,如下图所示,


请告诉我如何得到所有这些目录的名称

您的屏幕截图是Android SDK调用的,而不是。外部存储的根目录是通过
环境获取的。getExternalStorageDirectory()

您的屏幕截图是Android SDK调用的,而不是。外部存储的根目录是通过
环境获取的。getExternalStorageDirectory()

您可以使用以下代码获取目录

File extStorageDir=new File(Environment.getExternalStorageDirectory());
    String fileList=extStorageDir.list();

    for(String fileName:fileList)
    sysout("FileName="+fileNAme);

您可以使用下面的代码获取目录

File extStorageDir=new File(Environment.getExternalStorageDirectory());
    String fileList=extStorageDir.list();

    for(String fileName:fileList)
    sysout("FileName="+fileNAme);
试试这个:

String dir = getFilesDir().getAbsolutePath();
试试这个:

String dir = getFilesDir().getAbsolutePath();

我找到了一种列出内部存储中所有目录的方法。请试试这个,它的工作对我来说很好,因为我只使用我的手机内部存储

MainActivity.java

package com.sumesh.filendirectory;

import android.app.ListActivity;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class FileNDirectoryActivity extends ListActivity {

    private List<String> fileList=new ArrayList<String>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        File root=new File(Environment.getExternalStorageDirectory().getAbsolutePath());
        ListDir(root);
    }

    void ListDir(File f){
        File[] files=f.listFiles();
        fileList.clear();
        for (File file: files){
            fileList.add(file.getPath());
        }

        ArrayAdapter<String> directoryList=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,fileList);
        setListAdapter(directoryList);
    }
}
    public class MainActivity extends AppCompatActivity {

    ListView lview;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        lview = (ListView) findViewById(R.id.lview1);
        String path=Environment.getExternalStorageDirectory().getAbsolutePath();
        File f = new File(path);//converted string object to file
        String[] values = f.list();//getting the list of files in string array
        //now presenting the data into screen
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(),android.R.layout.simple_spinner_dropdown_item, values);
        lview.setAdapter(adapter);//setting the adapter

    }
}
package com.sumesh.filen目录;
导入android.app.ListActivity;
导入android.os.Environment;
导入android.support.v7.app.AppActivity;
导入android.os.Bundle;
导入android.widget.ArrayAdapter;
导入java.io.File;
导入java.util.ArrayList;
导入java.util.List;
公共类FileNDirectoryActivity扩展了ListActivity{
private List fileList=new ArrayList();
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
文件根=新文件(Environment.getExternalStorageDirectory().getAbsolutePath());
ListDir(根);
}
void ListDir(文件f){
File[]files=f.listFiles();
fileList.clear();
用于(文件:文件){
添加(file.getPath());
}
ArrayAdapter目录列表=新的ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1,fileList);
setListAdapter(目录列表);
}
}
Manifest.xml

    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.sumesh.filendirectory">

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".FileNDirectoryActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    >

    <ListView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/lview1">
    </ListView>

</LinearLayout>
    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.sumesh.listview">

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

其他方法:

MainActivity.java

package com.sumesh.filendirectory;

import android.app.ListActivity;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class FileNDirectoryActivity extends ListActivity {

    private List<String> fileList=new ArrayList<String>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        File root=new File(Environment.getExternalStorageDirectory().getAbsolutePath());
        ListDir(root);
    }

    void ListDir(File f){
        File[] files=f.listFiles();
        fileList.clear();
        for (File file: files){
            fileList.add(file.getPath());
        }

        ArrayAdapter<String> directoryList=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,fileList);
        setListAdapter(directoryList);
    }
}
    public class MainActivity extends AppCompatActivity {

    ListView lview;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        lview = (ListView) findViewById(R.id.lview1);
        String path=Environment.getExternalStorageDirectory().getAbsolutePath();
        File f = new File(path);//converted string object to file
        String[] values = f.list();//getting the list of files in string array
        //now presenting the data into screen
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(),android.R.layout.simple_spinner_dropdown_item, values);
        lview.setAdapter(adapter);//setting the adapter

    }
}
public类MainActivity扩展了AppCompatActivity{
列表视图lview;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lview=(ListView)findViewById(R.id.lview1);
字符串路径=Environment.getExternalStorageDirectory().getAbsolutePath();
File f=新文件(路径);//已将字符串对象转换为文件
String[]values=f.list();//获取字符串数组中的文件列表
//现在将数据显示到屏幕中
ArrayAdapter=新的ArrayAdapter(getApplicationContext(),android.R.layout.simple\u微调器\u下拉菜单\u项,值);
lview.setAdapter(适配器);//设置适配器
}
}
ActivityMain.xml

    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.sumesh.filendirectory">

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".FileNDirectoryActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    >

    <ListView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/lview1">
    </ListView>

</LinearLayout>
    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.sumesh.listview">

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Manifest.xml

    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.sumesh.filendirectory">

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".FileNDirectoryActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    >

    <ListView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/lview1">
    </ListView>

</LinearLayout>
    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.sumesh.listview">

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>


我找到了一种列出内部存储中所有目录的方法。请试试这个,它的工作对我来说很好,因为我只使用我的手机内部存储

MainActivity.java

package com.sumesh.filendirectory;

import android.app.ListActivity;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class FileNDirectoryActivity extends ListActivity {

    private List<String> fileList=new ArrayList<String>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        File root=new File(Environment.getExternalStorageDirectory().getAbsolutePath());
        ListDir(root);
    }

    void ListDir(File f){
        File[] files=f.listFiles();
        fileList.clear();
        for (File file: files){
            fileList.add(file.getPath());
        }

        ArrayAdapter<String> directoryList=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,fileList);
        setListAdapter(directoryList);
    }
}
    public class MainActivity extends AppCompatActivity {

    ListView lview;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        lview = (ListView) findViewById(R.id.lview1);
        String path=Environment.getExternalStorageDirectory().getAbsolutePath();
        File f = new File(path);//converted string object to file
        String[] values = f.list();//getting the list of files in string array
        //now presenting the data into screen
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(),android.R.layout.simple_spinner_dropdown_item, values);
        lview.setAdapter(adapter);//setting the adapter

    }
}
package com.sumesh.filen目录;
导入android.app.ListActivity;
导入android.os.Environment;
导入android.support.v7.app.AppActivity;
导入android.os.Bundle;
导入android.widget.ArrayAdapter;
导入java.io.File;
导入java.util.ArrayList;
导入java.util.List;
公共类FileNDirectoryActivity扩展了ListActivity{
private List fileList=new ArrayList();
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
文件根=新文件(Environment.getExternalStorageDirectory().getAbsolutePath());
ListDir(根);
}
void ListDir(文件f){
File[]files=f.listFiles();
fileList.clear();
用于(文件:文件){
添加(file.getPath());
}
ArrayAdapter目录列表=新的ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1,fileList);
setListAdapter(目录列表);
}
}
Manifest.xml

    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.sumesh.filendirectory">

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".FileNDirectoryActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    >

    <ListView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/lview1">
    </ListView>

</LinearLayout>
    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.sumesh.listview">

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

其他方法:

MainActivity.java

package com.sumesh.filendirectory;

import android.app.ListActivity;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class FileNDirectoryActivity extends ListActivity {

    private List<String> fileList=new ArrayList<String>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        File root=new File(Environment.getExternalStorageDirectory().getAbsolutePath());
        ListDir(root);
    }

    void ListDir(File f){
        File[] files=f.listFiles();
        fileList.clear();
        for (File file: files){
            fileList.add(file.getPath());
        }

        ArrayAdapter<String> directoryList=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,fileList);
        setListAdapter(directoryList);
    }
}
    public class MainActivity extends AppCompatActivity {

    ListView lview;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        lview = (ListView) findViewById(R.id.lview1);
        String path=Environment.getExternalStorageDirectory().getAbsolutePath();
        File f = new File(path);//converted string object to file
        String[] values = f.list();//getting the list of files in string array
        //now presenting the data into screen
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(),android.R.layout.simple_spinner_dropdown_item, values);
        lview.setAdapter(adapter);//setting the adapter

    }
}
public类MainActivity扩展了AppCompatActivity{
列表视图lview;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lview=(ListView)findViewById(R.id.lview1);
字符串路径=Environment.getExternalStorageDirectory().getAbsolutePath();
File f=新文件(路径);//已将字符串对象转换为文件
String[]values=f.list();//获取字符串数组中的文件列表
//现在将数据显示到屏幕中
ArrayAdapter=新的ArrayAdapter(getApplicationContext(),android.R.layout.simple\u微调器\u下拉菜单\u项,值);
lview.setAdapter(适配器);//设置适配器
}
}
ActivityMain.xml

    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.sumesh.filendirectory">

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".FileNDirectoryActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    >

    <ListView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/lview1">
    </ListView>

</LinearLayout>
    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.sumesh.listview">

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Manifest.xml

    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.sumesh.filendirectory">

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".FileNDirectoryActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    >

    <ListView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/lview1">
    </ListView>

</LinearLayout>
    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.sumesh.listview">

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>


我知道getExternalStorageDirectory(),但我想获取内部存储目录。我该怎么做?@Zohaib:让我试试黑体字:你的截图是Android SDK所称的外部存储,而不是内部存储。如果要重现屏幕截图中的内容,请使用
Environment.getExternalStorageDirectory()
。您不能使用
getFilesDir()
“获取所有这些目录名”,因为“所有这些目录”都在外部存储上。@从API 29环境开始的Commonware。getExternalStorageDirectory()已被弃用。还有其他方法吗?@MADLAD:在Android 10上,一旦您的
targetSdkVersion
达到29或更高版本,您将无法读取外部存储上的内容,除非在少数有限的位置。马上