在android中设置事件提醒,通过webservice调用获取数据

时间:2011-11-20 07:10:42

标签: android

我正在开展一个小项目。我们需要做以下事情:

  1. 有一个后台服务/你的android ph上运行的任何东西 在msg正文中听一些带有特定内容的短信
  2. 在遇到该特定内容时,请对网络服务进行调用 远程服务器下载一些事件数据
  3. 将提取的事件数据设置为日历中的提醒
  4. 以上所有内容必须在没有任何用户互动的情况下完成。

    我设法通过广播接收器做#1。不需要为它运行服务。

    对于#2,我计划通过广播接收器onReceive()方法调用Web服务并获取数据。一旦我获得了数据,我该如何设置相同的内容,以便用户根据相同的时间获得他/她的及时提醒?没有活动开放或用户可以看到的任何内容。他应该得到提醒(即使他重新启动了ph)。

    任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:0)

  

对于#2,我计划通过广播接收器onReceive()方法调用Web服务并获取数据。

请不要。这将是不可靠的,如果您碰巧有前台活动,将冻结您的UI。在主应用程序线程上调用onReceive(),如果它认为您在该线程上花费了太多时间,Android将终止您的代码,即使在后台也是如此。请将此作品委托给IntentService,该作品具有后台主题并在没有其他工作要做的时候自动关闭。

  

获得数据之后,我该如何设置相同数据,以便用户根据相同的时间获得他/她的及时提醒?

在Ice Cream Sandwich(Android 4.0)上,您可以将事件添加到他们的日历中。

在此之前,使用AlarmManager滚动您自己的提醒机制。

  

没有活动开放或用户可以看到的任何内容。

您别无选择,只能提供活动。否则,您的应用将永远不会在Android 3.1+上运行。他们需要运行您的活动一次以启用您的应用,然后每次他们选择通过任务杀手或设置应用程序杀死您的应用时再次运行。