0

私はAndroidアプリケーションに取り組んでいます。アプリはネイティブのSMSアプリケーションのようなものです。通知部分で問題が発生しています。ネイティブアプリでは、次のように通知を処理します。

1)特定の番号からのメッセージの場合、通知をクリックすると、対応する連絡先のチャットページが表示され、通知がクリアされます。

2)異なる番号からのメッセージの場合、通知をクリックするとホームページが表示され、通知はクリアされません。

私は前半をやりましたが、後半をやるつもりはありません。通知部分を明確にせずに残して、インテントを呼び出す方法はありますか?

4

2 に答える 2

6

フラグを追加する必要があります:

 notification.flags |= Notification.FLAG_ONGOING_EVENT;

ここに全体の例:

 private static final int NOTIFICATION_EX = 0;
 private NotificationManager notificationManager;

...

onCreateで:

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



int icon = R.drawable.youricon;
    CharSequence tickerText = "Sticky notification";
    long when = System.currentTimeMillis();

    Notification notification = new Notification(icon, tickerText, when);

    Context context = getApplicationContext();
    CharSequence contentTitle = "Sticky notification";
    CharSequence contentText = "...click here and it wont go away...";
    Intent notificationIntent = new Intent(this, mainmenu.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
            | Intent.FLAG_ACTIVITY_SINGLE_TOP);
    PendingIntent contentIntent = PendingIntent.getActivity(this, 
        0, notificationIntent, 0);

    notification.setLatestEventInfo(context, contentTitle, 
        contentText, contentIntent);
    notification.flags |= Notification.FLAG_ONGOING_EVENT;

    notificationManager.notify(NOTIFICATION_EX, notification);

好きなように調整できる意図。

于 2012-09-25T12:01:54.937 に答える
1

2 つの異なる種類の通知を作成する必要があります。最初の通知は既に実装済みで、2 番目の通知は最初の通知をコピーして番号が異なるかどうかを確認し、2 番目の通知を使用してフラグをクリアしないように設定する必要があります。notification2.flags |= Notification.FLAG_ONGOING_EVENT;の HomeActivity をクリックすると、次のPendingIntentものが含まれIntentます。

于 2012-09-25T12:03:49.973 に答える