获取手机内所有应用程序。

 参考了sdk sample 里的 HOME 。 

  
  
  
  
  1. //判断是否为系统自带的。    
  2. private boolean isSystem(ResolveInfo info) 
  3.     { 
  4.         return (info.activityInfo.applicationInfo.flags & android.content.pm.ApplicationInfo.FLAG_SYSTEM) != 0
  5.     } 
  6.  
  7. //得到手机内所有应用程序。 
  8.     private List<ResolveInfo> loadapp() 
  9.     { 
  10.         Intent intent = new Intent(Intent.ACTION_MAIN); 
  11.         intent.addCategory(Intent.CATEGORY_LAUNCHER); 
  12.         PackageManager pm = getPackageManager(); 
  13.         List<ResolveInfo> queryIntentActivities = pm.queryIntentActivities( 
  14.                 intent, 0); 
  15.         return queryIntentActivities; 
  16.     } 

 

   
   
   
   
  1. //启动相应的应用程序。关键代码 
  2.                 Intent intent = new Intent(Intent.ACTION_MAIN); 
  3.                 intent.addCategory(Intent.CATEGORY_LAUNCHER); 
  4.                 intent.setComponent(new ComponentName( 
  5.                         info.activityInfo.applicationInfo.packageName, 
  6.                         info.activityInfo.name)); 
  7.                 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK 
  8.                         | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); 
  9.                 startActivity(intent); 

 

你可能感兴趣的:(应用程序,手机内)