无法在Android中清除通知

时间:2012-04-02 06:30:51

标签: android

我想创建一个可以清除的通知。

e.g。在ICS或“清除通知”按钮上向右滑动。

我无法理解这一点,我的通知也无法清除。

我在Froyo& amp; ICS和我也遇到了同样的问题。

我的代码如下:

public class UploadPhotoService extends Service {

    private static final int SERVICE_ID = 999003;

  @Override
  public int onStartCommand(Intent intent, int flags, int startId) {


    Notification note = new Notification(R.drawable.stat_notify_chat,
            "Uploading Photo", System.currentTimeMillis());

    String filePath = intent.getStringExtra("filePath");

    PendingIntent pi = PendingIntent.getActivity(this, 0, new Intent(), 0);

    note.setLatestEventInfo(this, "Uploading Photo", filePath, pi);
    note.flags|=Notification.FLAG_AUTO_CANCEL;

    startForeground(SERVICE_ID, note);

    return(START_NOT_STICKY);
  }


  @Override
  public void onDestroy() {
    stop();
  }

  @Override
  public IBinder onBind(Intent intent) {
    return(null);
  }




  private void stop() {

      stopForeground(true);

  }
}

1 个答案:

答案 0 :(得分:2)

这是因为您正在运行前台服务。前台服务通知可以提醒用户长时间运行的任务。删除startForeground,它将工作。

http://developer.android.com/reference/android/app/Service.html#startForeground(int,%20android.app.Notification

如果要显示通知,只需在服务中创建一个通知,或者在正确的事件上创建通知。希望有所帮助。