Я использую приведенный ниже код, чтобы попытаться получить данные изображений из 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");
}
}}