feat(android): aggiungi permesso INTERNET e canale nativo per aprire URL
Aggiunge INTERNET permission e la query ACTION_VIEW/https richiesta da Android 11+ per la package visibility. Espone il MethodChannel 'com.davide.biteplan/launcher' che lancia un Intent.ACTION_VIEW con l'URL ricevuto, senza dipendere da plugin Flutter esterni. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<uses-permission android:name="android.permission.CAMERA" />
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<application
|
||||
android:label="BitePlan"
|
||||
android:name="${applicationName}"
|
||||
@@ -42,5 +43,9 @@
|
||||
<action android:name="android.intent.action.PROCESS_TEXT"/>
|
||||
<data android:mimeType="text/plain"/>
|
||||
</intent>
|
||||
<intent>
|
||||
<action android:name="android.intent.action.VIEW"/>
|
||||
<data android:scheme="https"/>
|
||||
</intent>
|
||||
</queries>
|
||||
</manifest>
|
||||
|
||||
@@ -1,5 +1,29 @@
|
||||
package com.davide.biteplan
|
||||
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
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 val channel = "com.davide.biteplan/launcher"
|
||||
|
||||
override fun configureFlutterEngine(flutterEngine: FlutterEngine) {
|
||||
super.configureFlutterEngine(flutterEngine)
|
||||
MethodChannel(flutterEngine.dartExecutor.binaryMessenger, channel)
|
||||
.setMethodCallHandler { call, result ->
|
||||
if (call.method == "launch") {
|
||||
val url = call.argument<String>("url")
|
||||
if (url != null) {
|
||||
startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(url)))
|
||||
result.success(null)
|
||||
} else {
|
||||
result.error("INVALID_URL", "URL is null", null)
|
||||
}
|
||||
} else {
|
||||
result.notImplemented()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user