2011-03-28 42 views
0

我試圖從默認內容提供程序MediaStore.Audio中將一些參數加載到光標中,但是在調試代碼時它將停止僅在managedQuery中運行。該方法不會比managedQuery運行得更遠。下面是查詢代碼:在Android中使用來自MediaStore.Audio提供程序的信息加載光標

Uri exAudioUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI; 

String[] projection = new String[] { 
    MediaStore.Audio.Media._ID, 
    MediaStore.Audio.Media.DISPLAY_NAME, 
    MediaStore.Audio.Media.DATA, 
    MediaStore.Audio.Media._COUNT, 
}; 
Cursor cExAudio = managedQuery(exAudioUri, projection, null, null, MediaStore.Audio.Media.DISPLAY_NAME + " DESC"); 

我的文檔中讀取,這種方法已被棄用,不應該被使用,但我有我使用的API級別的唯一選擇。

+1

請你能確認其是否返回managedQuery被返回null。 – 2011-03-28 23:54:23

+0

剛剛檢查,在調試過程中managedQuery返回以下異常:android.database.sqlite.SQLiteException:no such column:_count:,while compiling:SELECT _id,_display_name,_data,_count FROM audio ORDER BY _display_name DESC – user673847 2011-03-29 00:45:49

回答

0

如果您從String[] projection刪除 MediaStore.Audio.Media._COUNT應該解決您的問題。

基本上沒有所謂的「_COUNT」列

String[] projection = new String[] { 
    MediaStore.Audio.Media._ID, 
    MediaStore.Audio.Media.DISPLAY_NAME, 
    MediaStore.Audio.Media.DATA 
}; 
+0

謝謝,解決了:) – user673847 2011-03-29 00:54:58

相關問題