以编程方式结束正在进行中的通知 - Android

6
我正在开发一个基于GPS的应用程序,并刚开始添加用户体验功能,如通知和进度条,但我卡在了使用持续通知上。
由于这是一个GPS应用程序,当用户跟踪开始时,我设置了一个持续通知来显示他们正在被跟踪,但当他们在我的应用程序中点击“停止跟踪”时,我该如何停止此通知?我需要告诉NotifyManager吗?我基本上想要音乐播放器具有的功能,即当用户按下播放时,“播放”通知出现,但当他们暂停时,该持续“播放”通知被销毁。
此外,我以前从未使用过GPS,但我是否应该在服务中处理这个问题,这样如果操作系统将我的应用程序从内存中移除,用户就不会停止被跟踪?或者那样做没有必要?
2个回答

11

谢谢,我使用了第一种方法,因为我不希望通知在被点击后消失。 - Infiniti Fizz

3

开始

int id = 01;
NotificationCompat.Builder mBuilder =
      new NotificationCompat.Builder(this)
        .setSmallIcon(R.drawable.ic_launcher)
        .setContentTitle(getResources().getString(R.string.service_header))
        .setContentText("Connect to: http://" + httpd.getip() + ":8080")
        .setContentIntent(pendingIntent)
        .setOngoing(true);

NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(01, mBuilder.build());

取消

NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.cancel(01);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接