code: @SuppressWarnings("rawtypes")
      public static List<Map<String, Object>> query(final Uri uri, Map<String, Class> projectionTypeMap, String selection, String[] selectionArgs,
              String sortOrder, CancellationSignal cancellationSignal) {
          final Cursor cursor = getContentResolver().query(uri, projectionTypeMap.keySet().toArray(new String[projectionTypeMap.size()]), selection,
                  selectionArgs, sortOrder);
  
          try {
              return (List) extractData(cursor, projectionTypeMap.values()).toList(Map.class);
          } finally {
              closeQuietly(cursor);
          }
      }
docs: Query by context.getContentResolver().
  
  @param uri
  @param projectionTypeMap
  @param selection
  @param selectionArgs
  @param sortOrder
  @param cancellationSignal
  @return