首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以使用Android中的后台服务检查“联系人”和“消息传递”应用程序的状态?

是否可以使用Android中的后台服务检查“联系人”和“消息传递”应用程序的状态?
EN

Stack Overflow用户
提问于 2012-07-16 17:31:49
回答 1查看 276关注 0票数 4

Introduction

正如你们中的一些人可能知道的,新的三星银河S3有一些凉爽的运动功能,可以用来使一些“任务”更容易。对于那些不知道的人,这是解释的链接

动机

我想编写一个后台服务来充当这个Touchwizz-exclusive set of features

它可能的是什么

根据有关传感器提供商和后台服务的android文档以及有用的信息在这个链接上找到 (由@Michal提供),可以从后台服务拦截这些传感器事件。即使这样,电池也会很贵,但还是有可能的。

,我不确定这是否可能,

我不确定是否可以使用后台服务或任何其他方式与前台应用程序(无论是“联系人”、“消息传递”或w.e)进行交互。

通过互动,我的意思是,能够做这样的事情,例如:

  1. BGService拦截事件“说”电话处于“呼叫位置”
  2. BGService检查前台应用程序是“联系人”还是“消息传递”。
  3. 如果是,BGService检查是否有任何已打开的短消息或联系人。
  4. 如果有打开的(聚焦的)联系人或短消息线程,BgService将启动对该联系人(或短信发送方)的呼叫。

这是我试图实现的核心理念,这是可能的吗?或者说,应用程序和事件之间的这种集成是可能的,因为它们都捆绑在一个单一的框架中(在本例中是Touchwizz )?

如果可能的话,欢迎任何建议。

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-19 04:50:28

1.BGService拦截电话处于“呼叫位置”的事件

您可以使用TelephonyManager API确定电话状态。

2.BGService检查前台应用程序是“联系人”还是“消息传递”

可以使用ActivityManager API来确定前景应用程序。有关示例,请参见下面的文章:从后台任务或服务确定当前前景应用程序

3.如果是,BGService检查是否有任何已打开的短消息或联系人。

我不知道是否可以这样做。您需要一种查询SMS或联系人应用程序的方法,以找出视图中的焦点。SmsManager API只提供发送短信的方法。

4.如果有打开的(焦点)联系人或短消息线程,BgService将启动对该联系人(或短信发送方)的呼叫。

答案与3号相同。

或者,如果您只对短信和联系人应用程序中的内容更改感兴趣,那么您可以使用ContentObserver API做一些事情。

还可以查看ContentProviders的API文档和内容提供者基础文档。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11509465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档