1-) FLUTTER - InAppWebView whatsapp telefon mail vs yönlendirme
1. BU EN İYİSİ
child: InAppWebView(
shouldOverrideUrlLoading:
(controller, navigationAction) async {
var uri = navigationAction.request.url!;
String url = uri.toString().replaceAll("mail:", "mailto:");
if (![
"http",
"https",
"file",
"chrome",
"data",
"javascript",
"about"
].contains(uri.scheme)) {
if (await canLaunch(url)) {
await launch(
url,
);
return NavigationActionPolicy.CANCEL;
}
}
return NavigationActionPolicy.ALLOW;
},
),
2. BUNADA BAKABİLİRSİN
shouldOverrideUrlLoading:
(controller, navigationAction) async {
var uri = navigationAction.request.url!;
if(uri.toString().toLowerCase().contains("mail:")){
if (await canLaunch(uri.toString())) {
// Launch the App
await launch(uri.toString());
// and cancel the request
return NavigationActionPolicy.CANCEL;
}
}
if (uri.toString().toLowerCase().contains("://wa.me/") ||
uri.toString().toLowerCase().contains("://api.whatsapp.com/") ||
!uri.toString().toLowerCase().startsWith("http")) {
if (await canLaunch(uri.toString())) {
// Launch the App
await launch(uri.toString());
// and cancel the request
return NavigationActionPolicy.CANCEL;
}
}
return NavigationActionPolicy.ALLOW;
},