For the application at startup you need to add permission
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
to your manifest. Then do as Vladimir wrote.
To launch another application, you need to know (officially, I hope) the intention to launch it. Otherwise, see My answer to the question triggers an action that is in another package (Android)
For example, launching the LastFM application would be like this:
final Intent i = new Intent("android.intent.action.MAIN"); i.setComponent(new ComponentName("fm.last.android","fm.last.android.LastFm")); startActivity(i);
source share