溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

安卓循環(huán)錄像,檢測內(nèi)存卡容量,少于一定值自動刪除指定文件夾

發(fā)布時間:2020-07-04 06:36:07 來源:網(wǎng)絡(luò) 閱讀:439 作者:海大易小晨 欄目:開發(fā)技術(shù)

循環(huán)錄像,聽起來是不是很高大上,其實原理就是檢測內(nèi)存卡容量,少于一定值就自動刪除指定的文件夾,這個做監(jiān)控或者行車記錄儀會用得著。


/**
	 * 循環(huán)錄像,當(dāng)內(nèi)存卡容量少于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數(shù)量
			long totalBlocks = statfs.getBlockCount();
			// 己使用的Block的數(shù)量
			long availaBlock = statfs.getAvailableBlocks();

			// 獲取當(dāng)前可用內(nèi)存容量,單位: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, "請插入內(nèi)存卡", Toast.LENGTH_SHORT).show();
		}
	}


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI