美文网首页
通过已安装的APP信息操作应用程序

通过已安装的APP信息操作应用程序

作者: Goorwl | 来源:发表于2016-11-27 20:32 被阅读0次

    获取所有已安装程序列表

    PackageManager pm =ctx.getPackageManager();
    List<PackageInfo> packages = pm.getInstalledPackages(0);        //获取已安装的app的基本信息
    
    • 主要属性:
      • info = package.applicationInfo :应用信息对象

      • info.packageName :应用程序包名

      • info.applicationInfo.loadLabel(new PackageManager()).toString() :应用程序名称

      • info.sourceDir :安装路径

      • Drawable icon = info.loadIcon(pm)//图标对象

      • int flags = applicationInfo.flags//标记,也称为 状态机 ,可以记录当前app的一些特性

          if ((flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) > 0) 
              //就认为当前app具备FLAG_EXTERNAL_STORAGE特性
          if ((flags & ApplicationInfo.FLAG_SYSTEM) > 0) {
              //当前app具备FLAG_SYSTEM属性.就是系统程序
        

    通过包名卸载应用程序

    Uri packageUri = Uri.parse("package:" + currentApp.packageName);//包名,指定该应用
    Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageUri);
    startActivityForResult(uninstallIntent, 0);
    
    • 不能卸载系统程序,容易报错

    通过包名打开一个应用程序

    Intent intent = new Intent();
    PackageManager pm = getPackageManager();
    intent = pm.getLaunchIntentForPackage(currentApp.packageName);
     startActivity(intent);
    
    • 如果应用程序没有启动页面,例如个别系统程序,service,receiver等,此时
      intent为空,所以需要判断intent是否为空.

    调用系统分享功能

    Intent intent = new Intent(Intent.ACTION_SEND);
    intent.setType("text/plain");//分享内容的类型, 纯文本
    intent.putExtra(Intent.EXTRA_TEXT, "发现一个非常不错的应用, 赶紧下载哦! 下载地址:https://play.google" +
            ".com/store/apps/details?id=" + currentApp.packageName);//设置分享的文本内容
    startActivity(intent);
    

    打开程序的详细信息页面

    Intent infoIntent = new Intent();
    infoIntent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);        //设置动作过滤器,导向应用程序界面
    Uri uri = Uri.fromParts("package", currentApp.packageName, null);        //设置包名,需要打开的程序
    infoIntent.setData(uri);            //设置数据
    startActivity(infoIntent);

    相关文章

      网友评论

          本文标题:通过已安装的APP信息操作应用程序

          本文链接:https://www.haomeiwen.com/subject/ogynpttx.html