Android 当应用程序被终止时,如何在状态栏上保持通知?
当我长按home按钮并终止我的应用程序时,通知已从状态栏中删除,但我希望在应用程序终止时保留通知,当应用程序终止时如何在状态栏上保留通知?你可以做的是使用: 注意:如果终止您的服务会对用户造成干扰,例如如果您的服务正在播放背景音乐,则可以设置此标志,这样用户会注意到他们的音乐是否停止播放 要停止这种使用: 注意:将此服务从前台状态删除,如果需要更多内存,则允许终止此服务Android 当应用程序被终止时,如何在状态栏上保持通知?,android,android-notifications,android-statusbar,Android,Android Notifications,Android Statusbar,当我长按home按钮并终止我的应用程序时,通知已从状态栏中删除,但我希望在应用程序终止时保留通知,当应用程序终止时如何在状态栏上保留通知?你可以做的是使用: 注意:如果终止您的服务会对用户造成干扰,例如如果您的服务正在播放背景音乐,则可以设置此标志,这样用户会注意到他们的音乐是否停止播放 要停止这种使用: 注意:将此服务从前台状态删除,如果需要更多内存,则允许终止此服务 希望这对您有所帮助。在活动或片段中创建如下方法,即您需要通知服务的地方。然后在那里调用这个方法 private voi
希望这对您有所帮助。在
活动
或片段
中创建如下方法,即您需要通知服务的地方。然后在那里调用这个方法
private 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());
}
}
这会解决你的问题
更新
我忘了提到,您还必须在AndroidManifest.xml
中添加receiver
<receiver android:name=".NotificationReceiver"/>
i、 e.您必须将您的
类
文件放入接收者
您的通知需要由我关闭活动后仍然存在的东西拥有,如服务
。创建一个小型服务
,用于管理通知。您的活动可以向服务发送意图,或直接通过连接绑定到服务并调用方法,以修改通知的状态
我在手机上,所以无法轻松构建一个示例。。。请继续收看^_^ 创建一个前台服务好的,我给了你一个新的答案,希望这对你有所帮助;)我试过了,但解决不了我的问题。谢谢你@Neel