欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

android开发启动组件分析

程序员文章站 2022-05-21 16:22:06
android开发启动分析。 1、四种组件中的activity、服务和广播接收者都通过intent的异步消息进行启动,intent会在运行时去各个组件相互绑定(可以将intent...

android开发启动分析。

1、四种组件中的activity、服务和广播接收者都通过intent的异步消息进行启动,intent会在运行时去各个组件相互绑定(可以将intent视为其他组件请求操作的信使。)无论组件属于自己应用还是其他应用,都可以进行绑定。

2、intent使用intent对象创建,他定义的消息用于启动特定组件或者特定类型的组件,可以显式、隐式启动。

3、对于activity和服务,intent定义要执行的操作,并且可以指定要执行操作的数据的uri。例如:intent传达的请求可以启动一个显式图像或者打开也i按的activity。在某些情况下,可以启动activity来接受结果,在这种情况下,activity也会在intent中返回结果。比如:可以发起一个intent,让用户选取某位联系人并将其返回。

①intent intent = new intent(this, secondactivity.class);
startactivity(intent)

②intent intent = new intent(this, secondactivity.class);
startactivityforresult(intent,1);

4、对于广播,intent只会定义要广播的通知,比如:指示设备电量不足的广播指示包括“电量不足”的已知操作字符串。

5、intent不会启动content provider,content provider会称为content resolver的请求目标时启动,内容解析程序通过内容提供程序处理直接事务,使得通过提供程序执行事务的组件可以无需执行事务,而是该在content provider对象上调用方法,这使得在内容提供程序和请求信息的组件之间流出一个抽象层(确保安全)

6、启动方法
①通过intent传递到startactivity()或startactivityforresult()来启动activity(或者安排其他新任务)
②通过intent传递到startservice()来启动服务(对执行中的服务下达新指令)。也可以通过intent传递到bindservice()来绑定该服务
③通过intent传递到sendbroadcase()、sendorderedbroadcase()或sendstickybroadcase()等方法发起广播;
④通过contentresolver上调用query()来对内容提供程序执行查询。