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 艳照风波再起,第二波女星照片流出,大量女星的裸 ...
随机推荐
- Sql SUBSTR函数
SUBSTR( ) 从一个字符表达式或备注字段中返回一个字符串.该字符串起始于字符表达式或备注字段的指定位置,到指定数目字符结束. 例如: SUBSTR(“A1”, 1 1]) 结果:A
- uva11600 状压期望dp
一般的期望dp是, dp[i] = dp[j] * p[j] + 1; 即走到下一步需要1的时间,然后加上 下一步走到目标的期望*这一步走到下一步的概率 这一题,我们将联通分块缩为一个点,因为联通块都 ...
- profile与bashrc
/etc/profile./etc/bashrc 是系统全局环境变量设定 ~/.profile,~/.bashrc用户家文件夹下的私有环境变量设定 当登入系统时候获得一个shell进程时.其读取环境设 ...
- WebForm / MVC 源码分析
ASP.NET WebForm / MVC 源码分析 浏览器 Url:https//localhost:6565/Home/Index ,https//localhost:6565/WebForm ...
- windows phone (24) Canvas元素A
原文:windows phone (24) Canvas元素A Canvas元素表示定制一个区域,并可以通过相对坐标定义子元素位置,在一下情况下Canvas是不可见的 Height 属性等于 0. W ...
- Locked ownable synchronizers(转)
public class DeadLock { public static void main(final String[] args) throws Exception { final Object ...
- yum 简介及使用 安装、删除
使用yum装软件很方便,这里简单介绍一下. Yum简介 Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE.CentOS中的She ...
- 【原创】leetCodeOj --- Sliding Window Maximum 解题报告
天,这题我已经没有底气高呼“水”了... 题目的地址: https://leetcode.com/problems/sliding-window-maximum/ 题目内容: Given an arr ...
- ROM签名脚本[原创]
下面的代码是bash脚本来的.需要保存为*.sh后序. # !/bin/bash #usage: signapk.sh [-hs] [zipfile-unsigned | update.zip] #A ...
- zoj 2874 & poj 3308 Paratroopers (最小割)
意甲冠军: 一m*n该网络的规模格.详细地点称为伞兵着陆(行和列). 现在,在一排(或列) 安装激光枪,激光枪可以杀死线(或塔)所有伞兵.在第一i安装一排 费用是Ri.在第i列安装的费用是Ci. 要安 ...