我正在尝试创建一个能够清除其他应用程序缓存的应用程序,但是我不知道该怎么做。有没有读取该信息的方法,或者我必须遍历所有应用程序目录?我写了一个示例,试图遍历所有应用程序并打开它们的目录,但是我无法创建其目录的File实例(也许我没有必要的权限):
private void appsDirectories(){
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> pkgAppsList = mActivity.getPackageManager().queryIntentActivities( mainIntent, 0);
Log.d("qui","qui");
PackageManager m = mActivity.getPackageManager();
PackageInfo p = null;
String pathDir = "";
for(ResolveInfo app : pkgAppsList){
try {
p = m.getPackageInfo(app.activityInfo.packageName, 0);
pathDir = p.applicationInfo.dataDir;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
File dir = new File(pathDir);
File[] files = dir.listFiles();
Log.d("qui", pathDir);
}
}
我该怎么办?