diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index d3a3714..f052020 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -24,7 +24,11 @@
-
+
+
+
+
+
diff --git a/android/app/src/main/kotlin/com/example/maps_bookmarks/MainActivity.kt b/android/app/src/main/kotlin/com/example/maps_bookmarks/MainActivity.kt
index b15aaa2..0f2debc 100644
--- a/android/app/src/main/kotlin/com/example/maps_bookmarks/MainActivity.kt
+++ b/android/app/src/main/kotlin/com/example/maps_bookmarks/MainActivity.kt
@@ -1,5 +1,44 @@
package com.example.maps_bookmarks
+import android.content.Intent
+import android.os.Bundle
import io.flutter.embedding.android.FlutterActivity
+import io.flutter.embedding.engine.FlutterEngine
+import io.flutter.plugin.common.MethodChannel
-class MainActivity : FlutterActivity()
+class MainActivity: FlutterActivity() {
+ private var sharedText: String? = null
+ private val CHANNEL = "app.channel.shared.data"
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ handleIntent(intent)
+ }
+
+ override fun onNewIntent(intent: Intent) {
+ super.onNewIntent(intent)
+ setIntent(intent)
+ handleIntent(intent)
+ }
+
+ private fun handleIntent(intent: Intent) {
+ val action = intent.action
+ val type = intent.type
+
+ if (Intent.ACTION_SEND == action && "text/plain" == type) {
+ sharedText = intent.getStringExtra(Intent.EXTRA_TEXT)
+ }
+ }
+
+ override fun configureFlutterEngine(flutterEngine: FlutterEngine) {
+ MethodChannel(flutterEngine.dartExecutor.binaryMessenger, CHANNEL)
+ .setMethodCallHandler { call, result ->
+ if (call.method == "getSharedText") {
+ result.success(sharedText)
+ sharedText = null
+ } else {
+ result.notImplemented()
+ }
+ }
+ }
+}