1

Parse API を介してプッシュ通知からテキストを受信し、それを通知オブジェクトにパッケージ化するメソッドがあります。かなり標準的なもの。私の問題は、BigTextStyle を使用して通知をリストに表示しようとしているのですが、これを拒否し、1 行のテキストしか表示せず、2 本指のジェスチャーで展開されないことです。

ただし、通知をタップしてアプリを開き、通知リストに戻ると、BigTextStyle に表示され、ジェスチャーに反応します。したがって、何らかの方法で通知をタップすると通知がアクティブになり、BigTextStyle コードが起動できるようになると思います。

通知をタップするとアプリが開くのは気に入っていますが、メッセージの全文を表示するために、ユーザーにアプリを開いてからもう一度閉じてもらう必要はありません。通知を最初から BigTextStyle 形式で表示する方法、または最初のクリックで通知を「アクティブ化」してメッセージ テキスト全体を表示し、2 回目のクリックで開くようにする方法はありますかアプリ?どんな助けでも大歓迎です。

通知メソッドからの私のコードは次のとおりです。

    public void receiveNotification() {


    NotificationCompat.BigTextStyle bts = new NotificationCompat.BigTextStyle();
    bts.bigText(SplashActivity.globalDataString);
    bts.setSummaryText("Tap to open app, swipe to dismiss message");

    NotificationCompat.Builder m = new NotificationCompat.Builder(this);
    m.setContentTitle("New Push Notification")
        .setContentText(SplashActivity.globalDataString)
        .setSmallIcon(R.drawable.app_icon)
        .setStyle(bts)
        .build();

    Intent openApp = new Intent(this, MenuActivity.class);

    // This ensures that navigating backward from the Activity leads out of
    // the application to the Home screen.
    TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
    // Adds the back stack for the Intent (but not the Intent itself)
    stackBuilder.addParentStack(MenuActivity.class);
    // Adds the Intent that starts the Activity to the top of the stack
    stackBuilder.addNextIntent(openApp);

    PendingIntent resultPendingIntent =
            stackBuilder.getPendingIntent(
                0,
                PendingIntent.FLAG_UPDATE_CURRENT
            );
    m.setContentIntent(resultPendingIntent);
    NotificationManager mNotificationManager =
        (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
    // mId allows you to update the notification later on.
    mNotificationManager.notify(pushMessageID, m.build());
    pushMessageID++;

    //reset notification
    flag1 = false;


}

編集:私の問題は、 receiveNotification() メソッドを呼び出す場所にあると思います。現在、アプリの開始アクティビティの onCreate() メソッドにそれがありますが、振り返ってみるとあまり意味がありません。それを自分の broadcastReceiver クラスに入れる必要がありますか、それとももっと良い場所に置くべきでしょうか?

4

1 に答える 1