Как получить доступ к файлам указанной папки c в android, содержащей файл .nomedia - PullRequest
0 голосов
/ 23 февраля 2020

Я использую приведенный ниже код, чтобы попытаться получить данные изображений из WhatsApp / Media / .Statuses, поскольку папка .Statuses содержит файл .nomedia, поэтому курсор не возвращает никаких данных. Как я могу игнорировать файл .nomedia, чтобы получить данные изображений для папки .Statuses.

public class MainActivity extends AppCompatActivity {

private final String TAG = "statusTest";

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

    if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
        Log.i(TAG, "permission available");


        Uri uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
        String[] projection = {MediaStore.Images.Media.DISPLAY_NAME};
        String selection = MediaStore.Images.Media.DATA + " LIKE ?";
        String[] selectionArgs = {"%WhatsApp/Media/.Statuses%"};
        Cursor cursor = getContentResolver().query(uri, projection, selection, selectionArgs, null);
        if (cursor != null && cursor.getCount() > 0) {
            while (cursor.moveToNext()) {
                Log.i(TAG, cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DISPLAY_NAME)));
            }
        } else {
            Log.i(TAG, "cursor null");
        }
}

@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    if (requestCode == 1 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
        Log.i(TAG, "permission granted");
    } else {
        Log.i(TAG, "permission refused");
    }
}}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...