温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》
  • 首页 > 
  • 教程 > 
  • 开发技术 > 
  • 安卓循环录像,检测内存卡容量,少于一定值自动删除指定文件夹

安卓循环录像,检测内存卡容量,少于一定值自动删除指定文件夹

发布时间:2020-07-04 06:36:07 来源:网络 阅读:448 作者:海大易小晨 栏目:开发技术

循环录像,听起来是不是很高大上,其实原理就是检测内存卡容量,少于一定值就自动删除指定的文件夹,这个做监控或者行车记录仪会用得着。


/**
	 * 循环录像,当内存卡容量少于300M时,自动删除视频列表里面的第一个文件
	 */
	private void xunhuanluxiang() {
		if (Environment.getExternalStorageState().equals(
				Environment.MEDIA_MOUNTED)) {
			File path = Environment.getExternalStorageDirectory();
			// 取得sdcard文件路径
			StatFs statfs = new StatFs(path.getPath());
			// 获取block的SIZE
			long blocSize = statfs.getBlockSize();
			// 获取BLOCK数量
			long totalBlocks = statfs.getBlockCount();
			// 己使用的Block的数量
			long availaBlock = statfs.getAvailableBlocks();

			// 获取当前可用内存容量,单位:MB
			long sd = availaBlock * blocSize / 1024 / 1024;
			if (sd < 300) {
				String filepath = (Environment.getExternalStorageDirectory()
						.getAbsolutePath() + "/video/");
				File file = new File(filepath);
				if (!file.exists()) {
					file.mkdirs();
				}
				File[] files = file.listFiles();
				if (files.length > 0) {
					String childFile[] = file.list();
					String dele = (filepath + childFile[0]);
					File file2 = new File(dele);
					file2.delete();
				}
			}

		} else if (Environment.getExternalStorageState().equals(
				Environment.MEDIA_REMOVED)) {
			Toast.makeText(this, "请插入内存卡", Toast.LENGTH_SHORT).show();
		}
	}


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI