Manifest中的<activity-alias>的使用
2012-05-29 10:48
357 查看
activity-alias是android里为了重复使用Activity而设计的。
当在Activity的onCreate()方法里,执行getIntent().getComponent().getClassName();得到的可能不是这个Activity的名字,有可能是别名的名字,例如:在AndroidMenifest.xml有如下配置:
[xhtml] view plain
copy
<
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
>
[xhtml] view plain
copy
<
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的onCreate()方法里,执行getIntent().getComponent().getClassName();得到的可能不是这个Activity的名字,有可能是别名的名字,例如:在AndroidMenifest.xml有如下配置:
[xhtml] view plain
copy
<
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
>
[xhtml] view plain
copy
<
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:launchMod属性的使用
- 在AndroidManifest.xml文件中<activity>的android:windowSoftInputMode属性使用
- AndroidMainifest标签使用说明3——<activity-alias>
- <Android>在Activity被非正常杀死并重建时,使用savedInstanceState进行数据恢复的简单实例
- JSP中使用哪个标签允许向<include/>标签传递参数
- <PY><OOP>PyQt和QtDesigner混合使用(一)伯努利试验
- 使用<bean:define >取到bean:write的值,并赋值给java变量
- 为什么使用<!DOCTYPE HTML>
- HDU 1088 (模拟)使用<sstream>模版库
- 使用<a>标签触发JS函数的几种办法
- <车载物联网项目,视频采集传输部分,第二天> 使用ffserver输出视频文件流,并且使用使用命令行终端播放视频文件
- <Android>Application全局变量的使用
- <context:component-scan>使用说明
- <activity>属性设置
- <WIFI>ESP8266定时器的使用(基于安信可SDK)
- sp使用<c:choose>标签来控制内容显示
- 关于spring切面使用<aop:aspectj-autoproxy/>报错的解决方法
- <备忘1000> ffmpeg命令行使用例子
- 当使用JQuery的"$",抛异常Uncaught TypeError: Object #<Object> has no method 'ajax'
- HTML中让图片滚动的<marquee>标签的使用方法