一、启动一个程序

private void startApp() {      // 创建PackageManager对象PackageManager pm = getPackageManager();try {/** flag的作用:标识加载清单文件中的那部分内容,默认不会加载application节点下的内容。* google工程师这样做是为了提升加载的效率,一般我们想获取PackageInfo的信息,大多数获取包名,版本信息等。---懒加载* 一个应用程序中有很多activity节点,如果需要加载activity节点信息,则需要显示的指明。*/PackageInfo infos = pm.getPackageInfo(appInfo.getPackageName(), PackageManager.GET_ACTIVITIES);ActivityInfo[] activities = infos.activities;if (activities != null && activities.length > 0) {               //activities有可能为空,有的应用程序没有activity,比如服务,广播。ActivityInfo activityInfo = activities[0];               //一般activities[0]表示启动activityString className = activityInfo.name;Intent intent = new Intent();                         //启动应用程序intent.setClassName(appInfo.getPackageName(), className);startActivity(intent);} else {Toast.makeText(getApplicationContext(), "亲,不能启动该系统程序", Toast.LENGTH_SHORT).show();}} catch (NameNotFoundException e) {e.printStackTrace();}
}
二、分享应用程序
只要配置了该intent-filter的应用都会接受到该请求。如果其他程序发送分享请求时,想让自己的程序也获得请求,则需要创建一个Activity,并设置动作和数据类型

private void shareApp() {Intent intent = new Intent();intent.setAction("android.intent.action.SEND");intent.addCategory("android.intent.category.DEFAULT");intent.setType("text/plain");                         //发送的类型intent.putExtra(Intent.EXTRA_TEXT, "亲,强烈推荐使用" + appInfo.getApp_name() + "软件,下载地址:http://google.play.com");startActivity(intent);
}

三、卸载应用程序

private void uninstallApp() {Intent intent = new Intent();intent.setAction("android.intent.action.DELETE");intent.addCategory("android.intent.category.DEFAULT");intent.setData(Uri.parse("package:" + appInfo.getPackageName()));startActivityForResult(intent, 0);
}

卸载程序后需要刷新listview显示内容,可以在代码中注册一个广播,用于接受程序卸载完成后系统发送的广播。

private void regesterUninstallReceiver() {UninstallReceiver uninstallReceiver = new UninstallReceiver();IntentFilter filter = new IntentFilter();filter.addAction("android.intent.action.PACKAGE_REMOVED");       //当应用程序被卸载完成后,系统发出的广播动作filter.addDataScheme("package");                                 //android4.0以后需要添加该类型registerReceiver(uninstallReceiver, filter);
}

Android中启动,分享,卸载应用程序相关推荐

  1. 如何从Android中的另一个应用程序启动活动

    我想从我的Android应用程序启动已安装的软件包. 我认为可以使用意图,但是我没有找到一种方法. 有链接,在哪里可以找到信息? #1楼 我知道已经回答了,但是这是我实现类似内容的方法: Intent ...

  2. Android中启动Activity(startActivity)流程图分析

    在上篇博文< Android中ActivityManagerService与应用程序(客户端)通信模型分析>中,我们从宏观架构上掌握 ActivityManagerService与应用程序 ...

  3. Android中启动一个服务,Android服务的两种启动方式

    前言:Service是Android的四大组件之一,也是可执行的程序.服务是Android中实现程序后台运行的解决方案,非常适合去执行那些不需要和用户交互而且还要求长期运行的任务.Service的启动 ...

  4. jdk12源代码文件_在JDK 11中启动单文件源代码程序

    jdk12源代码文件 JEP 330 –启动单文件源代码程序是即将发布的JDK 11(18.9)发行版中令人兴奋的功能之一. 此功能允许直接使用java解释器执行Java源代码. 源代码在内存中编译, ...

  5. 在JDK 11中启动单文件源代码程序

    JEP 330 –启动单文件源代码程序是即将发布的JDK 11(18.9)发行版中令人兴奋的功能之一. 此功能允许直接使用java解释器执行Java源代码. 源代码在内存中编译,然后由解释器执行. 限 ...

  6. Android -- 开机启动无界面后台程序

    简单的说,这是一个没有界面的后台运行的应用程序 而且,还有一功能:开机自启动,启动运行一个服务 程序结构非常简单,两个类,一个是service的扩展类,一个是BroadcastReceiver扩展类 ...

  7. Android企业微信分享到小程序

    1.官方文档 Android应用 - 接口文档 - 企业微信开发者中心https://developer.work.weixin.qq.com/document/path/91196 2.创建应用 登 ...

  8. 解决应用和功能列表中存在已卸载的程序

    现象描述 在测试公司的新产品时,发现卸载该程序后,windows的应用和功能列表中仍有残留的记录.和以往自己在日常使用时遇到情况不同,这些残留记录的修改.删除按钮是可用的而非灰色状态.点击修改或删除, ...

  9. android中的照相机机拍照程序(含连续拍照)

    最近用到了android中的照相机功能,android中实现拍照的方式有两种,一种是调用系统自带的照相机进行拍照,此种方法较为简单,因为是android本身就已经实现了的:另一种就是自己来实现一个拍照 ...

最新文章

  1. Linux各发行版流行度统计数据与排名
  2. SDUT2165:Crack Mathmen(快速幂)
  3. SAP的client概念
  4. Android NDK 环境搭建
  5. SX-BOX试用笔记
  6. shell脚本和常用命令
  7. WebAPI基本封装
  8. Halcon 找圆测量工具
  9. zoom 更改安装位置_如何以Zoom更改会议主持人
  10. 对个人来说,最好的记账方法是什么?
  11. Chinaitlab技术及认证专题大全[第二辑] 09年8月03日更新
  12. 编程实现对率回归,并给出西瓜数据集 3.0α 上的结果.
  13. Ctrl、Alt、Shift常用的电脑快捷键大全(收藏级)
  14. python案例3:货币转换---初级
  15. MySQL5.6 GTID
  16. 入门人工智能历程,学习西瓜书的体验心得
  17. Alibaba Cloud Linux版本linux下mysql8.0安装
  18. Convex Optimization
  19. leetcode 61 旋转链表 c++
  20. 从小沉默寡言,如今做主播“一夜一套房”:不说话的人,一开口就已经赢了!...

热门文章

  1. Anaconda D2L 虚拟环境安装配置
  2. Web页响应式设计的一些解决方案
  3. zabbix告警短信推送
  4. Windows搜索的探索-----001
  5. 汉源高科管理型机架式工业级以太网交换机4个千兆光口+8个千兆combo光电复用口+16个千兆网口
  6. css 环形刻度表示,css3实现环形进度
  7. Echarts-实现结直肠癌知识图谱可视化
  8. python的turtle库画乔治
  9. 【Android-音乐类】音友 免费下载、试听、全网最全的音乐 还不快来白嫖~
  10. 创新/技术/设计的本质,是什么?