【发布时间】:2016-03-12 02:08:27
【问题描述】:
谁能告诉我们,当我们点击应用程序图标时,android 中的哪个类会启动主启动器 activity? 任何帮助将不胜感激
【问题讨论】:
-
应用程序图标由 Launcher.apk 显示,因此您需要在 AOSP android 源代码或其他可用的启动器 apk 代码中查看该应用程序的代码
标签: android main android-launcher
谁能告诉我们,当我们点击应用程序图标时,android 中的哪个类会启动主启动器 activity? 任何帮助将不胜感激
【问题讨论】:
标签: android main android-launcher
在应用程序清单文件中具有以下intent-filter 的类
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
更多信息请阅读官方文档Starting An Activity
【讨论】:
在清单文件中,您的所有活动都定义为 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>
【讨论】:
<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
【讨论】:
第一次加载应用类
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>
【讨论】: