- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要你的帮助。我是 Java 开发人员,但还不是 Android 开发人员 ;)
我想开发一个具有以下功能的应用程序(4.0.3 及更高版本):
- 应用:
+ 应用程序启动并提供一些设置
- 服务:
+ 我需要一个在 android 启动时启动的后台服务
+ 服务必须触发和检查新的日历事件
+ 该服务检查事件,在某些情况下它会打开一个弹出窗口
我做了一些教程并检查了一些 android 类。我的步骤和问题:
要阅读日历事件,我会使用 Calendar Provider。对于弹出窗口,我将创建一个带有在服务中调用的自定义布局的 AlertDialog。
这可行吗?感谢您的回答和提示。
编辑
感谢您提供有用的答案。经过一些测试后,我有一些后续问题。
Activity
public class MainActivity extends Activity {
// On the app the user can edit some setting
// But the app needn't be started that the service runs!!
// The service must be able to read the settings from this activity
}
BroadcastReceiver(用于启动)
public class BootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) {
// Start of the service (TriggerService)
}
}
}
AlarmManager 服务
public class TriggerService extends IntentService {
private AlarmManager alarmMgr;
private PendingIntent alarmIntent;
...
@Override
protected void onHandleIntent(Intent intent) {
// force invoke of CalendarChecker if we come from BootReceiver, then
// create the AlarmManager
alarmMgr = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, CalendarChecker.class);
alarmIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
// Set the alarm to start at 8:00 a.m.
Calendar calendar = Calendar.getInstance();
...
// Set repeating interval
alarmMgr.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),
AlarmManager.INTERVAL_DAY, alarmIntent);
}
日历检查器:
public class CalendarChecker {
// Checks the calendar events on the device and opens in some case a popup e.g.
...
CustomCalendarDialog dialog = new CustomCalendarDialog();
dialog.show(getFragmentManager(), "showPopup");
}
这是我的想法。但现在的问题是:
- 在 TriggerService 中,我需要 Activity 的上下文 - 但我怎样才能得到它?
- 在 CalendarChecker 中,我需要 Activity 的 fragmentmanager - 但我怎样才能得到它?
感谢您的回答。
最佳答案
Create an activity with the ui for the settings. Where do you usually store settings? Locale on phone or are there some cloud solutions?
在手机上,使用sharedpreference或者sqlitedatabase进行设置
Create an service. What kind of service I need?
简单的服务,我推荐使用START_STICKY
How can I trigger the service on startup?
使用引导接收器
How can I trigger the service every morning (when I have no startup)? AlarmManager?
是的,警报管理器很好
How can I trigger the service on new or modified calendar events?
阅读这个答案 https://stackoverflow.com/a/6175930/2923194
Can I invoke a popup in a service?
创建 pop uo Activity 并从服务调用它
关于Android 日历服务和应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25135571/
我想知道是否有一种简单的方法可以为网站制作自上而下的列表日历。我不想使用谷歌日历。我还希望日历像接下来的 5 个事件一样显示并隐藏其余事件,直到显示的 5 个事件已经发生。如果有办法用 jquery
我使用的是 Drupal 日历,它在除 IE7 之外的所有浏览器中都运行良好。在 IE7 中,不会呈现单个日历条目。 奇怪的是,如果页面加载缓慢,那么正确着色的表格单元格会出现然后消失。 这是我尝试过
我已经广泛使用了原型(prototype),并且不想添加像 YUI 这样的额外框架。 我需要一个 JavaScript 日历,它使我能够逐个单元格地自定义日历单元格的呈现。 (用于渲染特定日期的事件、
通过 Google API 浏览器,我可以使用日历 ID 访问我的公共(public)日历事件列表。所以我知道这是对的 https://developers.google.com/google-app
我是 CakePHP 的新手,想使用这个框架创建一个日历。我遇到了困难,想知道是否有关于如何使用 CakePHP 创建简单日历的教程或指南? 最佳答案 这里有两个链接:LINK1 (日历助手)和 LI
我正在寻找一个与 jquery week calendar 具有相同功能的 jquery 日历 我浏览了某些日历,但它们不包含jquery周日历的资源 这可能是一个愚蠢的问题,但我可以修改jquery
已关闭。此问题旨在寻求有关书籍、工具、软件库等的建议。不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以
我想问一下我是否可以将日历“移动”到页面的右侧?因为我意识到它只能显示在左手边。我真的不知道如何将它“移动”到右侧...我也不知道如何放入 css 来做到这一点。 这是制作日历的代码... //
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我正在构建一个月份列表,用作 JSP 中表格的标题。 我正在做的是比较我从数据库中获得的月份,并一直迭代或“尝试”到那个月。在这种情况下,月份是 11 月 问题是我只能从 2012 年 10 月到 2
我将开发一个支持多种语言的日历解决方案,但我不确定应该如何根据各个国家/地区的用户需要来管理和显示所有不同的假期信息? 有没有地方提供世界假期信息,以便我可以解析和显示?如果没有,您会推荐更好的开发方
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,因为
我试图让我的应用程序隐藏周末,我的日历存储在一个字符串中,然后打印到innerHTML。我该如何隐藏周六和周日。 我的日历打印如下: 周日周一周二周三周四周五周六 代码: calendarString
日历有可能从星期一开始吗?我在教程中找到了这个,但我的 JS 知识还不够。我改变了一些值但没有成功。 function Calendar(id, year, month) { var elem
我正在创建一个使用 iCal 格式日历的应用程序,很可能由 Google 存储在 Google 日历中。 实现这一目标的最佳方法是什么?我真的不想在 iOS 日历应用程序中导入我的日历。 我应该解决重
在应用程序中,我使用星期几来打开成就。 let date = Date() let dateFormatter = DateFormatter() dateFormatter.dateFormat =
我正在尝试在java中为日历对象设置自定义日期和时间。我必须创建一个比当前日期多 1 天的日期,并且时间应设置为“X”(例如 05:00:00)。 这是我到目前为止所做的: Calendar tomo
while (r.next()) { String rn = r.getString(3); String sqldate = r.getString(2); // database
我有一个日历,其中突出显示了一些日期 它工作得很好,直到我想突出显示 2013 年 3 月 31 日之后的日期。此后日期就正常显示。 有人知道为什么会这样吗? 这是我用来突出显示日期的代码 //
关于报警管理器的问题我有这个代码 Calendar cal = Calendar.getInstance(); cal.add(Calendar.SECOND, 5); Intege
我是一名优秀的程序员,十分优秀!