获取android设备上的图片问题

新靖界 2014-12-01 11:35:42

U盘插在android设备上后,想获取U盘里面的所有图片,我是从 android的多媒体数据库这个MediaStore里面获取的,在其他平台上可以,就我这个android设备获取不到,代码如下:
imageBtn = (Button) this.findViewById(R.id.musicBtn);
imageBtn.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
ArrayList<String> listImage = new ArrayList<String>();
// 扫描外部设备中的照片
String str[] = { MediaStore.Images.Media._ID,
MediaStore.Images.Media.DISPLAY_NAME,
MediaStore.Images.Media.DATA };
Cursor cursor = MainActivity.this.getContentResolver().query(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, str,
null, null, null);
System.out.println("count = " + cursor.getCount());
while (cursor.moveToNext()) {
System.out.println(cursor.getString(0)); // 图片ID
System.out.println(cursor.getString(1)); // 图片文件名
System.out.println(cursor.getString(2)); // 图片绝对路径
listImage.add(cursor.getString(2));
}
}
});

权限也加了:<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

系统 etc\permissions\platform.xml 文件也改成下面这样了:
<permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
<group gid="sdcard_rw" />
<group gid="media_rw" />
</permission>

但是还是获取不到图片信息,System.out.println("count = " + cursor.getCount()); 这句打印count=0.

求大神指导一二,看是什么问题,是系统的问题吗?

...全文
190 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Birds2018 2014-12-01
  • 打赏
  • 举报
回复
如果是U盘里面的图片,建议读取SDCARD比较保险点,直接读取系统数据库不一定管用,有的机器不能及时刷新数据到数据库。
新靖界 2014-12-01
  • 打赏
  • 举报
回复
引用 1 楼 birdsaction 的回复:
如果是U盘里面的图片,建议读取SDCARD比较保险点,直接读取系统数据库不一定管用,有的机器不能及时刷新数据到数据库。
应该是系统的问题,SD卡插在卡槽里就能扫描到,放到读卡器里插到USB口里就扫描不到,可能是当前系统多媒体数据库不支持扫描USB设备多媒体文件。

80,471

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧