标签:
标签中如果带有这个子节点,则会在系统中多创建一个快捷图标
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
activity的名称、图标可以和应用程序的名称、图标不相同
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
Activity的跳转需要创建Intent对象,通过设置Intent对象的参数指定要跳转Activity
通过设置Activity的包名和类名实现跳转,称为显式意图
通过指定动作实现跳转,称为隐式意图
跳转至同一项目下的另一个Activity,直接指定该Activity的字节码即可
Intent intent = new Intent();
intent.setClass(this, SecondActivity.class);
startActivity(intent);
跳转至其他应用中的Activity,需要指定该应用的包名和该Activity的类名
Intent intent = new Intent();
// 启动系统自带的拨号器应用
intent.setClassName("com.android.dialer", "com.android.dialer.DialtactsActivity");
startActivity(intent);
隐式意图跳转至指定Activity
Intent intent = new Intent();
// 启动系统自带的拨号器应用
intent.setAction(Intent.ACTION_DIAL);
startActivity(intent);
要让一个Activity可以被隐式启动,需要在清单文件的activity节点中设置intent-filter子节点
<intent-filter >
<action android:name="com.itheima.second"/>
<data android:scheme="asd" android:mimeType="aa/bb"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
获取通过setData传递的数据
// 获取启动此Activity的intent对象
Intent intent = getIntent();
Uri uri = intent.getData();
Activity通过Intent启动时,可以通过Intent对象携带数据到目标Activity
Intent intent = new Intent(this, SecondActivity.class);
intent.putExtra("maleName", maleName);
intent.putExtra("femaleName", femaleName);
startActivity(intent);
在目标Activity中取出数据
Intent intent = getIntent();
String maleName = intent.getStringExtra("maleName");
String femaleName = intent.getStringExtra("femaleName");
每个应用会有一个Activity任务栈,存放已启动的Activity
Activity的启动模式,即修改任务栈的排列情况
默认情况下 ,横竖屏切换, 销毁当前的activity,重新创建一个新的activity
快捷键ctrl+F11
在一些特殊的应用程序场景下,比如游戏,不希望横竖屏切换时activity被销毁重新创建
需求:禁用掉横竖屏切换的生命周期
横竖屏写死
android:screenOrientation=”landscape”
android:screenOrientation=”portrait”
让系统的环境 不再去敏感横竖屏的切换
android:configChanges=”orientation|screenSize|keyboardHidden”
功能:从A界面打开B界面, B界面关闭的时候,返回一个数据给A界面
启动activity并且获取返回值
startActivityForResult(intent, 0);
在新启动的界面里面实现设置数据的逻辑
Intent data = new Intent();
data.putExtra("phone", phone);
// 设置一个结果数据,数据会返回给调用者
setResult(0, data);
// 关闭掉当前的activity,才会返回数据
finish();
在启动者activity里面实现方法
// 通过data获取返回的数据
onActivityResult(int requestCode, int resultCode, Intent data) {}
Android基础知识:Day06 Activity生命周期和Intent用法
标签:
原文地址:http://blog.csdn.net/u013443865/article/details/51348128