解决方案 »
- android初学者求教!!谢谢
- Android能用哪些关于GIS的控件
- 怎么实现android 原生3D gallery 里图片多选功能
- android 数字模拟按键
- 【求助】Android模拟器之间的数据通讯?发现两个模拟器的IP相同
- [android新手]在manifest里修改theme报错
- 大陆安卓手机操作系统的默认字符集是什么?
- 关于在windows下编译vlc-android的问题
- android:hint 在Android平板上不显示
- android 通过HID与PC通信
- android官方的api里面有资源管理器吗?
- 【android】如何实现上拉时,放在ScrollView里的ListView加载
给手机弄了个360root可以删了,但是还是有疑问。网上介绍了两种方法,一个是有root和没有root的,我采用的还是没有root的方法,却删除成功,难道是网上的这段代码的实现其实还是需要获得root权限么?
另外一种是不用权限;一键清理:
private static long getEnvironmentSize()
{
File localFile = Environment.getDataDirectory();
long l1;
if (localFile == null)
l1 = 0L;
while (true)
{
String str = localFile.getPath();
StatFs localStatFs = new StatFs(str);
long l2 = localStatFs.getBlockSize();
l1 = localStatFs.getBlockCount() * l2;
return l1;
}
}PackageManager pm = activity.getPackageManager();
Class[] arrayOfClass = new Class[2];
Class localClass2 = Long.TYPE;
arrayOfClass[0] = localClass2;
arrayOfClass[1] = IPackageDataObserver.class;
Method localMethod = pm.getClass().getMethod("freeStorageAndNotify", arrayOfClass);
Long localLong = Long.valueOf(getEnvironmentSize() - 1L);
Object[] arrayOfObject = new Object[2];
arrayOfObject[0] = localLong;
localMethod.invoke(pm,localLong,new IPackageDataObserver.Stub(){
public void onRemoveCompleted(String packageName,boolean succeeded) throws RemoteException {
// TODO Auto-generated method stub
}});
权限:<uses-permission android:name="android.permission.CLEAR_APP_CACHE" />但为什么360的安全卫士在没有root权限却可以进行清理呢?
第二,360 是假清理,它清理不了 单个程序的缓存,
要先清理缓存,只用一种办法(没有权限) 就是清除所有程序的缓存,
这是用的Android的一个BUG,就是你得程序去申请很大的内存,比如直接申请10G,但是你得内存总共才1G,这时候系统为了满足你得要求,会去全盘清理缓存,清理完了发现还是达不到你得要求,那么就返回失败!!!! 但是,我们的目的已经达成,就是要让他去清理全盘缓存