سلام خسته نباشید
ببخشید من میخوام روی نوتیفیکشن ایکون برنامه رو ست کنم به بیت مپ هم تبدیلش میکنم ولی موقع اجرا نشون داده نمیشه!
View view1 = findViewById(R.id.Btn);
view1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this,MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TASK);
PendingIntent pendingIntent = PendingIntent.getActivity(MainActivity.this,0,intent,0);
NotificationCompat.Builder builder = new NotificationCompat.Builder(MainActivity.this,"myapp")
.setSmallIcon(R.drawable.ic_baseline_sports_football_24)
.setLargeIcon(BitmapFactory.decodeResource(getResources(),R.drawable.ic_vvvv))
.setContentTitle(getString(R.string.app_name))
.setContentIntent(pendingIntent)
.setContentText("This is a Test Noti");
NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
notificationManager.notify(new Random().nextInt(),builder.build());
}
});
اینم کده ولی ایکونی که دارم نمایش داده نمیشه
سلام وقت بخیر ابولفضل
مشکلی در کد ندیدم .
موردی که هست نوتیف نشون داده نمیشه یا فقط ایکون؟
اگر ایکون بررسی کن ic_vvvv از نوع v۲۴ نباشه .
سلام مشکل ست نشدن لارج آیکون به صورت زیر حل میشه
ابتدا برای تبدیل وکتور به بیت مپ یک متد به شکل زیر تعریف کنید
public static Bitmap getBitmapFromVectorDrawable(Context context, int drawableId) {
Drawable drawable = ContextCompat.getDrawable(context, drawableId);
Bitmap bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(),
drawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
drawable.draw(canvas);
return bitmap;
}
و سپس این متد را در کلاس بیلدر خود معرفی کنید
.setLargeIcon(getBitmapFromVectorDrawable(this, R.drawable.ic_music_player))