一.启动方式
正常启动 略
隐式启动 在androidManifest.xml 标签下添加 <intent-filter>多个<action>,<category>
启动时在多个action中只需要匹配一个即可。
<action> 内置&自定义 在<intent-filter>中必须包含一个或者多个
内置:android.intent.action.View
//通过uri类型打开不同的系统应用Uri uri = Uri.parse("http://www.google.com");浏览器 "tel:1232333"拨号 geo:39.899533,116.036476地图定位 file:///sdcard/media.mp4文件
android.intent.action.MAIN //一个应用唤起activity
android.intent.action.CALL //电话
android.intent.action.DIAL //拨号面板
andriod.intent.action.CALL_BUTTON //和DIAL差不多
android.intent.action.GET_CONTENT //调用系统应用 获得特殊数据如图片,视频
例:Intent intent=new Intent(Intent.ACTION.GET_CONTENT);
intent.setType("image/*");
Intent wrapper=Intent.creatChooser(intent,null);
startActivity(wrapper);
android.intent.action.ACTION_SENDTO //发送短信 uri:smsto:号码 发送彩信:content:图片文件
android.intent.action.VIDEO_CCAPTURE //调用系统摄像头
android.provider.Telephone.SMS_RECEIVED //接收短信
未完待续......
<category>系统预设&自定义
系统预设:android.intent.category.BROWSABLE //外部唤起时使用
未完待续......
<data> 指定当前活动能够响应什么类型的数据
uri+mimeType
URI格式:[scheme:][//host:port][path]
android:scheme 协议部分:http tel: geo
android:host 主机名 :www.baidu.com
android:port 端口
android:path
android:mimeType 数据类型
例: <data android:mimeType="text/text"
android:scheme="http"
android:host="www.baidu.com"
android:port="8080"/>
intent.setDataAndType(Uri.parse("http://www.baidu.com:8080"),"text/text");
二 生命周期
.
正常周期 略
异常:横竖屏切换,Activity会被销毁然后重建,系统主动调用onSaveInstanceState(Bundle outState)保存临时信息,从onRestoreInstanceState(Bundle savedInstanceState)恢复信息onCreat(Bundle savedInstanceState)中的Bundle对象数据一致。设置activity可以切换需要配置 android:configChanges="orientation|screenSize|keyboardHidden"否则会崩溃
配置android:configChanges 后,activity不重建,会回调onConfigurationChange()
三 清单中属性
<activity android:configChage //横竖屏切换
android:icon //activity图标,在LaunCHRE Activity设置后 app图标改变
android:lable //名称 同上
android:launchMode //activity 启动模式
android:name/theme/screenOrientation //类名、主题、方向
android:exporter //是否可以被外部调起 设置了data中的scheme 默认开启
android:hardwareAccelerated //硬件加速
android:windowSoftInputMode: //键盘行为,用的时候再查
android:parentActivityName //设置,跳转后在左上角出现返回键,点击会新建指定的Activity
....../>