Hello everyone! Recently I encountered a problem I needed to make an application that should read files from a device, for example, photos, videos, music, and the like. When I wanted to open the downloads or images or music or other folder, my program could not read them.
please help me solve this problem
MainActivity.java
manifect.xml
please help me solve this problem
MainActivity.java
public class MainActivity extends AppCompatActivity { //private TextView t; private Button bt; private File File; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); EdgeToEdge.enable(this); setContentView(R.layout.activity_main); ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> { Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()); v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); return insets; }); bt = findViewById(R.id.button); bt.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) {// val downloadFolder = requireContext().getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS System.out.println("btn_click!");// String path = Environment.getExternalStorageDirectory().toString();// System.out.println(path);// if (checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {// ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 0);// } File f = new File("sdcard"); String[] s = f.list(); File sdcard = Environment.getExternalStorageDirectory();//Get the text file File file = new File(String.valueOf(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS))); String[] text = file.list();//Read text from file System.out.println(Arrays.toString(text)); }// for(int i=0;i < f.length;i++){// System.out.println(s[i]);// } }); }}manifect.xml
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"><!-- <permission android:name="android.permission.ACCESS_SUPERUSER"--><!-- tools:ignore="ReservedSystemPermission" />--> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="28" /> <application android:requestLegacyExternalStorage="true" android:allowBackup="true" android:dataExtractionRules="@xml/data_extraction_rules" android:fullBackupContent="@xml/backup_rules" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.New_proj" android:protectionLevel="normal" > <activity android:name=".MainActivity" android:exported="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application></manifest>
