I think I have a solution figured out. As my limited understanding goes, the launcher always launches Activities with FLAG_ACTIVITY_NEW_TASK, which means the newly launched activity is intended to be the root of a new task. However, if that task already exists with a different Activity at its root, this doesn't work. So, the solution to the example I pasted in my prior post with Activities Foobar1 and Foobar2 would be to give those two Activities different task affinities like so:
... <activity android:name=".Foobar1" android:label="Foobar1" android:taskAffinity=".Foobar1"> ... <activity android:name=".Foobar2" android:label="Foobar2" android:taskAffinity=".Foobar2"> ... Clarifications would be welcome! On Aug 3, 5:48 pm, Bryne McCullough <bryne.mccullo...@gmail.com> wrote: > I'm trying to do the same thing as the original poster: That is, have > one APK, resulting in multiple icons in the Launcher app tray, each > icon launching a different Activity within my APK. Seems like a simple > thing, but it's not working for me. > > I've posted my AndroidManifest.xml below. The behavior I'm seeing is > that I indeed get two icons in the Launcher app tray -- an icon for > Foobar1, and another icon for Foobar2. Both icons work as expected if > they're the first thing I click. That is, icon Foobar1 launches > Activity Foobar1, and icon Foobar2 launches Activity Foobar2. > > However, if I launch Foobar1, then hit the home key (not the back > key!), then try to launch Foobar2, what I get is Foobar1 -- and vice > versa. > > It seems like if either Foobar1 or Foobar2 are already instantiated > within the app's task, and I go back to the Launcher and attempt to > launch either Foobar1 or Foobar2, the Launcher simply brings my > already existing task to the foreground showing whatever Activity was > previously on top. > > Any pointers? Thanks! > > <?xml version="1.0" encoding="utf-8"?> > <manifest xmlns:android="http://schemas.android.com/apk/res/android" > package="com.foobar" > android:versionCode="1" > android:versionName="1.0"> > <application android:icon="@drawable/icon" android:label="Foobar"> > <activity android:name=".Foobar1" android:label="Foobar1"> > <intent-filter> > <action android:name="android.intent.action.MAIN"/> > <category > android:name="android.intent.category.LAUNCHER"/> > </intent-filter> > </activity> > <activity android:name=".Foobar2" android:label="Foobar2"> > <intent-filter> > <action android:name="android.intent.action.MAIN"/> > <category > android:name="android.intent.category.LAUNCHER"/> > </intent-filter> > </activity> > </application> > <uses-sdk android:minSdkVersion="3"/> > </manifest> > > On Jul 8, 9:41 am, Mark Murphy <mmur...@commonsware.com> wrote: > > > Andrew wrote: > > > Curious if this functionality is present on the Android platform. I'm > > > looking to package my apps into a single APK file, which when > > > installed would spawn multiple application icons on the device. All > > > applications would be related and would talk to each other (this part > > > isn't a problem and is working fine). > > > > Can I package multiple related apps in a single APK install file? > > > That depends on what you mean by "app". > > > If you mean multiple icons in the Launcher, sure, no problem. Just have > > all such activities have the standard intent-filter with <action > > android:name="android.intent.action.MAIN" /> and <category > > android:name="android.intent.category.LAUNCHER" />. Every activity with > > that intent filter will show up with an icon. > > > If you want multiple entries in the Manage Applications list in > > Settings, though, that cannot be done AFAIK. > > > In Android, an app = APK. What you are really creating with the multiple > > icons is a single app with multiple user-initiated entry points. > > > -- > > Mark Murphy (a Commons > > Guy)http://commonsware.com|http://twitter.com/commonsguy > > > Warescription: Three Android Books, Plus Updates, $35/Year --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Beginners" group. To post to this group, send email to android-beginners@googlegroups.com To unsubscribe from this group, send email to android-beginners-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-beginners?hl=en -~----------~----~----~----~------~----~------~--~---