我创建了一个应用程序,可以ping一些网页,并在发生故障时发送短信。 但是当DNS不工作时,这个应用程序不会发送短信,因为网页的IP是ex。 www.google.com保存在dns缓存中,我的应用程序仍在使用此IP,因此我没有收到有关此问题的通知。
我尝试过以下方法删除此缓存文件,但没有成功:
static int clearCacheFolder(final File dir, final int numDays) {
int deletedFiles = 0;
if (dir!= null && dir.isDirectory()) {
try {
for (File child:dir.listFiles()) {
//first delete subdirectories recursively
if (child.isDirectory()) {
deletedFiles += clearCacheFolder(child, numDays);
}
//then delete the files and subdirectories in this dir
//only empty directories can be deleted, so subdirs have been done first
//if (child.lastModified() < new Date().getTime() - numDays *DateUtils.DAY_IN_MILLIS) {
if (child.delete()) {
deletedFiles++;
}
//}
}
}
catch(Exception e) {
Log.e(TAG, String.format("Failed to clean the cache, error %s", e.getMessage()));
}
}
return deletedFiles;
}
ublic static void clearCache(final Context context, final int numDays) {
Log.i(TAG, String.format("Starting cache prune, deleting files older than %d days",numDays));
int numDeletedFiles = clearCacheFolder(context.getCacheDir(), numDays);
Log.i(TAG, String.format("Cache pruning completed, %d files deleted", numDeletedFiles));
此代码不会清除应用程序缓存。有谁知道为什么?请帮忙!
此论坛中还有另一篇文章如下:
System.setProperty( "networkaddress.cache.ttl", "0" );
System.setProperty( "networkaddress.cache.negative.ttl", "0" );
我只是想知道上面的代码是否有用,我如何在我的Android代码中使用它?请让我知道!
由于