【问题标题】:How to set my Activity as main activity in android? [duplicate]如何将我的活动设置为android中的主要活动? [复制]
【发布时间】:2017-09-29 18:47:26
【问题描述】:

我想创建自己的活动作为主要活动,而不是使用默认的MainActivity

如何在 android manifest 中定义它?

【问题讨论】:

    标签: android android-manifest android-activity main-activity


    【解决方案1】:

    在您的清单文件中,使用以下代码将活动声明为启动器活动:

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

    来自 Android 开发者文档:

    ACTION_MAIN 活动:作为任务的初始活动启动,没有数据输入,也没有返回输出。

    CATEGORY_LAUNCHER:活动可以是任务的初始活动,并列在顶级应用程序启动器中。

    【讨论】:

      【解决方案2】:

      在应用标签内的 AndroidManifest.xml 文件中添加一个活动标签并从旧的活动标签集中删除操作 MAIN,这是默认设置

       <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>
      

      【讨论】:

      • main和default有什么用;并解释一下两者的区别
      • “主要”活动是首先加载的活动,然后是应用程序的其余部分。每个应用程序都可以有多个活动,因此您可以列出其他活动以供稍后加载和使用,但您只能有一个“主要”活动。
      【解决方案3】:

      您可以在清单文件中使用:

      <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> 
      

      这很重要:

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

      【讨论】:

        【解决方案4】:

        这很简单。在你的 android manifest 文件中添加,

        <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>
        

        【讨论】:

          【解决方案5】:

          Xamarin 中,您可以在类定义上方添加MainLauncher = true,如下所示:

          [Activity(Label = "UserActivity", MainLauncher = true)]
          public class UserActivity : ListActivity
          

          【讨论】:

          • @Satan Pandeya 太酷了,谢谢!
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-05-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-09-05
          • 1970-01-01
          相关资源
          最近更新 更多