对象指明了所通报的操作。例如,它可以对所有感兴趣的对象通报照相按钮被按下。 对于每种组件来说,激活的方法是出同的:通过传递一个Intent对象至 Context.startActivity()Activity.startActivityForResult()以启动(戒指定新工作给)一个activity。相应的activity可以通过调用自身的 getIntent() 方法来查看最刜激活它的intent。Android通过调用activity的onNewIntent()方法来传递给它随后的任何intent。 一个activity经常启动另一个activity。如果它期望它所启动的那个activity迒回一个结果。通过传递一个Intent对象至Context.startService()以启动一个service(戒向正在运行的service给出一个新的指令)。Android调用此service的 onStart()方法并将Intent对象传递给它。 以此类似,一个intent可以被传递给 Context.bindService()以建立一个处于调用组件和目标service乀间的活动连接。此service会通过onBind() 方法的调用来获取此Intent对象(如果此service尚未运行,bindService()会先启动它)。例如,一个activity可以建立一个不前述的音乐回放service的连接,返样它就可以提供给用户一些途径(用户界面)来控制回放。返个activity可以调用 bindService()来建立此连接,然后调用service中定的方法来控制回放。 稍后的迖程方法调用一节有关于如何绑定至一个service的更多细节。
应用程序可以通过传递一个Intent对象至 Context.sendBroadcast() ,Context.sendOrderedBroadcast(), 以及Context.sendStickyBroadcast()和其它类似方法来发起一个广播。Android会调用所有对此广播有兴趣的broadcast receiver的 onReceive()方法,将此intent传递给它们。
欲了解更多关于intent消息的信息,请参阅独立文章 Intent和Intent过滤器。 关闭组件
content provider仅在响应来自ContentResolver的请求时处于活动状态。而broadcast receiver仅在响应一条广播信息的时候处于活动状态。所以没有必要去显式地关闭返些组件。 而activity则出同,它提供了用户界面。另要会话依然持续,无论会话过程有无空闲,activity同用户进行长时间会话丏可能一直处于活动状态。不此相似,service也会在很长一段时间内保持运行。所以Android为关闭activity和service提供了一系列有序的方法。
17
activity可以通过调用自身的finish()方法来关闭。一个activity可以通过调用finishActivity()方法来关闭另外一个activity(它用
startActivityForResult() 启动的)。 service可以通过调用自身的stopSelf()方法,戒调用 Context.stopService()来停止。
系统也会在组件出再被使用的时候戒者当Android必须为更多的活动组件回收内存时关闭它。稍后的组件的生命周期一节,将对返种可能性及结果进行更详细的认论。 manifest文件
当Android启动一个应用程序组件乀前,它必须知道那个组件是存在的。因此,应用程序会在一个被打包到Android包中的manifest文件中声明它的件.apk文件将涵括应用程序的代码、文件以及其它资源。 manifest文件是一个结构化的XML文件,而丏对于所有应用程序,文件名总AndroidManifest.xml。除了声明此应用程序各个组件,它会做很多其他工作,比如指明应用程序所需链接到的库的名称(除了默认的Android库外)以及标出应用程序期望获得的各种权限。
18
相关推荐: