桌面开发,只考虑主要功能,如下敲上就可以完成简陋版本

AndroidManifest.xml
主界面:

<intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /><category android:name="android.intent.category.HOME" /><category android:name="android.intent.category.DEFAULT" />
</intent-filter>

获取应用列表

 /*** 获取APP列表** @param context 继承context* @return*/public static List<AppInfo> GetAppList(Context context) {List<AppInfo> list = new ArrayList<AppInfo>();PackageManager pm = context.getPackageManager();Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);List<ResolveInfo> activities = pm.queryIntentActivities(mainIntent, 0);for (ResolveInfo info : activities) {String packName = info.activityInfo.packageName;//去掉桌面应用if (packName.equals(context.getPackageName())) {continue;}//自定义对象,包含了App的4个属性AppInfo mInfo = new AppInfo();mInfo.setIco(drawableToBitmap(info.activityInfo.applicationInfo.loadIcon(pm)));mInfo.setName(info.activityInfo.applicationInfo.loadLabel(pm).toString());mInfo.setPackageName(packName);Intent launchIntent = new Intent();launchIntent.setComponent(new ComponentName(packName,info.activityInfo.name));mInfo.setIntent(launchIntent);list.add(mInfo);}//todo 添加自定义Activity入口return list;}

长按app图标应具有功能:
卸载、隐藏、更换图标、名字、打开设置详情

 /*** 唤起系统的卸载apk功能*/public static void UninstallApk(Context context, Activity activity, String pakename) {try {Uri packageURI = Uri.parse("package:" + pakename);Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI);activity.startActivityForResult(uninstallIntent, 1);} catch (Exception e) {DeBugDialog.debug_show_dialog(context, e.toString(), TAG);}}

打开应用

Intent intent = getPackageManager().getLaunchIntentForPackage(appInfos.get(position).getPackageName());
if (intent != null) {intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);startActivity(intent);
}

打开应用设置界面

Intent intent = new Intent();
intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
intent.setData(Uri.fromParts("package", appInfos.get(position).getPackageName(), null));
startActivity(intent);

Android 桌面应用开发主要代码相关推荐

  1. Android桌面组件开发之实时文件夹(Live_Folders)

    转自:http://zhangkun716717-126-com.iteye.com/blog/813059 实时文件夹是一种用来显示由某个ContentProvider提供的数据信息的桌面组件.要创 ...

  2. ubuntu20.04下搭建android 8.1开发环境

    ubuntu20.04下搭建android 8.1开发环境 代码下载 解压代码 安装工具 编译代码 总结 最近主动失业,在家无聊,想搞块开发板玩玩android 9.0系统,但最后只在闲鱼上入了块fi ...

  3. 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 注入工具收尾操作 | 关闭注入的动态库 | 恢复寄存器 | 脱离远程调试附着 )

    文章目录 一.dlclose 函数简介 二.关闭注入的 libbridge.so 动态库 三.恢复寄存器 四.脱离远程调试附着 一.dlclose 函数简介 dlclose 函数的作用是 卸载一个 指 ...

  4. 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 获取注入的 libbridge.so 动态库中的 load 函数地址 并 通过 远程调用 执行该函数 )

    文章目录 一.dlsym 函数简介 二.获取 目标进程 linker 中的 dlsym 函数地址 三.远程调用 目标进程 linker 中的 dlsym 函数 获取 注入的 libbridge.so ...

  5. 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 获取 linker 中的 dlopen 函数地址 并 通过 远程调用 执行该函数 )

    文章目录 一.dlopen 函数简介 二.获取 目标进程 linker 中的 dlopen 函数地址 三.远程调用 目标进程 linker 中的 dlopen 函数 一.dlopen 函数简介 dlo ...

  6. 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 远程调用 目标进程中 libc.so 动态库中的 mmap 函数 三 | 等待远程函数执行完毕 | 寄存器获取返回值 )

    文章目录 前言 一.等待远程进程 mmap 函数执行完毕 二.从寄存器中获取进程返回值 三.博客资源 前言 前置博客 : [Android 逆向]Android 进程注入工具开发 ( 注入代码分析 | ...

  7. 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 远程调用 目标进程中 libc.so 动态库中的 mmap 函数 二 | 准备参数 | 远程调用 mmap 函数 )

    文章目录 一.准备 mmap 函数的参数 二.mmap 函数远程调用 一.准备 mmap 函数的参数 上一篇博客 [Android 逆向]Android 进程注入工具开发 ( 注入代码分析 | 远程调 ...

  8. 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 调试进程 ATTACH 附着目标进程 | 读取目标函数寄存器值并存档 )

    文章目录 一.调试进程 ATTACH 附着目标进程 二.读取目标函数寄存器值并存档 1.主要操作流程 2.ptrace 函数 PTRACE_GETREGS 读取寄存器值 一.调试进程 ATTACH 附 ...

  9. android百度地图例子,使用百度地图API进行Android地图应用开发(Eclipse)(示例代码)...

    随着基于位置的服务的兴起,地图类App呈现爆发趋势.随着而来的是地图供应商开放大量的API.供开发人员开发基于PC或者移动端的应用程序. 如今我们研究使用百度地图SDK进行Android项目的开发. ...

最新文章

  1. 皮一皮:来看看你是哪一档...
  2. spaugment--生成最小二乘增广矩阵
  3. 病例对照研究和队列研究详解
  4. code的bootstrap如何有提示 vs_如何用DataFocus对Excel表中数据进行分析?
  5. easyui tab 引用html,jQuery插件EasyUI获取当前Tab中iframe窗体对象的方法
  6. Intellij IDEA搭建vue-cli项目
  7. WIFI 网络操作--------------------笔记
  8. 西瓜书+实战+吴恩达机器学习(十三)监督学习之随机森林 Random Forest
  9. 孔浩用的mysql工具_孔浩Java教学系列视频教程
  10. Xshell配合Screen之ssh会话永不断开
  11. 中原银行AI面试记录
  12. 线性系统大作业——0.一阶和二阶倒立摆建模与控制系统设计
  13. 【Try to Hack】veil-evasion免杀
  14. 华为前三季度营收4458亿元;周鸿祎谈程序员35岁就会被淘汰;金山WPS月活用户已超5.7亿 | EA周报...
  15. 如何使用RenderDoc截帧分析Godot
  16. 使用 Prometheus-Operator 监控 Calico
  17. javax.activation:activation:jar:1.0.2
  18. Python制作炫酷的个人足迹地图
  19. ant-design 引入样式及配置 babel-plugin-import 按需加载
  20. DL4J的矩阵处理模块ND4J的常用函数整理

热门文章

  1. 话说时段景住跑来 水浒传
  2. 关于Android Camera的曝光补偿(Exposure Compensation)
  3. android通讯录首字母分类,通讯录获取首字母并以首字母归类返回
  4. 【DLL】clion生成.dll文件、python调用.dll文件
  5. 图观 | 硅谷银行爆雷,从实时图计算的视角谈风控
  6. 九月英语学习之整装出发!
  7. 研报精选230512
  8. oocss_面向对象CSS(OOCSS)的基础
  9. react native友盟app统计
  10. 小程序跨端框架(taro/uni-app/kbone)横评之2020版(对比很到位!!)