summaryrefslogtreecommitdiffstats
path: root/src/com/android/packageinstaller/PackageUtil.java
diff options
context:
space:
mode:
authorThe Android Open Source Project <initial-contribution@android.com>2009-03-03 14:04:34 -0800
committerThe Android Open Source Project <initial-contribution@android.com>2009-03-03 14:04:34 -0800
commit8b1096d1ada329a296059ccff04e5d78eefa77c1 (patch)
treea19c8e308b038105a4294825c97d30ec667a184e /src/com/android/packageinstaller/PackageUtil.java
parent2fa4ad8141ed0cb686c7acab27f01e8c2bc2877a (diff)
downloadandroid_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.java25
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;
+ }
}