0

通知を表示しているときに、右上隅に 1/4/70 の日付が表示される理由がわかりません。それは何ですか?どうすればそれを取り除くことができますか?

コード:

public static void showNotification(int id, String message, String title, String body)
    {
        int drawable = 0;
        switch (id)
        {
            case NOTIFICATION_NEW_MAIL:
                drawable = R.drawable.ic_notify_mail;
                break;

            case NOTIFICATION_AVAILABLE_TRIPS:
                drawable = R.drawable.ic_notify_trip;
                break;
        }

        NotificationManager notifyManager = (NotificationManager)MyApplication.Me.getSystemService(Context.NOTIFICATION_SERVICE);
        Notification notification = new Notification(drawable, message, SystemClock.elapsedRealtime() + 1000);
        notification.defaults |= Notification.DEFAULT_SOUND;

        Intent notificationIntent= new Intent(MyApplication.Me, MailListActivity.class);
        switch (id)
        {
            case NOTIFICATION_NEW_MAIL:
                notificationIntent = new Intent(MyApplication.Me, MailListActivity.class);
                break;

            case NOTIFICATION_AVAILABLE_TRIPS:
                notificationIntent = new Intent(MyApplication.Me, TripListActivity.class);
                break;
        }

        PendingIntent contentIntent = PendingIntent.getActivity(MyApplication.Me, 0, notificationIntent, 0);
        notification.setLatestEventInfo(MyApplication.Me, title, body, contentIntent);

        notifyManager.notify(id, notification);
    }

スクリーンショット:

ここに画像の説明を入力

4

3 に答える 3

0

あなたの手段は次のとおりだと思います:

    Calendar canlender = Calendar.getInstance();
    canlender.setTimeInMillis(System.currentTimeMillis());
    canlender.add(Calendar.MILLISECOND, 1000);
    long TimeInMillised = canlender.getTimeInMillis();
    Notification notification = new Notification(drawable, message, TimeInMillised);

それを試してみてください!

于 2012-07-29T05:26:57.033 に答える
0

そのSystemClockのことは何ですか?System.currentTimeMillis() または System.nanoTime() を使用することの何が問題になっていますか?

また、12 時間/24 時間形式の時刻文字列に変換する toClock() 関数を作成してみてください。繰り返しになりますが、オフィスに戻ったら、月曜日 (サンプル コードが利用可能) に詳細をお知らせします。

于 2012-07-29T04:08:14.667 に答える
0

その通知コンストラクターは明らかに非推奨ですが、とにかくそのコンストラクターの最後のパラメーター when は、通知が作成された時刻を UNIX 時間で参照する必要があります。SystemClock.getEllapsed time は、システムが起動されてからの時間を返しますhttp://developer.android.com/reference/android/os/SystemClock.html。たとえば、あなたの場合、通知はごく最近作成されたと言っていますが、UNIX 時間では、1970 年に本当に近いと言っています。代わりに System.getCurrentTimeMillis() を使用してください。

編集: 1970 年近くまでに、Unix 時間は 1970 年の開始からミリ秒単位で測定されることを意味します。つまり、0 ミリ秒と言う場合は、1 月 1 日と言っています。 、1970年。起動からの経過時間を渡すことにより、おそらく1970年1月1日から1日か2日として報告されます

于 2012-07-29T04:30:16.583 に答える