How to set my Activity as main activity in android? [duplicate]
Asked Answered
L

5

46

I want to create own activity as main activity rather than using default MainActivity.

How can I define that in android manifest?

Latchstring answered 14/3, 2012 at 15:28 Comment(0)
S
73

In your manifest file , use the below code to declare an activity as a launcher activity:

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

From Android Developer docs:

ACTION_MAIN activity: Start up as the initial activity of a task, with no data input and no returned output.

CATEGORY_LAUNCHER: The activity can be the initial activity of a task and is listed in the top-level application launcher`.

Stempien answered 21/8, 2013 at 6:8 Comment(0)
C
16

In AndroidManifest.xml file inside application tag add an activity tag and remove action MAIN from old activity tag set that as default

 <application...... >
    <activity
        android:name=".DefaultActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.DEFAULT" />
        </intent-filter>
    </activity>
    <activity
        android:name=".NewActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

 </application>
Conchitaconchobar answered 14/3, 2012 at 15:38 Comment(2)
what are the uses of main and default; and explain me the differences of bothLatchstring
The "main" activity is the activity that loads first and the rest of your application. Every application can have multiple activities, therefore you can list other activities to load and use later on but you can only have one "main" activity.Alto
G
6

You can use in manifest file:

<activity
    android:name=".DefaultActivity"
    android:label="@string/app_name" 
      android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.DEFAULT" />
    </intent-filter>
</activity>
<activity
    android:name=".NewActivity"
    android:label="@string/app_name" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity> 

It is very important:

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
Gilleod answered 18/9, 2017 at 10:46 Comment(0)
K
3

It's Simple. In your android manifest file add,

<activity
    android:name="Your Activity Name"
    android:label="@string/app_name" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.HOME" />
        <category android:name="android.intent.category.DEFAULT" />
  </intent-filter>
</activity>
Kesler answered 21/8, 2013 at 5:57 Comment(0)
I
1

In Xamarin, you can add MainLauncher = true above class definition like this:

[Activity(Label = "UserActivity", MainLauncher = true)]
public class UserActivity : ListActivity
Instruct answered 1/12, 2016 at 3:55 Comment(1)
@Satan Pandeya That's cool, thanks!Instruct

© 2022 - 2024 — McMap. All rights reserved.