AndroidManifest.xml 注册服务
2014-04-03 13:47
357 查看
下面以一问一答的形式来解决这个问题:
一般新建一个Android项目后,AndroidManifest.xml的内容都是这样的:
<?xml
version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.myactivities"
android:versionCode="1"
android:versionName="1.0">
<application
android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".ActivityMain"
android:label="@string/app_name">
<intent-filter>
<action
android:name="android.intent.action.MAIN" />
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
可以看到manifest的一个属性package="com.myactivities",以后自己新建的多个activity都必须放在com.myactivities这个包里面。问题是现在我如果另外新建一个包,在里面新建几个activity类文件,这几个activity如何在AndroidManifest.xml里注册呢?我最后想达到的目的是com.myactivities里面的activity通过intent跳转到新建的包里面的某个activity,这个怎么实现呢?
---------------------------------------------------------------------
每一个Activity、Service等应用程序组件都会对应AndroidManifest.xml文件中的一个<activity>、<service>标签。在这些标签中有一个必选的属性:android:name,该属性需要指定一个类名,例如,net.blogjava.mobile.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属性值加在前面。
一般新建一个Android项目后,AndroidManifest.xml的内容都是这样的:
<?xml
version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.myactivities"
android:versionCode="1"
android:versionName="1.0">
<application
android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".ActivityMain"
android:label="@string/app_name">
<intent-filter>
<action
android:name="android.intent.action.MAIN" />
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
可以看到manifest的一个属性package="com.myactivities",以后自己新建的多个activity都必须放在com.myactivities这个包里面。问题是现在我如果另外新建一个包,在里面新建几个activity类文件,这几个activity如何在AndroidManifest.xml里注册呢?我最后想达到的目的是com.myactivities里面的activity通过intent跳转到新建的包里面的某个activity,这个怎么实现呢?
---------------------------------------------------------------------
每一个Activity、Service等应用程序组件都会对应AndroidManifest.xml文件中的一个<activity>、<service>标签。在这些标签中有一个必选的属性:android:name,该属性需要指定一个类名,例如,net.blogjava.mobile.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属性值加在前面。
相关文章推荐
- 每一个activity都要在AndroidManifest.xml注册和字体
- 从AndroidManifest.xml中获取已注册Activity的方法
- QQ快捷登录需要在 AndroidManifest.xml 注册添加如下信息,sdk中提供开始配置少了回调的配置,报错
- Android Studio创建Activity快捷注册到AndroidManifest.xml
- 调用没有在AndroidManifest.xml注册过的Activity,报出的错误提示
- android eclipse中在androidmanifest.xml注册的问题-----代码
- Android AndroidManifest.xml 四大组件注册方法
- BroadcastReceiver(一)在AndroidManifest.xml中配置的广播接收器(自动注册注销)
- [置顶] 关于在AndroidManifest.xml注册的广播和activity使用回调的问题
- 碎片(Fragment)-- AndroidManifest.xml注册问题
- 调用没有在AndroidManifest.xml注册过的Activity,报出的错误提示
- android eclipse中在androidmanifest.xml注册的问题
- BroadcastReceiver广播接收者(二)——利用AndroidManifest.xml注册广播接收者
- BroadcastReceiver广播接收者(二)——利用AndroidManifest.xml注册广播接收者
- android 广播,manifest.xml注册,代码编写
- android 广播,manifest.xml注册,代码编写
- Android手动创建活动并注册AndroidManifest.xml
- android的广播介绍,在manifest .xml中注册广播
- 打开APK里的AndroidManifest.xml乱码
- 获得AndroidManifest.xml文件中meta-data的value值