android 获取另一个apk的信息

来源:技术人生 责任编辑:栏目编辑 发表时间:2013-07-01 08:07 点击:
 /**
  * @return all local plaugins 
  */
 private List<PlauginInfo> findLocalPlugins(){
  PackageManager pm=getPackageManager();
  //List<PackageInfo> pkgs=pm.getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES);
  Intent mainIntent = new Intent("com.android.uxun", null); 
  List<ResolveInfo> allApps=getPackageManager().queryIntentActivities(mainIntent, 0);
  Log.i(TAG, "======allApps.size()==="+allApps.size());
  sLoaclPlugins.clear();
  for(ResolveInfo resolveInfo:allApps){
   String packageName=resolveInfo.activityInfo.packageName;
   ApplicationInfo applicationInfo=resolveInfo.activityInfo.applicationInfo;
   String label=pm.getApplicationLabel(applicationInfo).toString();
   PlauginInfo plug=new PlauginInfo();
   Context context=null;
   try {
    context = createPackageContext(packageName,Context.CONTEXT_IGNORE_SECURITY);
    if(context!=null){
    plug.classId=context.getSharedPreferences("plaugin",MODE_WORLD_READABLE+MODE_WORLD_WRITEABLE).getInt("plauginId",0);
    }
   } catch (NameNotFoundException e) {
    e.printStackTrace();
   }
   plug.description="";
   Drawable drawable=pm.getApplicationIcon(applicationInfo);
   if(drawable!=null){
    plug.icon=((BitmapDrawable)drawable).getBitmap(); 
   }
   plug.intent=new Intent(packageName);
   plug.itemType=0;
   plug.openCount=0;
   plug.postFlag=0;
   plug.title=label;
   int versionCode=0;
   try {
    versionCode = pm.getPackageInfo(packageName,0).versionCode;
   } catch (NameNotFoundException e) {
    e.printStackTrace();
   }
   plug.versionId=versionCode;
   sLoaclPlugins.add(plug);
  }
  /*for(PackageInfo pkg :pkgs){
   if("android.uxun".equals(pkg.sharedUserId)){
    String packageName=pkg.packageName;
    //String prcessName=pkg.applicationInfo.processName;
    String label=pm.getApplicationLabel(pkg.applicationInfo).toString();
    PlauginInfo plug=new PlauginInfo();
    Context context=null;
    try {
     context = createPackageContext(packageName,Context.CONTEXT_IGNORE_SECURITY);
     if(context!=null){
     plug.classId=context.getSharedPreferences("plaugin",MODE_WORLD_READABLE+MODE_WORLD_WRITEABLE).getInt("plauginId",0);
     }
    } catch (NameNotFoundException e) {
     e.printStackTrace();
    }
    plug.description="";
    Drawable drawable=pm.getApplicationIcon(pkg.applicationInfo);

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • Android 完全退出程序
      • 原创:Android应用开发-Andorid歌词秀,含源码
      • android 屏幕保护
      • Android手机软件汉化教程---第四课 dex文件汉化
      • 众多Android 开源项目推荐,给力工作给力学习
      • Android Audio代码分析4
      • Android得到已安装的应用程序信息!
      • Android开发者指南(29) —— USB Host and Accessory
      • Android成长的幕后推手:工程师鲁宾
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1