【Android开发基础】活动提醒

一、引言

  • 描述:有些应用拥有软件活动,比如:520、618、双十一等。就需要设置活动提醒,用于提醒用户参加活动。
  • 解决方案:
    1、注册Service(但会随着关机而关闭服务,那么就需要设置开机自启权限,上一期博客有介绍如何使用)
    2、注册日历
  • 难度:初级
  • 效果

二、设计

1、权限

老规矩,调用软件之外的应用和服务都需要配置权限(AndroidManifest.xml)
这里我们使用注册日历提醒,来实现这个需求。日历作为手机标配的服务之一,他的功能和服务肯定比大部分初学者厉害,刚开始就没必要为难自己了,就直接套用这些功能来实现一些简单的功能。

<uses-permission android:name="android.permission.READ_CALENDAR" />
<uses-permission android:name="android.permission.WRITE_CALENDAR" />

2、主要代码

//通过developers平台,翻阅指南,查找到的简单的日历权限使用
try {
    Calendar beginTime = Calendar.getInstance();
    beginTime.set( year , month, day, hoer, minute);
    Calendar endTime = Calendar.getInstance();
    endTime.set(year, month, day, hoer + 1, minute);
    Intent intent = new Intent(Intent.ACTION_INSERT)
            .setData(CalendarContract.Events.CONTENT_URI)
            .putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, beginTime.getTimeInMillis())   // 开始时间
            .putExtra(CalendarContract.EXTRA_EVENT_END_TIME, endTime.getTimeInMillis())   // 结束时间
            .putExtra(CalendarContract.Events.TITLE, title)   // 主题
            .putExtra(CalendarContract.Events.DESCRIPTION, des)  // 备注   
            .putExtra(CalendarContract.Events.EVENT_LOCATION, loc)  // 地点
            .putExtra(CalendarContract.Events.AVAILABILITY, CalendarContract.Events.AVAILABILITY_BUSY)
            .putExtra(Intent.EXTRA_EMAIL, "[email protected], [email protected]");
    startActivity(intent);
} catch (SecurityException e){
    e.printStackTrace();
}

你可能感兴趣的:(Android开发,android)