8

私はアンドロイドアプリでFCMを使用してプッシュ通知を管理しています。アプリがフォアグラウンドにあり、アプリアイコンが表示されているときは、正常に動作します(正常に動作します)。しかし、アプリがバックグラウンドで実行されているときは、通知が正しく取得されていません。透明アイコンの代わりに、白い四角形のアイコンを通知アイコンとして表示します。 FCMは自動的にバックグラウンド操作を処理します。しかし、私はその白いアイコンの代わりに私のアプリのアイコンを表示する必要があります。 注:透明アイコンのみを使用しています。私はまた、以下のコードを試しましたアプリがバックグラウンドのときにアプリアイコンの代わりに白い四角のアイコンを表示するFCMプッシュ通知

<meta-data 
     android:name="com.google.firebase.messaging.default_notification_icon" 
     android:resource="@drawable/rt_transparent_icon" /> 
    <meta-data android:name="com.google.firebase.messaging.default_notification_color" 
     android:resource="@android:color/holo_blue_bright" /> 

しかし実際には解決策はありませんでした。誰かが私に何をするか教えてもらえますか?

+0

Uが5.0以上でテストされている可能性があります。もしそうなら、これをceckしてください。http://stackoverflow.com/questions/28387602/notification-bar-icon-turns-white-in-android-5-lollipop –

+0

返事をありがとう。私はこの解決策を試みたが、私のために働いていない。 – IndependentDev

+0

私の喜び:)これを試して何が起こるか教えてください notification.setLargeIcon(BitmapFactory.decodeResource(context.getResources()、R.drawable.ic_app_sky)); –

答えて

0

私は前にこの問題に直面し、そのようにそれを解決:「アイコン」の名前が同じであるので、もし

private int getNotificationIcon() { 
    boolean useWhiteIcon = (android.os.Build.VERSION.SDK_INT>=android.os.Build.VERSION_CODES.LOLLIPOP); 
    // LOLLIPOP or Marshmellew>>>>>>>>>>>>>>>>>>>>> KitKat or Less 
    return useWhiteIcon ? R.drawable.logo_new : R.drawable.logo; 
} 

とだけはsetSmallIcon()

nbuilder.setSmallIcon(getNotificationIcon()); 
+0

答えをありがとうが、このソリューションは私のために働いていません。その他のオプションは? – IndependentDev

1
{ 
"to" : "token", 
    "notification": {"body": "Body", 
"title": "Title", 
"click_action": "com.sample.test.OPEN_ACTIVITY", 
     "icon" : "ic_launcher" 
}, 
"data": { 
    "image": "https://ibin.co/2t1lLdpfS06F.png", 
    "message": "Firebase Push Message Using API" 

    } 
} 

でこの関数を呼び出しますあなたのアプリがバックグラウンドの場合、FCMはあなたのファイル名をアプリドローブブルとして取り込み、結果を処理します。フォアグラウンドでは通知の独自のカスタム実装が動作します。 lemeは、問題を解決したかどうかを知っています。

+0

私のために働いた - しかし、私は本当にアプリのコードでこれを行うと、アイコンファイルの一致する名前でリレーしない方法を知りたい –

関連する問題