Android SDK 1.5中文版 (Application基础)
2010-03-11 16:00:00 来源:WEB开发网1.1.1 激活组件:Intent
当接收到ContentResolver发出的请求后,内容提供者被激活。而其它三种组件──活动(Activity)、服务和广播接收器被一种叫做Intent的异步信息所激活。 Intent是一个保存着信息内容的Intent对象。对于Activity和服务来说,它指明了请求的操作名称以及作为操作对象的数据URI和其它一些信息。比如说,它可以为Activity传递一个请求向用户显示一张图片,或者让用户编辑一些文本。而对于广播接收器而言,Intent对象则指明了通知的行为。比如,它可以通知所有感兴趣的对象照相按钮被按下。
激活不同类型的组件的方法是不同的:
* 传递一个Intent对象至Context.startActivity()或Activity.startActivityForResult()启动一个Activity(或其他假定的新任务)。相应的Activity可以通过调用getIntent()方法来查看激活它的Intent对象。Android通过调用Activity的onNewIntent()方法来向Activity传递新的Intent。
Activity 通常启动其他的Activity。如果它期望它所启动的那个Activity返回一个结果,会调用startActivityForResult()来取代startActivity()。比如说,如果启动了另外一个Activity以使用户挑选一张照片,它应该希望返回被选中的照片。结果将会被封装在一个Intent对象中,并传递给启动Activity的onActivityResult()方法。
* 通过传递一个Intent对象至Context.startService()将启动一个服务(或给予正在运行的服务一个新的指令)。Android调用服务的onStart()方法并将Intent对象传递给它。
与此类似,Intent可以被组件传递给Context.bindService()以建立与一个正在运行的目标服务的连接。服务通过其onBind()方法获取这个Intent对象(如果服务尚未启动,bindService()会先启动它)。比如,一个Activity可以连接至上述的音乐回放服务,并提供给用户一个可操作的(用户界面)以对回放进行控制。这个Activity可以调用bindService()来建立连接,然后调用服务定义的对象来控制回放。后面一节:远程方法调用将更详细的阐明如何绑定至服务。
* 应用程序可以将Intent对象传递给Context.sendBroadcast()、Context.sendOrderedBroadcast()和Context.sendStickyBroadcast()方法、以及他们的任何变种形式来产生一个广播。Android会调用所有对此广播有兴趣的广播接收器的onReceive()方法,并将Intent传递给它们。
欲了解更多Intent消息的信息,请参阅章节Intent和Intent Filter(滤过器)。
- ››Android 当修改一些代码时,使用什么编译命令可以最...
- ››Android 如何添加一个apk使模拟器和真机都编译进去...
- ››Android 修改Camera拍照的默认保存路径
- ››Android 如何修改默认输入法
- ››android开发中finish()和System.exit(0)的区别
- ››Android手势识别简单封装类
- ››android中查看项目数字证书的两种方法
- ››Android中获取IMEI码的办法
- ››android 相机报错 setParameters failed
- ››Android重启运用程序的代码
- ››Android为ListView的Item设置不同的布局
- ››android bitmap与base64字符串的互相转换
更多精彩
赞助商链接