我很抱歉,如果这原来是一个愚蠢的问题,它可能会成为一个快速修复,但我只是无法弄清楚。我在android studio中创建了音乐播放器,并且没有任何sdcard上的歌曲不会显示在列表视图中,只有内部内存中的歌曲才会显示,即使我实现了getExternalStorageDirectory()并将该权限添加到清单文件中。关于这种或建设性批评的任何意见都非常令人失望。这是主要的java类。Android Studio音乐播放器无法读取SD卡,只有内部存储器

public class MainActivity extends AppCompatActivity {

ListView lv;

String[] items;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

lv = (ListView) findViewById(R.id.lvPlayList);

//---------------------------------------------> V HERE V

final ArrayList mySongs = findSongs(Environment.getExternalStorageDirectory());

//----------------------------------------------------------------------------------

items = new String[ mySongs.size() ];

for(int i = 0; i

toast(mySongs.get(i).getName().toString());

items[i] = mySongs.get(i).getName().toString().replace(".mp3", "").replace(".wav", "");

}

ArrayAdapter adp = new ArrayAdapter<>(getApplicationContext(), R.layout.song_layout, R.id.textView, items);

lv.setAdapter(adp);

lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {

@Override

public void onItemClick(AdapterView> parent, View view, int position, long id) {

startActivity(new Intent(getApplicationContext(), Player.class).putExtra("pos",position).putExtra("songlist",mySongs));

}

});

}

public ArrayList findSongs(File root) {

ArrayList al = new ArrayList<>();

File[] files = root.listFiles();

for(File singleFile : files) {

if(singleFile.isDirectory() && !singleFile.isHidden()) {

al.addAll(findSongs(singleFile));

} else {

if(singleFile.getName().endsWith(".mp3") || singleFile.getName().endsWith(".wav")) {

al.add(singleFile);

}

}

}

return al;

}

public void toast(String text) {

Toast.makeText(getApplicationContext(), text, Toast.LENGTH_SHORT).show();

}

}

2016-07-06

Konrad

+0

使用棉花糖6.0 ?? –

+0

最低的API 10,姜饼,虽然使用冰淇淋三明治设备。 –

android 音乐播放器 获取sd卡所有音乐文件,Android Studio音乐播放器无法读取SD卡,只有内部存储器...相关推荐

  1. android 扫描所有图片格式,Android获取本机各种类型文件列表(音乐、视频、图片、文档等)...

    介绍 本篇介绍Android获取本机各种类型文件的方法,已经封装成工具类,末尾有源码下载地址. 提示 获取音乐.视频.图片.文档等文件是需要有读取SD卡的权限的,如果是6.0以下的系统,则直接在清单文 ...

  2. html javascript 音频、视频、 mp3 、mp4 的播放、暂停、重新播放、获取音频时长、视频自动全屏播放

    html javascript 音频.视频. mp3 .mp4 的播放.暂停.重新播放.获取音频时长 视频 https://www.bilibili.com/video/BV1WE411o7Ft?fr ...

  3. 魅蓝3 官方android系统,魅蓝3获取ROOT权限及刷入Android系统过程

    首先感谢制作魅蓝3  Android ROM的大神----眷恋阳阳 想必很多人跟我一样,在购买了魅蓝3之后发现系统是YunOS,且官方固件没有Android版本,魅族官方也没有给用户开放"获 ...

  4. Android截图apk,PC获取手机截图、复制文件、安装APK

    PC获取手机截图.复制文件.安装APK 我在eoe上的帖子的链接 PC获取手机截图.复制文件.安装APK http://www.eoeandroid.com/thread-324986-1-1.htm ...

  5. android 中如何用aes算法加密解密zip文件,android中AES加解密的使用方法

    今天在android项目中使用AES对数据进行加解密,遇到了很多问题,网上也找了很多资料,也不行.不过最后还是让我给搞出来了,这里把这个记录下来,不要让别人走我的弯路,因为网上绝大多数的例子都是行不通 ...

  6. iphone 投屏到android,苹果安卓手机投屏之(二)——音频文件在电视上播放

    上次发布了一篇电脑投屏视频文件到电视的文章,有朋友看了以后私信我说手机如何投屏到电视,不止要投视频,还要投音频和手机桌面. 今天我们就来说说如何手机投屏那些功能. 由于内容比较多,所以分成几个部分来写 ...

  7. android apk反编译(获取源码,资源文件等)

    android apk反编译,是让你可以去借鉴别人的应用是怎么开发的,那些漂亮的动画和精致的布局是怎么实现的 一.当然我们也需要借助工具: apktool (资源文件获取,可以提取出图片文件和布局文件 ...

  8. android应用程序永久获取root权限方法,怎么使Android应用程序获得root权限

    一般来说, Android 下的应用程序可以逗直接地得到的最大的权限为 system ,但是如果我们需要在程序中执行某些需要 root 权限的命令,如 ifconfig 等,就需要 root 权限了. ...

  9. Android扫码枪无输入框获取扫码内容(或者Android自助机获取扫码内容)

    公司项目要求获取Android自助机获取扫码内容传给服务器后台,网上查了下和Android扫码枪获取内容一样,不需要添加任何三方sdk,Android原生即可实现.要看到扫码内容,可以在Activit ...

  10. 网易云音乐信息爬取(存储为 csv文件)喜马拉雅音乐爬取

    1. 网易云音乐爬取 分析 源代码 爬取结果, (可使用Excel 表格打开) 2. 喜马拉雅音乐爬取 分析 源代码 爬取结果 获取网易云音乐歌手信息 后续会做一个 网易云音乐爬取 + Tkinter ...

最新文章

  1. linux 五种IO模型 简介
  2. python 字符串前面加u,r,b,f的含义
  3. 修改/etc/sudoers权限后的补救方法
  4. 【CyberSecurityLearning 附】域的复习+小综合实验(重要!)
  5. P2619 [国家集训队]Tree I(WQS二分/带权二分/最小生成树)
  6. 前端 - token 是什么?为什么每次请求头(HEADS)里要携带它?___请求时,为什么要携带token?
  7. Liskon替换原则
  8. Oracle学习总结(9)—— Oracle 常用的基本操作
  9. celery cluser redis_celery结合redis 使用
  10. python自带的解释器和编辑器叫什么_(四)python自带解释器(LDIE)的使用
  11. 决策树模型回归可视化分析_基于Blank Friday商店销售数据分析构建回归模型
  12. 【数字IC设计/FPGA】推挽输出和开漏输出
  13. getMonth()方法
  14. 使用gitbook时graceful-fs报错:TypeError: cb.apply is not a function的解决方案
  15. Log与logcat
  16. flash崩溃未保存!
  17. FPGA学习教程-黑金AX301B
  18. 喝java茶,我为你泡一杯花茶
  19. 【英语词组】恋恋不忘Day7-1
  20. 如何进行文档翻译?文档翻译的软件有哪些?

热门文章

  1. 网站运营手册_新媒体代运营模式价格
  2. 用计算机器提高正确率,计算机作业,正确率要90%
  3. tf initializer
  4. flink 1-个人理解
  5. vue中怎么点击修改文字_Vue.js点击切换按钮改变内容
  6. c语言计算时间的编程,C语言实现时间戳转日期的算法(推荐)
  7. 服务器升级内存跟cpu之后性能更差,云服务器cpu重要还是内存重要
  8. mysql 创建临时表 时间类型_MySQL问答系列之什么情况下会用到临时表
  9. l2的最优回归_【机器学习】逻辑回归(非常详细)
  10. Jetpack Compose学习笔记