AndroidManifest.xml里加入不同package的component (Activity、Service里android:name里指定的值一般为句号加类名),可以通过指定完全类名(包名+类名)来解决
我们都知道对于多个Activity如果在同一个包中,在Mainfest中可以这样注册
- <span style="font-size: small;"><?xml version="1.0" encoding="utf-8"?>
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.trinea.sns.activity"
- android:versionCode="1"
- android:versionName="1.0">
- <uses-sdk android:minSdkVersion="3" />
- <uses-permission android:name="android.permission.INTERNET" />
- <application android:icon="@drawable/icon" android:label="@string/app_name">
- <activity android:name=".UpdateStatusActivity"
- android:label="@string/app_name">
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
- <activity android:name=".ViewSnsActivity"
- android:label="@string/app_name">
- </activity>
- </application>
- </manifest></span>
上面的UpdateStatusActivity和ViewSnsActivity同样在包com.trinea.sns.activity下面可以如此定义,但如果
UpdateStatusActivity在包com.trinea.sns.activity下,而ViewSnsActivity在包com.trinea.sns.activity2下面怎么办呢
每一个Activity、Service等应用程序组件都会对应AndroidManifest.xml文件中的一个<activity>、<service>标签。在这些标签中有一个必选的属性:android:name,该属性需要指定一个类名,像上面的.UpdateStatusActivity和android.intent.action.MAIN。大家发现这两个有什么不同了吗,对了。第一个是.的方式而第二个是全路径的方式。指定android:name属性值有3种方式,如下:
1. 指定完全的类名(packagename+classname),例如,net.blogjava.mobile.Main。
2. 只指定类名,例如,.Main,其中Main前面的“.”是可选的。该类所在的包名需要在<manifest>标签的package属性中指定。
3. 指定相对类名,这种方式类似于第2种方式,只是在<activity>标签的android:name属性中不光指定类名,还有部分包名。例如,如果Main类在net.blogjava.mobile.abcd包中,就可以在<manifest>标签的package属性中指定net.blogjava.mobile,然后在<activity>标签的android:name属性中指定.abcd.Main。
由此可见,package的目的是为了更方便地指定android:name以及其他相关属性的值,就是一个默认的包。如果不在android:name中指定包名,会自动将package属性值加在前面
参考:http://developer.android.com/guide/topics/manifest/activity-element.html#nm
AndroidManifest.xml里加入不同package的component (Activity、Service里android:name里指定的值一般为句号加类名),可以通过指定完全类名(包名+类名)来解决的更多相关文章
- AndroidManifest.xml中的application中的name属性 分类: android 学习笔记 2015-07-17 16:51 116人阅读 评论(0) 收藏
被这个不起眼的属性折磨了一天,终于解决了. 由于项目需要,要合并两个android应用,于是拷代码,拷布局文件,拷values,所有的都搞定之后程序还是频频崩溃,一直没有找到原因,学android时间 ...
- AndroidManifest.xml的android:name是否带.的区别
android项目里面的AndroidManifest.xml,会有这样的定义 <activity android:name=".Main" ...
- Android Studio 学习 - AndroidManifest.xml文件学习
首先,今天发现了一个很牛逼的教程网站:慕课网(http://www.imooc.com/).有很多大牛发布的教学视频.值得收藏.学习. 今天主要参照陈启超老大的视频,学习了多个Activity之间的切 ...
- Android AndroidManifest.xml配置文件
AndroidManifest.xml配置文件介绍本质:AndroidManifest.xml是整个应用的主配置清单文件.包含:该应用的包名.版本号.组件.权限等信息.作用:记录该应用的相关配置信息. ...
- AndroidManifest.xml配置文件详解(转载)
AndroidManifest.xml配置文件详解 2013-01-05 10:25:23 分类: Android平台 AndroidManifest.xml配置文件对于Android应用开发来说是 ...
- AndroidManifest.xml文件
AndroidManifest.xml常用标签解读 1.全局篇(包名,版本信息) 2.组件篇(四大组件) Activity Service Content Provider Broadcast Rec ...
- 查看Android应用的package name和activity name方面
使用android自动化测试工具monkeyrunner启动应用时,需要填写被测程序的包名和启动的Activity,以下有两种查看应用包名package和入口activity名称的方法:方法一:使用a ...
- 查看Android应用包名package和入口activity名称
使用android自动化测试工具启动应用时,需要填写被测程序的包名和启动的Activity,以下有两种查看应用包名package和入口activity名称的方法: 方法一:使用aapt //aa ...
- Android开发之查看应用包名package和入口activity名称的方法
使用android自动化测试工具monkeyrunner启动应用时,需要填写被测程序的包名和启动的Activity,以下有两种查看应用包名package和入口activity名称的方法: 方法一:使用 ...
随机推荐
- 【C++】fill函数,fill与memset函数的区别
转载自:https://blog.csdn.net/liuchuo/article/details/52296646 memset函数 按照字节填充某字符在头文件<cstring>里面fi ...
- MySQL-default设置
Both statements insert a value into the phone column, but the first inserts a NULL value and the sec ...
- CentOS5.5配置Oracle监听 netca
在使用netca 配置监听时总是出现这个错误,即使更改了端口也会报错,,,也是在各种百度下, 找到了一个行之有效的办法: 在root下 step 1:netstat -a | grep 1521 确定 ...
- CAS KVM 虚拟机的保护与恢复
目录 目录 方式一 方式二 方式一 思路:以 QCOW2 格式来备份和恢复被保护的 KVM 虚拟机 Step1:centos7_0(base qcow2) 以 qcow2 格式写入到 iSCSI 设备 ...
- 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_05 IO字符流_3_字符输出流_Writer类&FileWriter类
- Week 12 - 673.Number of Longest Increasing Subsequence
Week 12 - 673.Number of Longest Increasing Subsequence Given an unsorted array of integers, find the ...
- nodejs 格式化 Date() 为yyyy-MM-dd HH:mm:ss 格式
===============2019-11-25更新======== 推荐:更实用完美解决时间格式化的 组件 monent 官网地址:http://momentjs.cn/ ============ ...
- Windows操作系统命令整理-Win7
注册表(Windows95以后Windows系统版本,windows server中regedit和regedit32合并为一个新的编辑器,名称仍然是regedit) HKEY_LOCAL_MACHI ...
- Redis--小小总结
1.基本定义 memcached是纯粹的key-value内存数据库,也可能不应该叫数据库,应该叫另类缓存技术: Redis是一个基于内存的高性能key-value数据库:将数据全部加载到内存中,并定 ...
- 移动端的设备提供了一个事件:orientationChange事件
移动端的设备提供了一个事件:orientationChange事件:https://blog.csdn.net/gong1422425666/article/details/79001836