Activity大全
来源:互联网 发布:mac 数据库可视化工具 编辑:程序博客网 时间:2024/05/23 01:22
Activity的常用方法
Activity启动模式
standard : 在启动了这个Activity栈的栈顶重新创建一个新的实例
singleTop:
- 判断需要启动的Activity是否为任务栈栈顶 ,如果是,则不会重新创建,如果不是,则会重新创建
- 不重新创建时候,该Activity的 onNewIntent(Intent intent) 方法会被回调,通过该方法的参数,可以取出当前请求的信息;
- 系统可能会杀死该Activity,杀死之后,启动情况与第一次启动相同,所以有必要在onCreate与onNewIntent方法中调用同一个处理数据的方法
- 运用场景:常运用于通知栏弹出Notification,点击Notification跳转到指定的Activity,设置singleTop模式
生命周期相关方法
关闭Activity的方法
1. activity在finish时候,还有收到广播,结果导致bug在广播接收器中先判断一下比较保险。或者在onDestroy里面注销广播
2. acivity在finish时候,这时候handler.sendMessage,这时候也会导致bug
这时候最好在finish函数里面removeAllCallbackAndMessage(this)
private BroadcastReceiver mIntentReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { Log.d(TAG, intent.toString()); final String action = intent.getAction(); if(isFinishing()) { 。。。。。。。 return; }}
一个Activity打开另一个Activity的方法
- Intent:组件之间调用需要使用Intent,可以调用setExtra()方法传递数据
- Intent[]:Intent数组,根据在数组中的顺序依次调用
- int requestCode:与onActivityResult(int requestCode, int resultCode,
Intent data)中的requestCode对应
- Bundle 可以通过Bundle传递数据
一个Activity向另一Activity返回结果
一个Activity打开另一个Activity,然后获取返回结果
通过startActivityForResult()方法启动另外一个Activity才会调用onActivityResult(),startActivity()方法和startActivities()不会调用此方法。
- int requestCode:通过 startActivityForResult(Intent,int requestCode)设置的请求码
- int resultCode:通过setResult(int resultCode)设置的返回码
- Intent
一个Activity获取另一个Activity返回结果
- int requestCode 请求码
- int resultCode
- Intent 通过intent传递数据
保存、恢复当前Activity状态
- 情况1.资源相关的系统配置发生改变
- 情况2:资源内存不足导致低优先级Activity被杀死
- Activity大全
- activity属性设置大全
- activity 属性设置大全
- activity属性设置大全
- activity属性设置大全
- activity属性设置大全
- activity属性设置大全
- activity属性设置大全
- Activity属性设置大全
- Activity属性设置大全
- Activity属性设置大全
- Activity属性设置大全
- Activity属性设置大全
- activity属性设置大全
- activity属性设置大全
- activity属性设置大全
- activity属性设置大全
- activity属性设置大全
- 1月16日(作业2)
- Visual Studio 常用快捷键速查(未整理)
- 1月17日
- RDD详解
- C++容器类的介绍和例子源代码
- Activity大全
- 新手看Mockplus
- Android Studio的插件
- HashMap底层原理
- 225. Implement Stack using Queues
- 动规-计数DP
- lambda类型作为模板Concept
- Could not set property 'xxxx' of 'class 'xxxxxxx' with value 'xxxxxx'
- 1IntelliSense: #error 指令: Please use the /MD switch for _AFXDLL buildsc:\program files\microsoft