我正在尝试从 android 播放列表更新专有的 Poweramp 播放列表。
我有
Poweramp 数据库结构
Poweramp content:// uris 可供选择
设法完成了第一步,即将新的 android 播放列表名称添加到 Poweramp 播放列表表中。
曲目的实际文件名
我需要获得:
- 通过查询 folder_files 表的 track_number
我打算通过提供实际文件名“名称”来做到这一点。
这就是我的做法:
ContentResolver resolver = context.getContentResolver();
Uri pampuri= Uri.parse("content://com.maxmpz.audioplayer/FOLDER/");
String projection[] = {"_id","name","track_number" };
String where = "name = ?";
String [] whereVal = "<actual file name as found on sdcard>";
Cursor pmpcursor = resolver.query(pampuri , projection, where, whereVal, null);
更新:进一步的调查表明,在调用 Poweramp 提供程序时会发生一些操作:
我已经明确表示:
Uri pampuri= Uri.parse("content://com.maxmpz.audioplayer/FOLDER/42742/78682");
Cursor pmpcursor = resolver.query(pampuri , projection, null, null, null);
这会导致一些错误。跟踪显示以下内容:
活动管理器 - 为内容提供程序启动 proc com.maxmpz.audioplayer.altunlock 活动线程 -com.maxmpz.audioplayer.altunlock/com.maxmpz.audioplayer.unlock.DataProvider: pid=22736 uid=10055 gids={1015, 3003, 3002 }
发布提供商 - com.maxmpz.audioplayer:com.maxmpz.audioplayer.unlock.DataProvider
数据库实用程序 - 向包裹写入异常
数据库实用程序 - java.lang.NullPointerException
数据库实用程序 - 在 com.maxmpz.audioplayer.unlock
数据库实用程序 - 在 com.maxmpz.audioplayer.unlock.DataProvider.query(":40)
数据库实用程序 - 在 android.content.ContentProvider$Transport.bulkQuery(ContentProvider.java:173)
有任何想法吗 ??