只获得安装的APP

来源:互联网 发布:火车头采集列表js 编辑:程序博客网 时间:2024/04/27 19:56

只获得安装APP,有两种方法:

public class MainActivity extends Activity {private GridView mGridView; private Context mContext; private List<PackageInfo> packages;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mGridView = (GridView)findViewById(R.id.allapps); mContext = MainActivity.this;packages = getPackageManager().getInstalledPackages(0);  //只获取安装的包/* 获取安装APP的另一种方法for(int i=0;i<packages.size();i++) {PackageInfo packageInfo = packages.get(i);if((packageInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM)==0){PackageInfo tmpInfo =new PackageInfo();tmpInfo.appName = packageInfo.applicationInfo.loadLabel(getPackageManager()).toString(); tmpInfo.packageName = packageInfo.packageName;tmpInfo.versionName = packageInfo.versionName;tmpInfo.versionCode = packageInfo.versionCode;tmpInfo.appIcon = packageInfo.applicationInfo.loadIcon(getPackageManager());appList.add(tmpInfo);}}*/mGridView.setAdapter(new GridItemAdapter(mContext, packages)); mGridView.setNumColumns(3);}private class GridItemAdapter extends BaseAdapter{ private Context context;private List<PackageInfo> resInfo; public GridItemAdapter(Context c,List<PackageInfo> res){ context = c;  resInfo = res; }public int getCount() { return resInfo.size(); }public View getView(int position, View convertView, ViewGroup parent) { convertView = LayoutInflater.from(context).inflate(R.layout.application_layout, null); ImageView app_icon = (ImageView)convertView.findViewById(R.id.app_icon);TextView app_tilte = (TextView)convertView.findViewById(R.id.app_title); PackageInfo res = resInfo.get(position); app_icon.setImageDrawable(res.applicationInfo.loadIcon(getPackageManager())); app_tilte.setText(res.packageName);  //APP的包的名字return convertView;}}}

 

0 0
原创粉丝点击