6

これは、AndroidNotificationを開始するときの私の方法です:Service

private void showNotification() {
        Notification notification = new Notification(R.drawable.call, "Some text", System.currentTimeMillis());
        Intent intent = new Intent(this, MainActivity.class);

        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
        PendingIntent pi = PendingIntent.getActivity(this, 0, intent, 0);
        notification.setLatestEventInfo(this, getString(R.string.notification_label), getString(R.string.notification_text_short), pi);
        notification.flags |= Notification.FLAG_NO_CLEAR;
        startForeground(7331, notification);
    }

後でテキストを変更することは可能ですか。今は例"Some text"で、あとで停止せずに変更してサービスを再開したいと思います。

それは可能ですか?

4

1 に答える 1

9

通知の表示とサービスの開始に通知 ID 7331 を使用しています。同じ ID で新しい通知を送信している限り、古い通知が置き換えられます。

これを使用して通知を更新します

String ns = Context.NOTIFICATION_SERVICE;
NotificationManager mNotificationManager = (NotificationManager) context
            .getSystemService(ns);
long when = System.currentTimeMillis();

Notification notification = new Notification("your icon", "your ticker text", when);
/*<set your intents here>*/
mNotificationManager.notify(7331, notification);
于 2012-12-04T08:33:21.850 に答える