我们都知道对于多个Activity如果在同一个包中,在Mainfest中可以这样注册
<?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>
上面的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
分享到:
相关推荐
在Android系统中,启动特定APK应用通常涉及到对AndroidManifest.xml文件的理解、权限管理、Activity启动模式以及Intent过滤器的应用。下面将详细讲解如何在Android设备上启动包含固定字符串的APK应用。 首先,理解...
Android的嫡系组件是指在`AndroidManifest.xml`中声明的组件,主要包括Activity、ContentProvider、BroadcastReceiver(IntentReceiver的一种)和服务(Service)。这些组件构成了Android应用程序的核心架构。 **...
2. **添加Intent Filter**: 在目标应用的AndroidManifest.xml中,为要被其他应用调用的Activity添加intent-filter,通常包括Action(如ACTION_VIEW)、Category(如CATEGORY_DEFAULT和CATEGORY_BROWSABLE)和Data...
1. **Intent配置错误**:检查你是否正确设置了Intent的目标Component(Activity),例如,使用`setComponent(ComponentName)`或者`setClassName(String package, String className)`。如果Component信息错误,系统...
在Android开发中,不同应用程序(App)之间的Activity跳转是一个常见的需求,比如分享、广告推广或者服务联动。本文将深入探讨如何实现这一功能,并提供一个名为"JumpDemo"的示例项目来帮助理解。 首先,我们需要...
AndroidManifest.xml 是 Android 程序配置文件,类似 WEB 程序中的 web.xml,其中有个非常重要而又特别的功能就是为程序向设备声明自己的权利语法:”权限常量”/> 以下是 Android 中的权限常量: 1. ACCESS_...
在使用MyLocation API或类似方法获取此类信息时,必须在`AndroidManifest.xml`中声明此权限。 2. **ACCESS_FINE_LOCATION**:比ACCESS_COARSE_LOCATION更精确,它允许应用访问GPS硬件来获取精确的位置数据。使用...
显式 Intent 通过指定目标 Component(Activity 或 Service)的完整类名来调用,而隐式 Intent 不指定具体 Component,而是通过 Action、Data、Category 等元数据来广播请求,让系统根据这些信息找到合适的接收者。...
- 在AndroidManifest.xml文件中,通常每个Activity都会有一个`<activity>`标签,其中的`android:icon`属性定义了主屏幕图标的资源。要隐藏图标,可以创建一个新的没有图标且不允许被启动的Activity作为入口点。 - ...
Intent是Android系统中一个至关重要的组件,用于在不同的应用程序组件之间传递消息,实现组件间的交互。下面将详细阐述Intent的相关知识点。 1. **Intent基本概念** Intent是一种轻量级的消息对象,它表达了应用...
接下来,你需要配置AndroidManifest.xml,为React Native应用添加必要的权限和启动活动。在`AndroidManifest.xml`中添加以下内容: ```xml <uses-permission android:name="android.permission.INTERNET" /> ... ...
Android权限设置大全 ...这些权限都可以在AndroidManifest.xml文件中声明,用于申请访问设备的某些功能或数据。开发者需要根据应用程序的需求声明相应的权限,以便在应用程序中访问相应的功能或数据。
每个应用程序在运行时,如果需要访问特定的系统资源或执行敏感操作,必须先在`AndroidManifest.xml`文件中声明所需权限。以下是对给定文件中列出的一些常见Android权限的详细解释: 1. `android.permission.ACCESS_...
在Android系统中,这些图标通常存储在项目的res/mipmap或res/drawable目录下,并在AndroidManifest.xml中进行引用。 要实现动态更换图标,我们首先要创建一组备用图标。这可以通过在项目资源目录中添加更多的mipmap...
-t 允许安装 AndroidManifest.xml 里 application 指定 android:testOnly="true" 的应用 -s 将应用安装到 sdcard -d 允许降级覆盖安装 -g 授予所有运行时权限 运行命令后如果见到类似如下输出(状态为 Success)代表...
对于隐式Intent,接收方必须在AndroidManifest.xml中声明一个Intent Filter,以表明它可以处理特定类型的Intent。Intent Filter包括Action、Data、Category等元素,系统会根据这些信息找到能够处理Intent的组件。 7...
例如,假设我们有一个 Activity 被设计为接收并显示网页内容,那么可以在 AndroidManifest.xml 中声明如下 `IntentFilter`: ```xml <action android:name="android.intent.action.VIEW" /> ...
- **声明**:需要在`androidmanifest.xml`文件中添加`<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />`。 2. **ACCESS_FINE_LOCATION** - **定义**:用于获取精确位置信息,如GPS...