 <p><strong>Application shortcuts:</strong></p> <p>You can list installed applications with:</p> <pre><code>final PackageManager pm = getPackageManager(); //get a list of installed apps. List&lt;ApplicationInfo&gt; packages = pm .getInstalledApplications(PackageManager.GET_META_DATA); for (ApplicationInfo packageInfo : packages) { Log.d(TAG, "Installed package :" + packageInfo.packageName); Log.d(TAG, "Launch Activity :" + pm.getLaunchIntentForPackage(packageInfo.packageName)); }// the getLaunchIntentForPackage returns an intent that you can use with startActivity() } </code></pre> <p>If you need more info like app icon check this: <a href="http://stackoverflow.com/questions/2695746/how-to-get-a-list-of-installed-android-applications-and-pick-one-to-run/8052835#8052835">How to get a list of installed android applications and pick one to run</a></p> <p>Then you can add a Layout with a ListView to the page Fragment/Activity.</p> <p>Add within the adapter for the ListView the applications you want, and onClick events to create an intent to open them.</p> <p>I think this is the best way to show a list of applications, with icons etc.</p> <p><strong>Widgets:</strong> I never seen widgets inside an app, but according to the answer below <a href="http://stackoverflow.com/a/8218587/327011">http://stackoverflow.com/a/8218587/327011</a> apparently there is a way.</p> <p>If you are interested in something a little different... you can instead create a custom Home Screen, and use it instead of custom. This will not be a app.</p>