通过包名判断
public boolean checkBrowser(String packageName) {
if (packageName == null || "".equals(packageName))
return false;
try {
ApplicationInfo info = getPackageManager().getApplicationInfo(
packageName, PackageManager.GET_UNINSTALLED_PACKAGES);
return true;
} catch (NameNotFoundException e) {
return false;
}
}
判断包中的Activity
Intent intent = new Intent(Intent.ACTION_VIEW); intent.setClassName("com.android.settings", //$NON-NLS-1$ "com.android.settings.InstalledAppDetails"); //$NON-NLS-1$ intent.putExtra("com.android.settings.ApplicationPkgName", //$NON-NLS-1$ mCurrentPkgName); List<ResolveInfo> acts = getPackageManager().queryIntentActivities( intent, 0); if (acts.size() > 0) { startActivity(intent); } else { Toast.makeText(this, getString(R.string.failed_to_resolve_activity), Toast.LENGTH_SHORT).show(); }