プッシュ通知にParseを使用する場合、アプリは常にアプリケーションのランチャーアイコンを表示していました。最新のAndroid 5.1バージョンでは、アイコンは空白(白い四角)で表示されます。
メタデータにアイコンを設定してみました:
<meta-data Android:name="com.parse.Push.notification_icon" Android:resource="@drawable/noti_icon"/>
質問に基づく ここ
しかし、何も機能していないようです。何か案は?
Android Lollipop5.0以降では透明な白いアイコンを使用する必要があります。 ParsePushBroadcastReceiverクラスを拡張し、2つのメソッドをオーバーライドして、通知アイコンをこれらのAndroid APIと互換性のあるものにすることができます。
@Override
protected int getSmallIconId(Context context, Intent intent) {
return R.drawable.your_notifiation_icon;
}
@Override
protected Bitmap getLargeIcon(Context context, Intent intent) {
return BitmapFactory.decodeResource(context.getResources(), R.drawable.your_notifiation_icon);
}
Lollipopおよび以前のAPIをサポートするようにコードをカスタマイズすることを忘れないでください。
if (Android.os.Build.VERSION.SDK_INT >= Android.os.Build.VERSION_CODES.Lollipop) {
return BitmapFactory.decodeResource(context.getResources(), R.drawable.your_notifiation_icon_Lollipop);
}
else{
return BitmapFactory.decodeResource(context.getResources(), R.drawable.your_notifiation_icon);
}
解析やプッシュのニティフィケーションとは関係ありませんが、Android 5.0が通知アイコンを処理する方法です。詳細についてはこの関連する質問を参照してください: 通知バーアイコンはAndroid 5ロリポップ
このコードを試してください。
Bitmap largeIcon = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
.setSmallIcon(R.drawable.ic_launcher)
.setLargeIcon(largeIcon)
.setContentText(data)
.setContentTitle("Notification from Parse")
.setContentIntent(pendingIntent);
@Pelanesには正解がありますが(受け入れられるべきです)、これが私がしたことです。 getSmallIconIdのドキュメントを解析 は次のように述べていることに注意してください。
Retrieves the small icon to be used in a Notification. The default implementation uses the icon specified by com.parse.Push.notification_icon meta-data in your AndroidManifest.xml with a fallback to the launcher icon for this package. To conform to Android style guides, it is highly recommended that developers specify an explicit Push icon.
したがって、getSmallIconId()メソッドとgetLargeIcon()メソッドをオーバーライドする必要はまったくありません。
この問題を解決するために私がしたことは、アイコンのコピーを作成し、アイコンに透明な「穴」を開け、マニフェストのcom.parse.Push.notification_icon
メタデータをこの新しいアイコンを指すように設定することでした。
Android 5.0の場合、他の人が言及しているように、通知アイコンは白で透明である必要があります。したがって、個別のアイコンを作成する必要があります。マニフェストに1行、新しい描画可能ファイルを1つ作成します。必要なすべて。