activity-alias是android里为了重复使用Activity而设计的。
当在Activity的onCreate()方法里,执行getIntent().getComponent().getClassName();得到的可能不是这个Activity的名字,有可能是别名的名字,例如:在AndroidMenifest.xml有如下配置:
-
<
activity
-
android:name
=
".TestAndroid"
-
android:icon
=
"@drawable/ic_menu_mark"
>
-
<
intent-filter
>
-
<
action
android:name
=
"android.intent.action.MAIN"
/>
-
<
category
android:name
=
"android.intent.category.LAUNCHER"
/>
-
</
intent-filter
>
-
</
activity
>
-
<
activity-alias
-
android:name
=
"TestAndroidAlias"
-
android:targetActivity
=
"TestAndroid"
-
android:label
=
"testAndroidlias"
-
android:icon
=
"@drawable/ic_launcher_phone"
>
-
<
intent-filter
>
-
<
action
android:name
=
"android.intent.action.MAIN"
/>
-
<
category
android:name
=
"android.intent.category.DEFAULT"
/>
-
<
category
android:name
=
"android.intent.category.LAUNCHER"
/>
-
</
intent-filter
>
-
</
activity-alias
>
这个应用会在桌面上建两个进入点,即建两个可以进入TestAndroid这个Activity的快捷图标。这时getIntent().getComponent().getClassName() 得到的名字就不一样,一个是com.test.TestAndroid,一个是com.test.TestAndroidAlias。
分享到:
相关推荐
然而,有时候开发者可能需要在不改变原始Activity的基础上实现不同的功能或者提供不同的入口,这时Android系统提供的Activity别名(Activity-alias)就能派上用场。本文将详细讲解如何在Android中使用Activity别名,...
本教程将详细讲解如何通过使用`activity-alias`来实现这一目标。 首先,理解`activity-alias`的概念。在AndroidManifest.xml文件中,`<activity>`元素用于定义应用程序中的一个活动,而`<activity-alias>`则是对`...
在Android中,我们不直接修改应用的主Activity来实现这个功能,而是利用`<activity-alias>`标签。`<activity-alias>`是AndroidManifest.xml文件中的一个特殊组件,它可以作为Activity的别名,拥有自己的图标和启动...
使用`<activity-alias>`的一个常见场景是为特定的功能或版本创建快捷方式。例如,你可以为应用中的某个特殊功能创建一个快捷方式,用户可以直接通过这个快捷方式启动该功能,而无需进入主应用界面。或者,如果你的...
在Android开发中,"LauncherDemo"是一个典型的示例,它展示了如何实现动态更换App的桌面图标(icon)以及使用activity-alias技术。这个项目对于理解Android应用的自定义行为和用户体验优化具有重要意义。 首先,...
多Activity适合需要完全独立的功能,Activity-alias适用于需要共享大部分逻辑的情况,而添加快捷方式则适用于外部内容(如网页)的快捷访问。在实际开发中,应根据项目需求和用户体验来权衡选择最合适的方法。
别名(alias) 为安装了应用程序的用户,取个别名来标识。以后给该用户 Push 消息时,就可以用此别名来指定。每个用户只能指定一个别名。 建议:对于同一个应用内部,建议不同用户设置不同的别名,保证用户别名的...
<activity-alias android:name=".PhoneBookIcon" android:targetActivity=".PeopleActivity" android:icon="@drawable/ic_phone_book" android:label="电话本"> <!-- ... --> </activity-alias> <activity-...
</activity-alias> + + <activity android:name="Settings$EthernetSettingsActivity" + android:label="@string/ethernet_settings_title" + android:icon="@drawable/ic_settings_wireless" + android:...
<activity-alias> <intent-filter></intent-filter> <meta-data/> </activity-alias> <intent-filter></intent-filter> <meta-data/> <intent-filter></intent-filter> <meta-data/> <grant-uri-...
3. **使用Activity-Alias** Activity-Alias是一种特殊的组件,它可以指向另一个已注册的Activity,同时拥有自己的配置,如图标、名称和`intent-filter`。当你希望为同一个Activity创建一个不同的外观或入口点时,...
首先利用activity-alias activity-alias,即activity的别名(这里后面代码会用到) name,即别名的名称 enabled,即是否可用,默认 false 否则我们 app 会有多个入口 icon,需要再在桌面显示的图片,即launcher ...
当我们在AndroidManifest.xml文件中配置Activity时,需要使用intent-filter来指定该Activity可以处理哪些Intent。 在解决应用图标不显示的问题中,intent-filter属性设置起着关键作用。通常情况下,我们需要在...
在Android系统中,动态修改应用图标和名称可以通过使用Activity-Alias来实现。Activity-Alias是AndroidManifest.xml文件中的一种标签,可以用来定义多个启动入口。通过设置不同的图标和名称,可以实现多入口配置。 ...
在Android平台上,动态改变App桌面图标的技巧是通过使用`<activity-alias>`标签来实现的。这个功能允许开发者在不更新应用的情况下,为特定活动创建一个别名,从而达到改变用户桌面上应用图标的目地。这种方法尤其...
总结,"android-alias-example"项目可能涉及到如何在Android应用中使用Java编程向特定用户发送通知,包括创建NotificationChannel、构建Notification对象、发送通知以及处理接收端的Intent。如果包含的源代码还有...
同时,可以通过<activity-alias>标签为Activity创建别名,实现不同的入口。 六、Activity的生命周期 理解Activity的生命周期对于正确处理Activity间的跳转至关重要,主要包括onCreate(), onStart(), onResume(), ...
<activity-alias android:name="com.android.contacts.activities.TwelveKeyDialer" android:icon="@drawable/ic_launcher_phone" android:label="@string/launcherDialer" android:targetActivity=...