import android.app.Notification import android.app.NotificationManager import android.app.PendingIntent import android.content.Context import android.graphics.Bitmap import android.graphics.BitmapFactory import android.os.Bundle import android.widget.Toast import androidx.core.app.NotificationCompat import io.flutter.embedding.android.FlutterActivity import io.flutter.plugin.common.MethodChannel class MainActivity : FlutterActivity() { private val CHANNEL = "custom_notifications" override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // MethodChannel ile gelen mesajı alıyoruz MethodChannel(flutterEngine!!.dartExecutor, CHANNEL).setMethodCallHandler { call, result -> if (call.method == "showNotification") { val imageData = call.argument("image") if (imageData != null) { val image = BitmapFactory.decodeByteArray(imageData, 0, imageData.size) showNotification(image) } result.success(null) } else { result.notImplemented() } } } // Görseli kullanarak bildirim gösterme private fun showNotification(image: Bitmap) { val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager // Bildirim oluşturuyoruz val builder = NotificationCompat.Builder(this, "default") .setSmallIcon(android.R.drawable.ic_notification_overlay) .setContentTitle("Flutter Bildirimi") .setContentText("Buna tıklayın!") .setLargeIcon(image) // Görseli büyük ikon olarak ekliyoruz .setStyle(NotificationCompat.BigPictureStyle().bigPicture(image).bigLargeIcon(null)) .setAutoCancel(true) // Bildirim tıklama olayını ayarlıyoruz val pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT) builder.setContentIntent(pendingIntent) // Bildirimi gösteriyoruz notificationManager.notify(1, builder.build()) } }