zoukankan      html  css  js  c++  java
  • 获取手机中所有能启动的程序信息

     1 package com.android.mobilesafe.engine;
     2 
     3 import java.util.ArrayList;
     4 import java.util.List;
     5 
     6 import android.content.Context;
     7 import android.content.Intent;
     8 import android.content.pm.ApplicationInfo;
     9 import android.content.pm.PackageManager;
    10 import android.content.pm.ResolveInfo;
    11 import android.graphics.drawable.Drawable;
    12 
    13 import com.android.mobilesafe.domain.TrafficInfo;
    14 
    15 public class TrafficManagerService {
    16 
    17     private Context context;
    18     private PackageManager pm;
    19     
    20     public TrafficManagerService(Context context) {
    21         // TODO Auto-generated constructor stub
    22         this.context = context;
    23         pm = context.getPackageManager();
    24     }
    25     
    26     /**
    27      * 得到所有能启动的应用
    28      * @return
    29      */
    30     public List<TrafficInfo> getLauncherTrafficInfos(){
    31         List<TrafficInfo> trafficInfos = new ArrayList<TrafficInfo>();
    32         
    33         // 查询所有启动的应用程序
    34         Intent intent = new Intent();
    35         intent.setAction(Intent.ACTION_MAIN);
    36         intent.addCategory(Intent.CATEGORY_LAUNCHER);
    37         
    38         // ResolveInfo 类似于一个IntentFilter
    39         List<ResolveInfo> resolvInfos = pm.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
    40         for (ResolveInfo info : resolvInfos) {
    41             ApplicationInfo appInfo = info.activityInfo.applicationInfo;
    42             Drawable appicon = appInfo.loadIcon(pm);// 获取图标
    43             String appname = appInfo.loadLabel(pm).toString();// 程序名称
    44             String packageName = appInfo.packageName;// 获取程序包名
    45             int uid = appInfo.uid; // 获取程序UID
    46             
    47             trafficInfos.add(new TrafficInfo(appicon, appname, uid, packageName));
    48         }
    49         
    50         return trafficInfos;
    51     }
    52 }
  • 相关阅读:
    HTTP压力测试工具apache的ab的使用方法
    [转]Memcached 协议中英文对照
    [转]Windows下删除.svn文件夹的最简易方法
    [转]50 个便利的 Web 设计工具
    Navicat数据存放位置和备份数据库路径设置
    Silverlight第三方控件
    MVC3.0中使用JQuery.DataTable插件。
    什么是句柄?为什么会有句柄?HANDLE
    WPF内存释放
    ArcGis for wpf 符号渲染
  • 原文地址:https://www.cnblogs.com/androidez/p/2933442.html
Copyright © 2011-2022 走看看