我想为我的Android应用程序开发一个提醒返回功能。我希望在用户不使用应用程序一天后,我会显示本地通知,提醒用户“我们有更多新内容,请点击此处阅读新内容”。 但我不知道如何编码。
我不知道如何检测应用程序是从背景开始的(onPause可以在应用程序进入后台时触发,也可以在应用程序更改活动时触发)。
如何在后台使用应用时触发通知。我有这个功能来显示通知,但它在我调用之后显示。我怎么能把它推迟一天。
showNotification()
NotificationManager notificationManager = (NotificationManager)this.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(R.drawable.down_icon, getString(R.string.press_back_again_if_you_want_to_exit_app), System.currentTimeMillis());
Intent intent = new Intent(this, MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);
notification.setLatestEventInfo(this, this.getString(R.string.press_back_again_if_you_want_to_exit_app),
this.getString(R.string.press_back_again_if_you_want_to_exit_app), pendingIntent);
notificationManager.notify(1, notification);
我在iOS中开发功能非常简单,但在Android中,我不知道该怎么做。
答案 0 :(得分:2)
按照以下步骤实现您的要求。
第1步 - 当您的应用开始启动后台服务时。在服务中,检查每个时间间隔的最顶层活动
第二步 - 当最顶层的活动不属于您的应用程序时服务,然后安排闹钟在24小时后开火并销毁该服务。
答案 1 :(得分:1)
要从后台发送通知,您将使用服务或BroadcastReceiver,而不是活动。我认为BroadcastReceiver最适合您的需要:http://developer.android.com/reference/android/content/BroadcastReceiver.html
要安排执行,请使用AlarmManager。您可以在其他活动生命周期方法中设置警报:http://developer.android.com/training/basics/activity-lifecycle/index.html
答案 2 :(得分:-1)
为此您需要编写检查"活动状态是否处于OnPause()状态的服务?"在每个时间间隔。之后你可以随心所欲地发出通知。 谢谢。