程序的启动、卸载和分享

  1. 启动

     /*** 开启一个应用程序*/
    private void startApk() {PackageManager pm = getPackageManager();try {// 原来的时候我们在得到PakageInfo的时候第二个参数都是设置为0.这个PackageInfo代表的就是某个程序的清单文件,// 默认情况下在解析这个清单文件的时候得到的只是清单文件中的一些版本信息的等这些常用的内容,因为要获取更多的内容需要解析更多的内容,// 就会消耗时间消耗资源,所以默认的时候都是只解析一些常用的,当我们要获取Activity等这些的时候就要给它一个标记,让它知道多解析这些你想要得到的内容,// 如果我们想得到里面的activity或者service等这些啊就必须将第二个参数设置为相应的PackageManager.GET_ACTIVITYS等PackageInfo info = pm.getPackageInfo(selectedAppInfo.getPackname(),PackageManager.GET_ACTIVITIES);ActivityInfo[] activityInfos = info.activities;//获取清单中所有Activity信息的数据if (activityInfos != null && activityInfos.length > 0) {//由于一些服务或者接收者等没有Activity所以这里必须进行判断ActivityInfo activitInfo = activityInfos[0];//清单文件中配置的第一个Activity就是程序的启动ActivityIntent intent = new Intent();intent.setClassName(selectedAppInfo.getPackname(),activitInfo.name);//这个activityInfo就是清单中activity节点的name,这样就能得到Activity的全类名startActivity(intent);} else {Toast.makeText(this, "无法启动应用程序", 0).show();}}
    }
  2. 卸载

    安卓系统提供了程序的卸载Activity,我们只要调用它的卸载就可以了,也是系统的PackageInstaller中的
    Intent intent = new Intent();
    intent.setAction("android.intent.action.VIEW");
    intent.setAction("android.intent.action.DELETE");
    intent.addCategory("android.intent.category.DEFAULT");
    intent.setData(Uri.parse("package:" + selectedAppInfo.getPackname()));//意图的数据必须是package://和包名
    startActivity(intent); 
  3. 分享

    就是启动出来信息的发送页面,将内容给填充进去所以这里要启动系统发送短信的Activity,要用到系统发送短信的Activity

    /*** 分享一个应用程序*/
    private void shareApk() {Intent intent = new Intent();// <intent-filter>// <action android:name="android.intent.action.SEND" />// <category android:name="android.intent.category.DEFAULT" />// <data android:mimeType="text/plain" />// </intent-filter>intent.setAction(Intent.ACTION_SEND);intent.addCategory(Intent.CATEGORY_DEFAULT);intent.setType("text/plain");intent.putExtra(Intent.EXTRA_TEXT,"推荐你使用一款软件,名称为" + selectedAppInfo.getAppName()+ "下载地址:google play xxx,版本:"+ selectedAppInfo.getVersion());startActivity(intent);
    } 

    谷歌工程师在设计这个程序的时候,任何应用程序如果想使用分享的功能都可以通过实现它的Intent来实现,点击的时候可以选择不同的程序,同样也能分享到微博,
    邮件等程序


  • 邮箱 :charon.chui@gmail.com
  • Good Luck!

程序的启动、卸载和分享相关推荐

  1. react组件卸载调用的方法_好程序员web前端培训分享React学习笔记(三)

    好程序员web前端培训分享React学习笔记(三),组件的生命周期 React中组件也有生命周期,也就是说也有很多钩子函数供我们使用, 组件的生命周期,我们会分为四个阶段,初始化.运行中.销毁.错误处 ...

  2. 黑客入侵 应用程序无法启动_被黑客入侵如何启动我的网络安全职业

    黑客入侵 应用程序无法启动 I've always been fascinated by how other Cybersecurity professionals ended up in their ...

  3. 为.NET部署应用程序添加个卸载程序

    地球人都知道.NET自带的部署程序用起来很方便很简单,但.NET部署程序是没有卸载文件. 下面的方法可以很简单的为你的程序添加1个卸载文件,.NET是利用windows Installer来部署程序的 ...

  4. 【Android UI设计与开发】第05期:引导界面(五)实现应用程序只启动一次引导界面

    转载请注明出处:http://blog.csdn.net/yangyu20121224/article/details/8987342  这篇文章算是对整个引导界面开发专题的一个终结了吧,个人觉得大部 ...

  5. chrome应用程序无法启动因为并行配置不正确的处理办法(亲测版本不一样也是类似的操作)

    有使用chrome谷歌浏览器的朋友可能会遇到这样的错误,那就是chrome.exe 应用程序无法启动因为应用程序的并行配置不正确,谷歌浏览器也打不开的情况,那么这一问题要如何解决呢?可能很多朋友不太了 ...

  6. system.img解包打包工具_好程序员云计算学习路线分享文件打包及压缩

    好程序员云计算学习路线分享文件打包及压缩 好程序员 建议针对目录 Demo: 复制未打包的文件到远程主机 [root@yangs ~]# du -sh /etc 39M /etc [root@yang ...

  7. vue如何获取年月日_好程序员web前端教程分享Vue相关面试题

    好程序员web前端教程分享Vue相关面试题,Vue是一套构建用户界面的渐进式框架,具有简单易用.性能好.前后端分离等优势,是web前端工程师工作的好帮手,也是企业选拔人才时考察的重点技能.接下来好程序 ...

  8. exe程序的启动过程

    学习windows 编程从mfc角度来说可分为两部分那就是WinMain函数以前的,和WinMain函数以后的.前者涉及很多windows操作系统内部的知识,后者么看mfc源码就可以了.虽然大多数程序 ...

  9. 应用程序配置不正确,程序无法启动的问题小结

    重装系统之后,开发环境进行重新配置了.因为之前那个环境用了大概有半年多了,所以只是基本的配置作了记录,其他细节的东西并没有以文字方式记录下来.这次运行起来有了一些未遇到过的问题. 问题1:重装系统之前 ...

  10. [Setting]win7下运行exe失败:应用程序无法启动,因为应用程序的并行配置不正确

    win7下运行exe失败:应用程序无法启动,因为应用程序的并行配置不正确 1.问题描述 承接了一个项目,给甲方交接的时候,在它的电脑中运行出现了这个错误. 应用程序无法启动,因为应用程序的并行配置不正 ...

最新文章

  1. 10玩rust_有趣的 Rust 类型系统: Trait
  2. 从零到一编码实现Redis分布式锁
  3. python pywin32 微信_python win32con安装_python-2.7 – 安装pywin32
  4. 计算机课搞事情检讨,上微机课玩游戏检讨书
  5. Learn Python the Hard Way: 字典
  6. 九章云极DataCanvas完成C轮融资:定义标准化AI基础架构未来
  7. 前端每日值得花时间看的博客
  8. mysql 自定义函数入门_【转】MYSQL入门学习之十三:自定义函数的基本操作
  9. 嵌入式Linux系统编程学习之三十一线程的属性
  10. 路由算法之LS算法和DV算法全面分析
  11. python语法学习第十天--类与对象
  12. pymysql数据库使用教程_小白进阶之路,如何使用pymysql直连数据库?
  13. Web2.0与Web3.0的区别是什么
  14. 首个AI数字人唱作歌曲刷屏背后:百度APP数字人度晓晓用AI陪伴亿万用户
  15. 标准正态分布函数数值表
  16. gpart 分区工具
  17. Revit命令名称与命令ID
  18. 魅族MX4安装Ubuntu Touch系统
  19. qq飞车登录不上连接服务器未响应,QQ飞车手游无法登录怎么办 卡在登录界面无法进入...
  20. Unity shader 入门之渲染管线三、空间转换

热门文章

  1. dbf文件怎么还原到oracle中,oracle dbf文件恢复数据
  2. 企业盈利能力五大指标之:净利率
  3. 英语单词常用前缀(21-40)
  4. Office ❀ PPT图形中的合并形状梳理
  5. 点击输入文本框时自动提示邮箱后缀(vue项目)
  6. 世界时间经纬_世界纬度和经度地图
  7. word分节符设置与不同页眉页脚页码设置
  8. 计算机丢失deferrd.dll怎么解决,被Defer后怎么办?如何在RD调整策略绝地反击?!...
  9. Word2016怎么插入页眉页脚?Word2016页眉页脚添加教程
  10. Keil 全局变量定义与声明方法