0

これはユーザーにプッシュ通知を表示する方法です。一部のデバイスはメッセージ本文を表示していませんが、タイトルのみが表示されます

Notification notification = new Notification.Builder(getApplicationContext()) 
    .setSmallIcon(R.drawable.ic_launcher) 
    .setAutoCancel(true) 
    .setContentIntent(intent) 
    .setContentTitle("Title") 
    .setStyle(new Notification.BigTextStyle() 
    .bigText(msg)) 
    .setSound(soundUri) 
    .build(); 
notificationManager.notify(0, notification); 

これは、Samsung s5,Samsung s7で問題なく動作しています。しかしsamsung Note3には、タイトルのみが表示され、メッセージ本文は表示されません。これは他のデバイスでも発生している可能性があります。

この理由が何であるかを教えてください。

答えて

1

は、このコードあなたのコールチェーンに.setContentText(msg)を追加

NotificationCompat.Builder mBuilder = 
      new NotificationCompat.Builder(context) 
        .setSmallIcon(R.drawable.ic_launcher) 
        .setAutoCancel(true) 
        .setContentIntent(intent) 
        .setContentTitle("Title") 
        .setStyle(new Notification.BigTextStyle() 
         .bigText(msg)) 
        .setSound(soundUri) 
        .setContentText(detail); 


    NotificationManager mNotifyMgr = 
      (NotificationManager) context.getSystemService(NOTIFICATION_SERVICE); 

    mNotifyMgr.notify(mNotificationId, mBuilder.build()); 
+1

はい、それは役に立ちました。ありがとう – Kirmani88

1

は、問題を解決する必要があります試してみてください。

Android documentation for NotificationCompatは、 "プラットフォームがリッチな通知スタイルを提供していない場合、[setStyle(Style style)]は効果がありません"と述べています。私は信仰の跳躍をして、これが問題の原因だと言います。

+0

大丈夫ですので、bigText()を削除する必要がありますか?私はbigTextを追加して複数の行にテキストを表示しました。 – Kirmani88

+0

いいえ:S「setStyle」で何をしても、いくつかのデバイスには何の影響もありません。私はちょうどそれらのデバイスの1つであると仮定しています。しかし、豊富な通知スタイルを提供するデバイスでは、 'setStyle'が動作します。それで、bigText()を削除したり保持することは、おそらくノート3に影響を与えません。 –

+0

@ Kirmani88あなたの質問に答えたら、この回答を受け入れてください。 –

関連する問題