Skip to content

Instantly share code, notes, and snippets.

@vreamer
vreamer / NotificationHelper.kt
Last active August 25, 2020 04:30
Create Notification Channel
package com.example.direct_reply_notification
import android.app.NotificationChannel
import android.app.NotificationManager
import android.content.Context
import android.graphics.Color
import android.os.Build
import androidx.core.app.NotificationManagerCompat
object NotificationHelper {
@vreamer
vreamer / MainActivity.kt
Last active August 25, 2020 04:30
Create channel on create
package com.example.direct_reply_notification
import android.os.Bundle
import io.flutter.embedding.android.FlutterActivity
class MainActivity: FlutterActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
NotificationHelper.createChannel(this) // call create channel from onCreate
}
@vreamer
vreamer / NotificationHelper.kt
Last active August 25, 2020 04:30
Show Notification
package com.example.direct_reply_notification
import android.app.Notification
import android.app.NotificationChannel
import android.app.NotificationManager
import android.app.PendingIntent
import android.content.Context
import android.content.Intent
import android.graphics.Color
import android.os.Build
@vreamer
vreamer / MainActivity.kt
Created August 25, 2020 04:32
Show notification on create
package com.example.direct_reply_notification
import android.os.Bundle
import io.flutter.embedding.android.FlutterActivity
class MainActivity: FlutterActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
NotificationHelper.createChannel(this)
NotificationHelper.showNotification(this) // show notification on create
@vreamer
vreamer / NotificationReceiver.kt
Created August 25, 2020 04:44
Handle user input
package com.example.direct_reply_notification
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.util.Log
import androidx.core.app.RemoteInput
class NotificationReceiver : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
@vreamer
vreamer / NotificationReceiver.kt
Created August 25, 2020 04:56
Update notification
package com.example.direct_reply_notification
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.util.Log
import androidx.core.app.RemoteInput
class NotificationReceiver : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
@vreamer
vreamer / AndroidManifest.xml
Created August 25, 2020 05:34
Register Notification Receiver
</activity>
<!-- add the line below to register receiver -->
<receiver android:name=".NotificationReceiver"/>
</application>
@vreamer
vreamer / NativeMethodChannel.kt
Created August 26, 2020 07:59
Configure Method Channel
package com.example.direct_reply_notification
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugin.common.MethodChannel
object NativeMethodChannel {
private const val CHANNEL_NAME = "channel"
private lateinit var methodChannel: MethodChannel
fun configureChannel(flutterEngine: FlutterEngine) {
@vreamer
vreamer / MainActivity.kt
Created August 26, 2020 08:02
Configure flutter engine
package com.example.direct_reply_notification
import android.os.Bundle
import io.flutter.embedding.android.FlutterActivity
import io.flutter.embedding.engine.FlutterEngine
class MainActivity: FlutterActivity() {
override fun configureFlutterEngine(flutterEngine: FlutterEngine) {
super.configureFlutterEngine(flutterEngine)
NativeMethodChannel.configureChannel(flutterEngine)
@vreamer
vreamer / flutter-method-channel.dart
Created August 26, 2020 08:05
Configure method channel
import 'package:flutter/services.dart';
class FlutterMethodChannel {
static const channelName = 'channel'; // this channel name needs to match the one in Native method channel
MethodChannel methodChannel;
static final FlutterMethodChannel instance = FlutterMethodChannel._init();
FlutterMethodChannel._init();
void configureChannel() {