应用关闭或最小化时Android中的白色通知

时间:2017-06-21 19:54:14

标签: android firebase firebase-cloud-messaging android-notifications

我刚刚在我的Android应用中实现了FCM推送通知,我得到一个奇怪的行为,因为它似乎只在应用程序打开时加载剪影图标,但当它关闭或最小化时,我得到一个白色圆圈。我认为它显示的是ic_launcher图标,而不是我的ic_stat_white图标。我在photoshop中创建了我的基本图标并使用Android Asset Studio来获取所有大小(https://romannurik.github.io/AndroidAssetStudio/icons-notification.html),我尝试了所有可以找到或想到的解决方案,在推送通知消息中添加了额外的值(“icon “:”ic_stat_white“),使缓存无效,以及我在Stack Overflow中找到的所有内容,没有结果。

在我的Firebase Messaging Service类中,我有以下代码来创建通知:

NotificationCompat.Builder mBuilder =
                (NotificationCompat.Builder) new NotificationCompat.Builder(this)
                        .setSmallIcon(getNotificationIcon())
                        .setContentTitle("App name")
                        .setAutoCancel(true)
                        .setContentText(message);

mBuilder.setContentIntent(resultPendingIntent);
// Sets an ID for the notification
int mNotificationId = 001;
// Gets an instance of the NotificationManager service
NotificationManager mNotifyMgr =
                (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
// Builds the notification and issues it.
mNotifyMgr.notify(mNotificationId, mBuilder.build());

和getNotificationIcon方法:

private int getNotificationIcon() {
    boolean useWhiteIcon = (android.os.Build.VERSION.SDK_INT>=android.os.Build.VERSION_CODES.LOLLIPOP);        
    return useWhiteIcon ? R.drawable.ic_stat_white : R.mipmap.ic_launcher;
}

我觉得应用程序无法访问应用程序外部的图标或类似内容,虽然我已添加

import com.appname.R; 

似乎根本没有使用它。

任何人都知道这里的问题是什么?

干杯!

1 个答案:

答案 0 :(得分:0)

即使我从FCM管理面板设置了图标,问题也在发生,但是在PHP中创建我自己的后端控制器后似乎我没有在应用程序中获得此行为,尽管如果我不调用推送通知我自己的系统我仍然得到一个空白图标(???)。

$title = "App name";
$message = $_POST['pushmessage'];

$ch = curl_init("https://fcm.googleapis.com/fcm/send");
$header=array('Content-Type: application/json',
"Authorization: key=longAPIKEY...fromFCM");

curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt( $ch,CURLOPT_SSL_VERIFYPEER, false );

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "{ \"notification\": {    \"title\": \"".$title."\",    \"text\": \"".$message."\" , \"icon\" : \"ic_stat_white\"  },    \"to\" : \"/topics/allDevices\"}");

curl_exec($ch);
curl_close($ch);    

干杯!