Application shortcuts:
You can list installed applications with:
final PackageManager pm = getPackageManager();
//get a list of installed apps.
List<ApplicationInfo> 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()
}
If you need more info like app icon check this: How to get a list of installed android applications and pick one to run
Then you can add a Layout with a ListView to the page Fragment/Activity.
Add within the adapter for the ListView the applications you want, and onClick events to create an intent to open them.
I think this is the best way to show a list of applications, with icons etc.
Widgets:
I never seen widgets inside an app, but according to the answer below https://stackoverflow.com/a/8218587/327011 apparently there is a way.
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.