1. 通过包名判断 
  2.  
  3.     public boolean checkBrowser(String packageName) { 
  4.         if (packageName == null || "".equals(packageName)) 
  5.             return false
  6.         try { 
  7.             ApplicationInfo info = getPackageManager().getApplicationInfo( 
  8.                     packageName, PackageManager.GET_UNINSTALLED_PACKAGES); 
  9.             return true
  10.         } catch (NameNotFoundException e) { 
  11.             return false
  12.         } 
  13.     } 
  14.  
  15.  
  16. 判断包中的Activity 
  17.  
  18.  
  19.         Intent intent = new Intent(Intent.ACTION_VIEW); 
  20.         intent.setClassName("com.android.settings"//$NON-NLS-1$ 
  21.  
  22.                 "com.android.settings.InstalledAppDetails"); //$NON-NLS-1$ 
  23.  
  24.         intent.putExtra("com.android.settings.ApplicationPkgName"//$NON-NLS-1$ 
  25.  
  26.                 mCurrentPkgName); 
  27.         List<ResolveInfo> acts = getPackageManager().queryIntentActivities( 
  28.                 intent, 0); 
  29.         if (acts.size() > 0) { 
  30.             startActivity(intent); 
  31.         } else { 
  32.             Toast.makeText(this
  33.                     getString(R.string.failed_to_resolve_activity), 
  34.                     Toast.LENGTH_SHORT).show(); 
  35.         } 

文章出自:http://www.diybl.com/course/3_program/java/javajs/20110318/554531.html