3

キャンセル不可の進行中の通知を開始しようとしていますが、何を試してもキャンセル可能です。

コード:

    NotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
    int icon = R.drawable.btn_rating_star_on_pressed_holo_light;
    long when = System.currentTimeMillis();

    notification = new Notification(icon, getString(R.string.notificationMSG), when);
    notification.ledARGB = 999;

    Intent notificationIntent = new Intent(this, MainActivity.class);
    PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, Notification.FLAG_ONGOING_EVENT + Notification.FLAG_NO_CLEAR + Notification.FLAG_SHOW_LIGHTS);

    notification.setLatestEventInfo(context, getString(R.string.app_name), getString(R.string.notificationMSG), contentIntent);

    notificationManager.notify(Global.NOTIFICATION_ID,notification);

また、それを起動したアクティビティが終了したら、それを消す方法も知りたいです. 次のことを試してみましたが、数回しか機能しません。

@Override
protected void onDestroy(){
    notificationManager.cancel(Global.NOTIFICATION_ID);
    super.onDestroy();
}
4

1 に答える 1

2
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);

notification.flags |= Notification.FLAG_ONGOING_EVENT;
notification.flags |= Notification.FLAG_NO_CLEAR;
notification.flags |= Notification.FLAG_SHOW_LIGHTS;

なんらかの愚かな理由で、フラグを に直接置くことができず、PendingIntent代わりにこのように設定する必要があります。

于 2012-08-28T11:53:14.977 に答える