使用Android服务,新手的好奇心[关闭](Android Using Services , ne

2019-10-16 18:52发布

我想了解一下服务的一些基本,实用,物联网,未明确在Android开发者参考页中提到。

  1. 我怎样才能从另一个调用的应用程序服务,这甚至还没有开始?

  2. 如何查询由其他应用程序提供哪些服务?

  3. 服务是否允许使用的用户界面的方法呢? (该文件说,他们是专门指不具有UI给用户,但他们的例子有一个面包在里面)

  4. 是重入的服务? (如果两个应用程序调用相同的服务,他们会被“服务”的同时,而不与任何局部变量搞乱)

  5. 是服务插件制作方式?

  6. 我可以使用服务来延长我已经安装的应用程序的功能? (即我可以“安装”只是一个服务

  7. 服务可以启动正常的活动? 它们能引起他们的客户来完成?


Answer 1:

我怎样才能从另一个调用的应用程序服务,这甚至还没有开始?

像活动服务是通过使用的启动Intent系统。 您可以开始使用该服务startService(intent); 方法。 这只要服务被正确配置为从它自己的沙箱外的回答意图跨越应用程序边界。

如何查询由其他应用程序提供哪些服务?

文档。 我无法想象一个情况下,你会想询问它的服务的应用程序没有文档,你会不知道怎么做才能得到服务正常进行传递。

服务是否允许使用的用户界面的方法呢? (该文件说,他们是专门指不具有UI给用户,但他们的例子有一个面包在里面)

服务可以访问应用程序上下文(因此可以张贴Toast S或启动Activities自己的)。 他们也可能在同一个沙箱中运行应用程序的可见性,这意味着,通过处理的方式,他们可以直接改变运行活动的UI。 就其性质但Services没有设计,即使它是可能的UI接口。

是重入的服务? (如果两个应用程序调用相同的服务,他们会被“服务”的同时,而不与任何局部变量搞乱)

服务可以用不同的标志开始(可以进行不同的编程),以使他们能够服务接收Intents以异步方式或排队的Intents来按顺序进行。 你可以找到更多关于这(和你的问题的其余部分在这里 )

是服务插件制作方式?

插件?

我可以使用服务来延长我已经安装的应用程序的功能? (即我可以“安装”只是一个服务

你可以安装一个服务作为一个单独的应用程序,它可以捕捉startService()调用它,如果不使用它命名为制作Intent 。 此服务将是一个不过不同的沙箱,不会有访问正在运行的应用程序的变量/状态。

服务可以启动正常的活动? 它们能引起他们的客户来完成?

是的,如果服务是在同一个沙箱中运行,他们可以有应用程序运行在它旁边的知名度。 它可以使用startActivity()因为它可以访问应用程序上下文,它可以调用的应用程序(其中可能包含的静态访问内部的静态方法Activity )。



文章来源: Android Using Services , newbie's curiosity [closed]