导言


    最近做了一个安卓开发项目,需要用到提醒通知功能。
    原本以为是一个很简单的功能,没想到实际做起来难度却是远远超出了我的想象,也因此学到了很多。

    首先难点到不是在于如何发送提醒通知。
    这个甚至很简单,获取一个NotificationManager,编辑好一个通知,然后notify就可以。
    当然你的事先获取到发送通知的权限。

    真正的难点在于如何在应用退出之后,还能定时的执行这段通知发送程序。

    通知权限


    权限分类
    权限可以简单分为,普通权限和特殊权限。

    如何获取通知权限
    原以为获取权限都是在Manefest中添加一个permission,但是Notification的权限却和读写文件等基础权限不一样。
    于是我在Manifest文件中申请了ACCESS_NOTIFICATION_POLICY。

    ACCESS_NOTIFICATION_POLICY 通知 APP通知显示在状态栏

    休眠机制


    休眠机制是碰到的第一问题。

    通知权限

    空闲状态