MediaStore: consulta não retornar todas as músicas

votos
0

Eu tenho um guia em meu aplicativo onde eu listar todas as músicas disponíveis. No entanto, eu recebo reclamações de alguns usuários que algumas das canções que são visíveis no Gerenciador de arquivos não estão sendo exibidos. Esta é a consulta cursor eu uso

public static Cursor getAllSongsCursor(Context mContext){

    String selection= MediaStore.Audio.Media.DURATION +  >= + minTimeSongLimit;

    String sortBy = SortArgFactory.getSortBy(FactoryConstants.TRACKS);


    Cursor cursor = mContext.getApplicationContext().getContentResolver().query(
            MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
            null,
            selection,
            null,
            sortBy);
    return cursor;
}

Eu não sou capaz de descobrir por que essa consulta cursor não exibe todas as músicas que coincide com a condição de seleção.

Qualquer ajuda será muito apreciada.

(Eu tentei dar vários patches para clientes diferentes, mas quase sempre eles não acompanhar e seu funcionando perfeitamente em todos os nossos cenários de teste)

Publicado 18/12/2018 em 11:12
fonte usuário
Em outras línguas...                            


1 respostas

votos
0

O mediaDatabase você está consultando, naquele momento, não pode ser atualizado (atualizado), por causa de que você não pode ver na mídia solicitada.

Você pode acionar a mídia de atualização. Por favor, ter olhar para a questão abaixo.

Como posso atualizar MediaStore no Android?

trecho de código a partir da pergunta acima

MediaScannerConnection.scanFile(
    context, 
    new String[]{ pathToFile1, pathToFile2 }, 
    new String[]{ "audio/mp3", "*/*" }, 
    new MediaScannerConnectionClient()
    {
        public void onMediaScannerConnected()
        {
        }
        public void onScanCompleted(String path, Uri uri)
        {
        }
    });
Respondeu 18/12/2018 em 11:17
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more