当应用程序完全关闭时,如何通过编程方式发送通知?
示例:用户关闭应用程序(也在Android任务管理器中)并等待。应用程序应在X秒后或应用程序检查更新时发送通知。
我尝试使用这些代码示例,但是:
- Pushing notifications when app is closed-活动过多/不起作用
- How do I get my app to send a notification when it is closed?-信息很多,但我不知道如何处理
- How to send local notification android when app is closed?-信息很多,但我不知道如何处理
如果可以的话,试着用一个例子来解释它,因为初学者(像我一样)这样可以更容易地学习它。
4条答案
按热度按时间t98cgbkg1#
您只需在Activity生命周期中的on Stop()启动此服务,即可使用此服务。
startService(new Intent(this, NotificationService.class));
,然后可以创建一个新的Java类,并将以下代码粘贴到其中:在此之后,您只需要将服务与manifest.xml组合:
zynd9foi2#
您可以使用报警管理器来完成此操作[未在最新的Android版本和发布版本上进行测试,是一个相当古老的答案]。
1.使用alarmmanager在X秒后创建报警。
Intent intent =新Intent(此,AlarmReceiver.class); putExtra(“通知文本”,“一些文本”);待处理意向待处理意向=待处理意向.getBroadcast(此,分类帐Id,意向,待处理意向.FLAG_UPDATE_CURRENT);报警管理器=(报警管理器)此.getSystemService(上下文.ALARM_SERVICE);报警管理器.set(报警管理器.RTC_WAKEUP,'以毫秒为单位的X秒',未决Intent);
1.在应用中使用AlarmBroadCast接收器。
在清单文件中声明:
1.在广播接收器的on receive中,您可以创建通知。
公共类警报接收器扩展广播接收器{
}
l7mqbcuq3#
您可以使用服务检查活动的应用程序,并在活动未运行时显示通知。
vybvopom4#
根据Nikhil Gupta的回答,并参考Bondolin在评论中提供的网站,向
receiver
添加属性android:process=":remote"
允许我发布通知,即使应用程序完全关闭。其余的代码基本上是相同的。需要注意的一点是,类
AlarmReceiver
不应包含任何对MainActivity
的引用,因为当应用关闭时,MainActivity
类不会示例化。如果您试图在应用关闭时引用AlarmReceiver
类中的MainActivity
,则会抛出NullPointerException
。