diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 14:04:34 -0800 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 14:04:34 -0800 |
commit | 8b1096d1ada329a296059ccff04e5d78eefa77c1 (patch) | |
tree | a19c8e308b038105a4294825c97d30ec667a184e /src/com/android/packageinstaller/PackageUtil.java | |
parent | 2fa4ad8141ed0cb686c7acab27f01e8c2bc2877a (diff) | |
download | android_packages_apps_PackageInstaller-8b1096d1ada329a296059ccff04e5d78eefa77c1.tar.gz android_packages_apps_PackageInstaller-8b1096d1ada329a296059ccff04e5d78eefa77c1.tar.bz2 android_packages_apps_PackageInstaller-8b1096d1ada329a296059ccff04e5d78eefa77c1.zip |
auto import from //depot/cupcake/@132589
Diffstat (limited to 'src/com/android/packageinstaller/PackageUtil.java')
-rw-r--r-- | src/com/android/packageinstaller/PackageUtil.java | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/com/android/packageinstaller/PackageUtil.java b/src/com/android/packageinstaller/PackageUtil.java index b36bcf2b..6dc782de 100644 --- a/src/com/android/packageinstaller/PackageUtil.java +++ b/src/com/android/packageinstaller/PackageUtil.java @@ -118,4 +118,29 @@ public class PackageUtil { } return false; } + + /** + * Returns an intent that can be used to launch the main activity in the given package. + * + * @param ctx + * @param packageName + * @return an intent launching the main activity in the given package + */ + public static Intent getLaunchIntentForPackage(Context ctx, String packageName) { + Intent intent = new Intent(Intent.ACTION_MAIN); + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + PackageManager manager = ctx.getPackageManager(); + Intent intentToResolve = new Intent(Intent.ACTION_MAIN, null); + intentToResolve.addCategory(Intent.CATEGORY_LAUNCHER); + final List<ResolveInfo> apps = + manager.queryIntentActivities(intentToResolve, 0); + // TODO in future add a new tag to application for launchable main activity + for (ResolveInfo app : apps) { + if (app.activityInfo.packageName.equals(packageName)) { + intent.setClassName(packageName, app.activityInfo.name); + return intent; + } + } + return null; + } } |