Android--卸载应用

获取应用列表:

 List<PackageInfo> packages = getPackageManager().getInstalledPackages(0);
        for (PackageInfo i : packages) {
            if ((i.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0) {
                this.packages.add(i);
            }   

        }

卸载应用:

 public void uninstall(PackageInfo info){
        Intent intent = new Intent();
        intent.setAction(Intent.ACTION_DELETE);
        intent.setData(Uri.parse(String.format("package:%s", info.packageName)));
        startActivity(intent);
    }

安装应用:

  public void install(View v){
        Intent intent = new Intent();
        intent.setAction(Intent.ACTION_VIEW);
        File file = new File(Environment.getExternalStorageDirectory(),"XXX.apk");
        intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive");
        startActivity(intent);
    }

  

时间: 2024-11-05 13:46:36

Android--卸载应用的相关文章

Android卸载程序之后跳转到指定的反馈页面

今天去面试,一面还可以,到了第二面的时候也差不多吧,最后来了一题,说那个360被卸载之后会跳转到指定的反馈页面,是怎么弄的?这个之前没有研究过,但是这个效果是见过的.当时想到了,Android中卸载应用的时候会发送一个广播,我们可以接收到这个广播,然后处理一下.结果他来个反问句:这样可以吗?然后仔细想想,既然他这么问了,应该是有问题,在想想,发现的确是有问题,当应用被卸载了,那个接收到广播处理之后的逻辑代码放在那里执行?好吧,然后就没戏了~~ 回来了,就百度了一下,果然网上似乎有相关的问题的解答

android卸载反馈实现

博客原地址:http://blog.csdn.net/wang_shaner/article/details/41543787 实现原理 fork分叉函数 fork分叉(分裂)函数可以创建一个新进程, 并且新创建出来的进程(子进程)拥有创建它的那个进程(父进程)的数据空间, 堆栈资源等的拷贝. 并且相互不影响. (跟fork zha弹原理一样) 返回值会返回两次, 但有三种情况: 在父进程中, fork返回新创建子进程的进程ID. 在子进程中, fork返回0. 如果出现错误, fork返回一个

android 卸载程序、清除数据、停止服务用法

要实现卸载程序.清除数据.停止正在执行的服务这几大模块,如今将代码粗略总结例如以下: 主要运用到的类有 PackageManager ActivityManager ApplicationInfo RunningServiceInfo Method 还有两个android.pm下的源文件用于生成桩,IPackageStatsObserver.java 和 IPackageDataObserver.java,由名字能够看出,他们是跟包的状态和大小有关的,在网上找到这两个文件的源代码后,把他们放在p

android 卸载程序、清除数据、停止服务使用方法

要实现卸载程序.清除数据.停止正在运行的服务这几大模块,现在将代码粗略总结如下: 主要运用到的类有 PackageManager ActivityManager ApplicationInfo RunningServiceInfo Method 还有两个android.pm下的源文件用于生成桩,IPackageStatsObserver.java 和 IPackageDataObserver.java,由名字可以看出,他们是跟包的状态和大小有关的,在网上找到这两个文件的源码后,把他们放在工程sr

Android采用pm命令静默卸载应用

卸载app的方式有多种,可以直接调用android系统的卸载程序,但是这样会调出android卸载提示框,问题就是真的不好看. 所以采用静默卸载的方式,避免弹出系统提示框. 方法一(调用系统卸载程序): 1 //卸载应用 2 Uri packageURI = Uri.parse("package:" + pkgName); 3 Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI); 4 startAc

Android 教程

Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发.尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”.Android操作系统最初由Andy Rubin开发,主要支持手机.2005年8月由Google收购注资.2007年11月,Google与84家硬件制造商.软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统.随后Google以Apache开源许可证的授权方式,发布了An

Android代码速查,写给新手的朋友们[转]

原文地址:http://www.open-open.com/lib/view/open1397286499090.html 0 android 创建按钮 Button button = new Button(this); 1 android 创建输入框 EditText editText = new EditText(this); 2 android 创建文本 TextView textView = new TextView(this); 3 android 设置文本显示内容TextView t

Android程序如何创建及安装卸载

1.创建项目 菜单 -> File -> New -> Other -> Android -> Android Application Project 一路向下NEXT,选择Create Activity时选择Empty Activity(空) 注:创建项目时不可使用中文,以上图片仅为演示. 2.编译运行 菜单 -> Run -> Run As -> Android Application 手动卸载如下 Settings -> Applications

android项目启动应用,卸载应用,分享

卸载应用 if(app.isUser()){ Uri uri = Uri.parse("package:" + app.getPageName()); Intent deleteIntent = new Intent(); deleteIntent.setType(Intent.ACTION_DELETE); deleteIntent.addCategory("android.intent.category.DEFAULT"); deleteIntent.setDa

解决android中的eclipse升级问题,adt不能更新也无法卸载

今天不小心手贱,SDK老是提示更新,点击更新后,发现eclipse不能用,必须把adt更新到23.0.0才能使用,但是新问题又来了,google官网已被屏,无法下载,只好网上下载离线adt,然后安装的时候发现新问题. 必须要先卸载原先老的adt 先点击help----about..... 点击最下面的按钮Installation Details 然后把android adt卸载就好了 重点这里:因为我之间直接在goole官网下载的一个整的安装包,相信很多童鞋和我一样,到这里傻眼了       这