为了账号安全,请及时绑定邮箱和手机立即绑定

当我尝试访问手机的外部存储器时应用程序崩溃

当我尝试访问手机的外部存储器时应用程序崩溃

守着一只汪 2021-06-01 17:43:31
我创建了一个简单的应用程序,它尝试访问手机的外部存储文件并将其显示在警报框中,代码如下所示。btnShowDeviceFolders.setOnClickListener(new OnClickListener() {        @Override        public void onClick(View v) {            CharSequence items[];            final List<String> list = new ArrayList<String>();            final File path =                    Environment.getExternalStoragePublicDirectory                            (                                    //Environment.DIRECTORY_PICTURES                                    Environment.DIRECTORY_DCIM                                    //File.separator +"/"                            );            if(!path.exists())            {                //path.mkdirs();             System.out.println("No file found");            }            String[] files = path.list();            if (files.length == 0) {                //System.out.println("The directory is empty");            } else {                for (String aFile : files) {                    //System.out.println(aFile);                    list.add(aFile);                }            }            items = files;            AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);            builder.setTitle("Select Project Folder");            builder.setItems(items, new DialogInterface.OnClickListener() {                @Override                public void onClick(DialogInterface dialog, int item) {                    Toast.makeText(getApplicationContext(),list.get(item),Toast.LENGTH_LONG).show();                                        }            });            builder.show();        }    });但是这段代码在模拟器上运行良好,它向我列出了存在的文件夹,但是当我apk在我的手机上构建和测试它时它崩溃了(我正在使用 android Oreo 进行测试)。Stacktrace 没有给出任何错误
查看完整描述

3 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

在 android_manifest.xml 文件中授予外部存储器的权限。


查看完整回答
反对 回复 2021-06-02
  • 3 回答
  • 0 关注
  • 157 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信