Android 判断udisk是否mount上

本文介绍了一种方法来检查U盘是否已正确挂载,并获取其存储状态。通过使用Java的Environment类和Runtime.exec方法,实现U盘挂载状态的判断和存储信息的获取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


            File udiskDir = Environment.getExternalUDiskStorageDirectory();
            String udiskDirStr = udiskDir.getAbsolutePath();

            String state = Environment.getStorageState(udiskDir);
            Log.i(TAG,udiskDirStr + " state: " + state);
            if(Environment.MEDIA_MOUNTED.equals(state)){

                Log.i(TAG, udiskDirStr + " mounted");
            }



笨方法: 执行 df 判断          


            boolean udiskMounted = false;
            {
                String s = null;

            try {
                Log.d(TAG, "On RunCommand");
                Process p = Runtime.getRuntime().exec("df");

                BufferedReader stdInput = new BufferedReader(new
                        InputStreamReader(p.getInputStream()));


                // read the output from the command
                while ((s = stdInput.readLine()) != null) {
                    Log.d(TAG, "Read output: " +s);
                    if (s.contains(udiskDirStr)){

                    udiskMounted = true;
                    break;
                    }
                }

            } catch (IOException e) {
                e.printStackTrace();
                }

            }

            if ( !udiskMounted){

                Toast.makeText(getActivity(), getString(R.string.log_msg_udisk_notok), Toast.LENGTH_LONG).show();
                return;
            }



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值