为了账号安全,请及时绑定邮箱和手机立即绑定

​android PackageManager的使用如何获取第三方应用程序(包)的信息,求大神指点

​android PackageManager的使用如何获取第三方应用程序(包)的信息,求大神指点

JAVA小学生之祖 2016-08-10 15:23:27
我只写出了系统的应用程序(包)的信息,第三方的没有出来,怎么办,求解public class MainActivity extends Activity { List<AppInfo> appInfos; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ListView listView = (ListView) findViewById(R.id.listView1); appInfos = getData(); AppInfoAdapter aia = new AppInfoAdapter(this); listView.setAdapter(aia); } public List<AppInfo> getData() { List<AppInfo> listAppInfos = new ArrayList<AppInfo>(); PackageManager pm = getPackageManager(); Intent mainIntent = new Intent(Intent.ACTION_MAIN, null); List<ResolveInfo> resolveInfos = pm.queryIntentActivities(mainIntent,PackageManager.MATCH_DEFAULT_ONLY); Collections.sort(resolveInfos,new ResolveInfo.DisplayNameComparator(pm)); if (listAppInfos != null) { listAppInfos.clear(); for (ResolveInfo reInfo : resolveInfos) { String activityName = reInfo.activityInfo.name; String pkgName = reInfo.activityInfo.packageName; String appLabel = (String) reInfo.loadLabel(pm); Drawable icon = reInfo.loadIcon(pm); Intent launchIntent = new Intent(); launchIntent.setComponent(new ComponentName(pkgName,activityName)); AppInfo appInfo = new AppInfo(); appInfo.setAppLabel(appLabel); appInfo.setPkgName(pkgName); appInfo.setAppIcon(icon); listAppInfos.add(appInfo); } } return listAppInfos; } static class ViewHoler { ImageView imageView1; TextView textView1; TextView textView2; } class AppInfoAdapter extends BaseAdapter { LayoutInflater miInflater; public AppInfoAdapter(Context context) { miInflater = LayoutInflater.from(MainActivity.this); } @Override public int getCount() { // TODO Auto-generated method stub return appInfos.size(); } @Override public Object getItem(int arg0) { // TODO Auto-generated method stub return appInfos.get(arg0); } @Override public long getItemId(int arg0) { // TODO Auto-generated method stub return arg0; } @Override public View getView(int arg0, View arg1, ViewGroup arg2) { ViewHoler viewHoler; if (arg1 == null) { viewHoler = new ViewHoler(); arg1 = miInflater.inflate(R.layout.ietm, null); viewHoler.textView1 = (TextView) arg1 .findViewById(R.id.textView1); viewHoler.textView2 = (TextView) arg1 .findViewById(R.id.textView2); viewHoler.imageView1 = (ImageView) arg1 .findViewById(R.id.imageView1); arg1.setTag(viewHoler); } else { viewHoler = (ViewHoler) arg1.getTag(); } viewHoler.textView1.setText(appInfos.get(arg0).getAppLabel()); viewHoler.textView2.setText(appInfos.get(arg0).getPkgName()); viewHoler.imageView1.setImageDrawable(appInfos.get(arg0) .getAppIcon()); return arg1; } public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is // present. getMenuInflater().inflate(R.menu.main, menu); return true; } }}
查看完整描述

1 回答

?
ziom

TA贡献948条经验 获得超1109个赞

获取第三方的?这个不行把

查看完整回答
反对 回复 2016-08-12
  • 1 回答
  • 0 关注
  • 1535 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信