绿色应用市场
当前位置:首页 > 教程笔记 > 正文

uniapp如何清除应用缓存和清除应用数据

发布时间:2024-01-25 08:08:10来源:周小白软件园编辑:本站整理

安卓系统,基本都可以在设置中清除数据,其中有两个选项,一个是清除全部数据,一个是清除缓存。全部数据包括用户数据,是属于彻底的清除,操作后需要重新授予应用权限。而清除缓存则不需要,只是清空了缓存的数据。

e83250b4404fa67af6ee907e1aaa0777_202206171119355657175.png

然而,并不是所有的安卓系统都提供了清除数据的功能,如果没有提供,想要清除数据,则只能采用卸载重装的方法。如果是我们自己写的应用,完全可以在应用中内置清除数据的功能。

以uniapp应用为例

清除缓存功能

function clearAppCacheData() {  	let main = plus.android.runtimeMainActivity();  	let sdRoot1 = main.getCacheDir();  	let filesOne = plus.android.invoke(sdRoot1, "listFiles");  	let lenOne = filesOne.length;  	for (let i = 0; i < lenOne; i++) {  		let filePath = '' + filesOne[i]; // 没有找到合适的方法获取路径,这样写可以转成文件路径  		plus.io.resolveLocalFileSystemURL(filePath, function(entry) {  			if (entry.isDirectory) {  				entry.removeRecursively(function(entry) { //递归删除其下的所有文件及子目录  					console.log('清理文件数据完成')  				}, function(e) {  					console.log(e.message)  				});  			} else {  				entry.remove(function(entry) { //递归删除其下的所有文件及子目录  					console.log('清理文件数据完成')  				}, function(e) {  					console.log(e.message)  				});  			}  		}, function(e) {  			console.log('清理文件数据失败')  		});  	};}plus.cache.clear(() => {  	uni.clearStorage()  	clearAppCacheData()  	if (showMessage) {  		uni.showToast({  			title: '清除缓存成功',  			duration: 1000  		});  	}  	if (callback) {  		setTimeout(() => {  			uni.hideToast()  			callback()  		}, 500)  	}})

清除全部数据

function clearAppUserData() {  	plus.android.importClass("android.app.ActivityManager");  	var Context = plus.android.importClass("android.content.Context");  	var am = plus.android.runtimeMainActivity().getSystemService(Context.ACTIVITY_SERVICE);  	am.clearApplicationUserData();}


相关推荐