Android使用代码消除App数据并重新启动设备
/**
* 使用代码消除App数据
* 我们不寻常的清除App数据,中找到相应的App
* 然后选择其清除数据.以下给出代码实现.
*
* 注意事项:
* 1 设备须要root
* 2 该演示样例中删除的是系统级应用
* 2 注意在命令的末尾须要加上换行\n
* 这就相当于我们平时在Dos中输入命令后再换行一样.
* 否则命令不会被运行.
*/
private void cleanData(String packageName){
try {
System.out.println("---> 9527 開始清除 "+packageName);
Process su= Runtime.getRuntime().exec("su");
String cmd ="rm -r "+"/data/data/"+packageName;
cmd = cmd + "\n exit\n";
//以下两句代表重新启动设备
//String cmd ="reboot";
//cmd = cmd + "\n exit\n";
su.getOutputStream().write(cmd.getBytes());
if ((su.waitFor() != 0)) {
throw new SecurityException();
}
} catch (Exception e) {
System.out.println("---> 9527 清除数据时 e="+e.toString());
} }
下面代码更新于:2014年8月10日00:15:36
/**
* 利用代码清除App的数据
* 寻常我们在清除App的数据时,多半在设置中找到相应的App
* 然后选择其清除数据.以下给出代码实现.
*
* 在上面的一段代码中把data/data/packageName下的东西所有删除了.
* 所以须要重新启动设备,由于它的lib都被删除了.
* 在设备重新启动后,会自己主动生成新的lib该系统应用才干够正常执行.
*
* 为了避免重新启动设备,在清理数据时应该不删除lib目录,代码例如以下.
*
*
* 注意事项:
* 1 设备须要root
* 2 该演示样例中删除的是系统级应用
* 2 注意在命令的末尾须要加上换行\n
* 这就相当于我们平时在Dos中输入命令后再换行一样.
* 否则命令不会被执行.
*/
private void cleanData(String packageName){
try {
Process su= Runtime.getRuntime().exec("su");
String cmd = "cd /data/data/"+packageName+";"+"rm -r `ls|grep -v lib`";
System.out.println("------cmd="+cmd);
cmd = cmd + "\n exit\n";
su.getOutputStream().write(cmd.getBytes());
if ((su.waitFor() != 0)) {
throw new SecurityException();
}
} catch (Exception e) {
System.out.println("---> 9527 清除数据时 e="+e.toString());
} }
版权声明:本文博主原创文章,博客,未经同意不得转载。
Android使用代码消除App数据并重新启动设备的更多相关文章
- android软件简约记账app开发day04-记账页面条目的代码书写
android软件简约记账app开发day04-记账页面条目的代码书写 在前三天我们完成了基本的界面展示,从今天开始,我们进入到后台逻辑代码的编写中,今天开发记账条目的代码 我们在主页面点击记一笔图标 ...
- Android系统的五种数据存储形式(二)
之前介绍了Android系统下三种数据存储形式,今天补充介绍另外两种,分别是内容提供者和网络存储.有些人可能认为内存提供者和网络存储更偏向于对数据的操作而不是数据的存储,但这两种方式确实与数据有关,所 ...
- Android 采用post方式提交数据到服务器
接着上篇<Android 采用get方式提交数据到服务器>,本文来实现采用post方式提交数据到服务器 首先对比一下get方式和post方式: 修改布局: <LinearLayout ...
- Android实用代码七段(五)
前言 每次分享意味着每次都有进步,本系列以实用为主,欢迎和我分享和推荐好用的代码段~~ 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯 ...
- Android中突发情况Activity数据的保存和恢复
Android中突发情况Activity数据的保存和恢复 写在前面:在我们的APP使用的过程中,总有可能出现各种手滑.被压在后台.甚至突然被杀死的情况.所以对APP中一些临时数据或关键持久型数据,就需 ...
- 实现android上解析Json格式数据功能
实现android上解析Json格式数据功能,该源码转载于安卓教程网的,http://android.662p.com ,个人感觉还不错的,大家可以看看一下吧. package com.practic ...
- Android学习系列(15)--App列表之游标ListView(索引ListView)
游标ListView,提供索引标签,使用户能够快速定位列表项. 也可以叫索引ListView,有的人称也为Tweaked ListView,可能更形象些吧. 一看图啥都懂了: 1. ...
- Android 常用代码大集合 [转]
[Android]调用字符串资源的几种方法 字符串资源的定义 文件路径:res/values/strings.xml 字符串资源定义示例: <?xml version="1.0&q ...
- Android开发周报:Android L默认加密用户数据
Android开发周报:Android L默认加密用户数据 新闻 <iCloud前车之鉴,Android L默认开启加密功能>:iCloud 艳照风波再起,第二波女星照片流出,大量女星的裸 ...
随机推荐
- Android---53---多线程下载
采用HttpURLConnection HttpURLConnection从继承URLConnection,它也可以被用来发送到指定的网站GET求 POST求. 办法: int getResponse ...
- 设计模式初探3——装饰者模式(Decorator Pattern)
装饰者模式:动态地将责任附加到对象上.若要扩展功能,装饰者提供了比继承更有弹性的替代方案. 适用范围: 1. 须要扩展一个类的功能.或给一个类加入附加职责. 2. 须要动态的给一个对象加入功能,这些功 ...
- Leetcode_191_Number of 1 Bits
本文是在学习中的总结.欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/44486547 Write a function that ...
- JSP生成word文件
1.jsp生成word文件,直接改动jsp格式: <%@ page contentType="application/vnd.ms-word;charset=GB2312"% ...
- 《Linux内核设计与实现》的地址空间读书笔记的过程
1.核心区域进程包括各种内存对象 种内存对象,比方: 1.可运行文件代码能够包括各种内存映射,称为代码段(text section). 2.可运行文件的已初始化全局变量的内存映射,称为数据段(data ...
- Xamarin.Android 入门实例(4)之实现对 SQLLite 进行添加/修改/删除/查询操作
1.Main.axml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns: ...
- 重写onBackPressed方法
android手机back按键响应方法重构: long exitTime = System.currentTimeMillis() - 2000; public void onBackPressed( ...
- TCP和UDP的差别
简单的差别: TCP提供面向连接的.可靠的数据流传输,而UDP提供的是非面向连接的.不可靠的数据流传输. TCP传输单位称为TCP报文段,UDP传输单位称为用户数据报. TCP注重数据安全性,UDP传 ...
- java编程规范之java命名规范
想要成为一个优秀的程序员,首先要培养良好的编程习惯,为了提高代码的可读性,必须有好的命名规范. 这篇文章是小编结合网上的很多资料整理出来的,若有不当或错误的地方,欢迎大家指正 在文章开始前,为方便阅读 ...
- [LeetCode160]Intersection of Two Linked Lists
题目: Write a program to find the node at which the intersection of two singly linked lists begins. ...