当前位置:网站首页>清除app data以及获取图标
清除app data以及获取图标
2022-07-05 20:36:00 【菜鸟xiaowang】
1.清除data
需要 配置权限
<uses-permission android:name="android.permission.ACCESS_INSTANT_APPS"/>
public static boolean clearData(String pkg){
Context context = HwContext.getContext();
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
am.clearApplicationUserData(pkg,null);
return true;
}
或者
try {
Process exec = Runtime.getRuntime().exec("pm clear " + pkg);
exec.getInputStream().read(clearDataResult);获取结果
} catch (IOException e) {
e.printStackTrace();
}
2.获取app 图标
PackageManager pm = getPackageManager();
PackageInfo packageInfo = null;
try {
packageInfo = pm.getPackageInfo(getPackageName(),0);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
Drawable drawable = packageInfo.applicationInfo.loadIcon(pm);
保存icon
Drawable icon = t.getIcon();
File file = new File("icon.png");
try {
Bitmap bm = drawableToBitmap(icon);
FileOutputStream out = new FileOutputStream(file);
bm.compress(Bitmap.CompressFormat.PNG, 90, out);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
public Bitmap drawableToBitmap(Drawable drawable) {
Bitmap bitmap = Bitmap.createBitmap(
drawable.getIntrinsicWidth(),
drawable.getIntrinsicHeight(),
drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565);
Canvas canvas = new Canvas(bitmap);
// canvas.setBitmap(bitmap);
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(),drawable.getIntrinsicHeight());
drawable.draw(canvas);
return bitmap;
}
3.模拟点击事件
public void constructClickEvent(int x,int y){
List<String> commands = new ArrayList<String>();
commands.add("input");
commands.add("tap");
commands.add("" + x);
commands.add("" + y);
try {
Process start = new ProcessBuilder(commands).start();
} catch (IOException e) {
e.printStackTrace();
}
}
4.模拟滑动事件
public void constructSlideEvent(int x,int y,int newX,int newY){
InputStream is = null;
ByteArrayOutputStream baos = null;
List<String> commands = new ArrayList<String>();
commands.add("input");
commands.add("swipe");
commands.add("" + x);
commands.add("" + y);
commands.add("" + newX);
commands.add("" + newY);
ProcessBuilder pb = new ProcessBuilder(commands);
try {
Process prs = pb.start();
} catch (IOException e) {
e.printStackTrace();
}
}
边栏推荐
- Rainbond 5.7.1 支持对接多家公有云和集群异常报警
- Leetcode brush question: binary tree 13 (the same tree)
- 【数字IC验证快速入门】1、浅谈数字IC验证,了解专栏内容,明确学习目标
- 科普|英语不好对NPDP考试有影响吗 ?
- 小程序项目结构
- 2020 CCPC Weihai - A. golden spirit (thinking), D. ABC project (big number decomposition / thinking)
- Common view container class components
- [quick start of Digital IC Verification] 3. Introduction to the whole process of Digital IC Design
- Duchefa丨D5124 MD5A 培养基中英文说明书
- Leetcode brush questions: binary tree 18 (largest binary tree)
猜你喜欢
[quick start of Digital IC Verification] 3. Introduction to the whole process of Digital IC Design
【数字IC验证快速入门】2、通过一个SoC项目实例,了解SoC的架构,初探数字系统设计流程
信息学奥赛一本通 1339:【例3-4】求后序遍历 | 洛谷 P1827 [USACO3.4] 美国血统 American Heritage
Fundamentals - configuration file analysis
Leetcode (695) - the largest area of an island
Frequent MySQL operations cause table locking problems
鸿蒙系统控制LED的实现方法之经典
Classic implementation of the basic method of intelligent home of Internet of things
14、Transformer--VIT TNT BETR
Abnova丨 MaxPab 小鼠源多克隆抗体解决方案
随机推荐
14、Transformer--VIT TNT BETR
CVPR 2022 | common 3D damage and data enhancement
Unity editor extended UI control
【数字IC验证快速入门】8、数字IC中的典型电路及其对应的Verilog描述方法
14、Transformer--VIT TNT BETR
Redis唯一ID生成器的实现
Informatics Olympiad 1338: [example 3-3] hospital setting | Luogu p1364 hospital setting
Schema and model
小程序项目结构
Make Jar, Not War
强化学习-学习笔记4 | Actor-Critic
Welcome to the game and win rich bonuses: Code Golf Challenge officially launched
【刷题记录】1. 两数之和
Hongmeng OS' fourth learning
CCPC 2021 Weihai - G. shinyruo and KFC (combination number, tips)
2.8、项目管理过程基础知识
Duchefa细胞分裂素丨二氢玉米素 (DHZ)说明书
[quick start of Digital IC Verification] 6. Quick start of questasim (taking the design and verification of full adder as an example)
小程序全局配置
如何形成规范的接口文档