¿Está bien consultar el DownloadManager en el subproceso de interfaz de usuario?

El DownloadManager tiene un método query () . Mi pregunta es si está bien llamar a este método en el hilo de interfaz de usuario, o si sólo se debe llamar desde un hilo de fondo?

¿Puede llamarlo alguna vez causar una ANR?

Si uno mira el origen del método query() :

 public Cursor query(Query query) { Cursor underlyingCursor = query.runQuery(mResolver, UNDERLYING_COLUMNS, mBaseUri); if (underlyingCursor == null) { return null; } return new CursorTranslator(underlyingCursor, mBaseUri); } 

… esto podría romper a la pregunta de si es seguro acceder a cursores en el hilo de la interfaz de usuario. Vea la respuesta excelente de Mark Murphy a esto. Extraer:

Así que consulta el DownloadManager en un hilo de fondo.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.