应用程序被杀后如何在状态栏上保留通知?

时间:2016-02-26 08:04:48

标签: android android-notifications android-statusbar

当我长按主页按钮并杀死我的应用程序时,通知已从状态栏中删除,但我想在应用程序被杀时保留它,如何在应用程序被杀时保持状态栏上的通知?

3 个答案:

答案 0 :(得分:0)

你可以做的是使用:

  

startForeground()

     

注意:如果终止您的服务会对用户造成干扰,您可以设置此标记,例如,如果您的服务正在播放背景音乐,那么用户会注意到他们的音乐是否停止播放。

     

Example 1

     

Example2

并停止使用:

  

stopForeground()

     

注意:从前台状态删除此服务,如果需要更多内存则允许它被终止。

希望这能帮到你。

答案 1 :(得分:0)

fragmentprivate void buildNotification(){ Intent intent = new Intent(getActivity(), NotificationReceiver.class); PendingIntent pendingIntent = PendingIntent.getBroadcast(getActivity(), 0, intent, 0); AlarmManager am = (AlarmManager) getActivity().getSystemService(getActivity().ALARM_SERVICE); am.set(AlarmManager.RTC_WAKEUP, myCalendar.getTimeInMillis(), pendingIntent); } 中创建如下所示的方法,即您需要通知服务的位置。然后在那里调用这个方法。

NotificationReceiver.class

现在创建一个类(我创建BroadcastReceiver),扩展public class NotificationReceiver extends BroadcastReceiver{ private static final int NOTIFICATION_ID = 1991; @Override public void onReceive(Context context, Intent intent) { int num = 0; Intent contentIntent = new Intent(context, MainActivity.class); PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, contentIntent, PendingIntent.FLAG_ONE_SHOT); NotificationCompat.Builder builder = new NotificationCompat.Builder(context); builder.setSmallIcon(R.drawable.ic_notifications_black_24dp); builder.setContentTitle("your title."); builder.setContentText("your text."); builder.setContentIntent(pendingIntent); builder.setTicker("ticker text."); builder.setAutoCancel(true); builder.setOnlyAlertOnce(true); builder.setDefaults(Notification.DEFAULT_ALL); builder.setNumber(++num); NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); mNotificationManager.notify(NOTIFICATION_ID, builder.build()); } } ,如下所示。

receiver

这将解决您的问题。

<强>更新

我忘记提及您还必须在AndroidManifest.xml中添加<receiver android:name=".NotificationReceiver"/>

class

即。您必须将receiver文件放在{{1}}

答案 2 :(得分:0)

您的通知需要由我关闭的活动后持续存在的内容所拥有,例如Service。创建一个管理通知的小Service。您的活动可以向服务发送意图,或绑定到服务并直接通过连接调用方法,以修改通知的状态。

我在移动设备上,因此无法轻松构建示例...请继续关注。 ^ _ ^

相关问题