0

I've written a custom Launcher and it works pretty nice. The Launcher has some pages filled with applications. I want to implement, that the variable that represents the page number is set to 0, if the homebutton is pressed. So if you are on a different page of the launcher and press the homebutton, you enter the starting page. I've searched a lot, but couldn't find an answer that worked for me. I've set the app as an launcher in the manifest.

   <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.HOME" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>

Is it possible to achieve this? Just change the value of one variable, if the home button is pressed and leave the rest of the home button, as it is.

Kara
  • 6,115
  • 16
  • 50
  • 57
Julian
  • 909
  • 8
  • 21

1 Answers1

3

For everybody who want to do the same thing. that's the way i solved it: I added the following to the manifest:

<activity
    android:launchMode="singleTask"
    android:clearTaskOnLaunch="true"
    android:stateNotNeeded="true">

and wrote this into the java activity:

@Override
protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    if (Intent.ACTION_MAIN.equals(intent.getAction())) {
        final boolean alreadyOnHome =
                ((intent.getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT)
                        != Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
        if (alreadyOnHome) {
            Log.d("whatever", "Home pressed");
        }
    }
}

I got it from here: CyanogenMod trebuchet

Julian
  • 909
  • 8
  • 21