Android开发学习笔记 via Google Developers (5) - Interaction of activities
来源:互联网 发布:c 控制台界面编程 编辑:程序博客网 时间:2024/06/05 20:28
Activites之间是靠Intent来相互通信和启动的,通常是在Activities里首先构造一个Intent,说明源Act(一般是this)和目标Act,放进去参数 putExtras(),然后用这个Activity.startActivity来启动。这个一般用来启动自己的application里的Activity。
如果想从别的Activity获得结果,用startActivityForResult()来启动Activity,并实现protected void onActivityResult(int requestCode, int resultCode, Intent data) 获得结果,其中requestCode是startActivityForResult中传递过去的,用于辨识是否是自己发出的Intent请求所启动Activity返回的结果。
相反,如果返回给其他Activity结果,用setResult(Intent resultIntent)来返回,显示的可以用finish()来结束当前的Activity,如果用<back>按钮返回,则为Cancel(虽然也会获得结果)。
另外一种方式是通过IntentFilter 来获得启动,主叫方Activity通过构造一个Intent=new Intent(ActionFilterName)到系统里寻找注册这个Filter的Application's activity。如果被叫Activity是系统本身的,则ActionFilterName就是一个系统内置名称,例如Intent.ACTOIN_DIAL,构造不同的Intent(启动不同的Application)需要提供不同的数据。
所以自己的程序如果向被其他的程序通过这种方式启动,就可以在相应的IntentFilter里写上ActionName。
如果有多个activity的IntentFilter相应,系统会提供列表来让用户选择。在程序里也可以用
Intent chooser = Intent.createChooser(intent, title);
startActivity(chooser);
来让用户选择。
- Android开发学习笔记 via Google Developers (5) - Interaction of activities
- Android开发学习笔记 via Google Developers (5) - Storage Data
- Android开发学习笔记 via Google Developers (1) - Simple Application
- Android开发学习笔记 via Google Developers (2) - Activity LifeCycle
- Android开发学习笔记 via Google Developers (4) - Fragment
- Android开发学习笔记 via Google Developers (3) - Support various devices and languages
- Android Activities学习[Android Developers译作整理]
- Android Developers:Activities
- Android学习日记Activities
- 【Android 开发教程】链接Activities
- 重新阅读Developers文档--Activities
- android developers api guides 文档学习笔记(目录)
- android developers training 文档学习笔记(目录)
- Google.Android开发入门与实践-学习笔记1
- Google.Android开发入门与实践-学习笔记2
- Google.Android开发入门与实践-学习笔记3
- Google.Android开发入门与实践-学习笔记4
- Android简明开发教程五:Activities
- 用Qt Creator创建hello world程序出现Gtk-WARNING **:错误
- python boolean opeator优先级
- MySQL slave状态之Seconds_Behind_Master
- 程序员面试题精选100题(58)-八皇后问题
- .net开发利器
- Android开发学习笔记 via Google Developers (5) - Interaction of activities
- header("Location:login.php")应该注意的几个问题
- WPF 多线程编程
- sharepoint 2010 通知 的设置
- poj2488--------------深搜(注意字典序)
- spring acegi 中文手册
- Android学习之ProgressDialog
- Java中的 分号 ;
- linux内核模块学习hellomod