【问题标题】:which class lauches Android main launcher activity哪个类启动 Android 主启动器活动
【发布时间】:2016-03-12 02:08:27
【问题描述】:

谁能告诉我们,当我们点击应用程序图标时,android 中的哪个类会启动主启动器 activity? 任何帮助将不胜感激

【问题讨论】:

  • 应用程序图标由 Launcher.apk 显示,因此您需要在 AOSP android 源代码或其他可用的启动器 apk 代码中查看该应用程序的代码

标签: android main android-launcher


【解决方案1】:

在应用程序清单文件中具有以下intent-filter 的类

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

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

更多信息请阅读官方文档Starting An Activity

【讨论】:

    【解决方案2】:

    在清单文件中,您的所有活动都定义为 Like

    <activity android:name=".Activity_A">
            </activity>
    <activity android:name=".Activity_B">
            </activity>
    <activity android:name=".Activity_C">
            </activity>
    

    如果我想 Activity B 是启动器活动,我只需将 Intent 过滤器粘贴到 Activity B Like 中

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

    【讨论】:

      【解决方案3】:
          <activity
              android:name=".MainActivity"
              android:label="@string/app_name"
              android:theme="@style/AppTheme.NoActionBar" >
              <intent-filter>
                  <action android:name="android.intent.action.MAIN" />
      
                  <category android:name="android.intent.category.LAUNCHER" />
              </intent-filter>
          </activity>
      

      指定活动、服务或广播接收器可以响应的意图类型。意图过滤器声明其父组件的功能——活动或服务可以做什么以及接收器可以处理哪些类型的广播。它打开组件以接收广告类型的意图,同时过滤掉那些对组件没有意义的意图。 过滤器的大部分内容由其操作、类别和数据子元素描述。更多详情请查看link

      【讨论】:

        【解决方案4】:

        第一次加载应用类

           class MyApplication extends Application {
            }
        

        加载LauncherActivity("android.intent.category.LAUNCHER")后

           class MainActivity  extends Activity {
            }
        
         <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
        
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-07-28
          • 2012-02-14
          • 1970-01-01
          • 1970-01-01
          • 2016-03-08
          • 1970-01-01
          相关资源
          最近更新 更多