第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

“net::ERR_UNKNOWN_URL_SCHEME”錯(cuò)誤,當(dāng) url 是

“net::ERR_UNKNOWN_URL_SCHEME”錯(cuò)誤,當(dāng) url 是

子衿沉夜 2023-05-10 13:15:00
我已經(jīng)使用 flutter web_view_plugin(webview) 構(gòu)建了一個(gè)混合應(yīng)用程序。我們的一種支付方式需要打開(kāi)第三方應(yīng)用程序(在本例中為 kakaotalk)。但是flutter webview插件沒(méi)有提供這個(gè)功能,返回了net::ERR_UNKNOWN_URL_SCHEME。我做了一些研究,我明白問(wèn)題出在url. 如果url不以http或開(kāi)頭https,則會(huì)導(dǎo)致此錯(cuò)誤。所以,為了解決這個(gè)問(wèn)題,我不得不更改本機(jī) java 代碼。java現(xiàn)在我對(duì)和沒(méi)有任何經(jīng)驗(yàn)android,因此修復(fù)本機(jī)代碼非常困難。我知道我必須修改shouldOverrideUrlLoading部分,以允許url以開(kāi)頭的intent://部分,而且我必須進(jìn)行一些驗(yàn)證以檢查該應(yīng)用程序是否已安裝。(如果未安裝,則應(yīng)將用戶重定向到 playstore)我添加的代碼在shouldOverrideUrlLoading. 我也做了三個(gè)進(jìn)口。剩下的就是代碼,flutter生成package com.flutter_webview_plugin;import android.annotation.TargetApi;import android.graphics.Bitmap;import android.os.Build;import android.webkit.WebResourceRequest;import android.webkit.WebResourceResponse;import android.webkit.WebView;import android.webkit.WebViewClient;import java.util.HashMap;import java.util.Map;import java.util.regex.Matcher;import java.util.regex.Pattern;import android.content.Intent; //added importimport android.net.Uri; //added importimport android.content.ActivityNotFoundException; //added import/** * Created by lejard_h on 20/12/2017. */public class BrowserClient extends WebViewClient {    private Pattern invalidUrlPattern = null;    public BrowserClient() {        this(null);    }    public BrowserClient(String invalidUrlRegex) {        super();        if (invalidUrlRegex != null) {            invalidUrlPattern = Pattern.compile(invalidUrlRegex);        }    }    public void updateInvalidUrlRegex(String invalidUrlRegex) {        if (invalidUrlRegex != null) {            invalidUrlPattern = Pattern.compile(invalidUrlRegex);        } else {            invalidUrlPattern = null;        }    }    @Override    public void onPageStarted(WebView view, String url, Bitmap favicon) {        super.onPageStarted(view, url, favicon);        Map<String, Object> data = new HashMap<>();        data.put("url", url);        data.put("type", "startLoad");        FlutterWebviewPlugin.channel.invokeMethod("onState", data);    }代碼編譯,但當(dāng)net::ERR_UNKNOWN_URL_SCHEME我嘗試使用“第 3 方應(yīng)用程序(kakaotalk)”付款時(shí),它仍然返回相同的錯(cuò)誤
查看完整描述

3 回答

?
慕娘9325324

TA貢獻(xiàn)1783條經(jīng)驗(yàn) 獲得超4個(gè)贊

之前,當(dāng) Firebase 動(dòng)態(tài)鏈接被強(qiáng)制加載到 WebView 中時(shí),我在 Android 上遇到了類似的錯(cuò)誤。就我而言,F(xiàn)DL 預(yù)計(jì)將由 Android 中的 Google Play 服務(wù)處理。但是由于 WebView 不知道如何處理它被迫顯示的鏈接,WebView 返回“net::ERR_UNKNOWN_URL_SCHEME”錯(cuò)誤。我不確定這是否與您的情況相同,因?yàn)槲覠o(wú)法驗(yàn)證您嘗試從“intent://kakaopay...”加載的鏈接

您可以嘗試使用外部打開(kāi)鏈接url_launcher。使用 RegEx 過(guò)濾意圖 URL 并檢查 URL 是否可以在外部(應(yīng)用程序外部)啟動(dòng)和處理。

var yourURL = "URL goes here";

// Check if URL contains "intent"

yourURL.contains(RegExp('^intent://.*\$')){

? // Check if the URL can be launched

? if (await canLaunch(yourURL)) {

? ? await launch(yourURL);

? } else {

? ? print('Could not launch $yourURL');

? }

}

此外,您使用的插件 (?web_view_plugin) 似乎已過(guò)時(shí),我無(wú)法在此處找到它https://pub.dev/packages?q=web_view_plugin。Flutter 有它的官方 WebView 插件 (?webview_flutter) 已經(jīng)發(fā)布,我建議檢查它是否適合你的用例。



查看完整回答
反對(duì) 回復(fù) 2023-05-10
?
紅顏莎娜

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超13個(gè)贊

這樣做了:


_launchURL(url) async {

? var link = "https://hiddenwords.page.link/deposit";


? if (await canLaunch(link)) {

? ? ? await launch(link,

? ? ? forceWebView: false, enableJavaScript: true, forceSafariVC:?

? ? false);

? } else {

? ? throw 'Could not launch $link';

? }

}

我手動(dòng)將我希望它在 _launch 函數(shù)中打開(kāi)的 url/鏈接放在 _launch 函數(shù)中...不要介意 _launch 括號(hào)中的 url。


我還將此添加到 Webview 小部件:


navigationDelegate: (NavigationRequest request) {

? ?if (request.url.contains(RegExp('^intent://.*\$')))? {

? ? ? ? _launchURL(request.url);

? ? ? ? return NavigationDecision.prevent;

? ?}

? ? ?return NavigationDecision.navigate;

},

希望這對(duì)你有用。這個(gè)對(duì)我有用...


查看完整回答
反對(duì) 回復(fù) 2023-05-10
?
慕村225694

TA貢獻(xiàn)1880條經(jīng)驗(yàn) 獲得超4個(gè)贊

1.使用你的APP在flutter中使用參數(shù)打開(kāi)其他應(yīng)用程序(在你的動(dòng)態(tài)鏈接中);2.使用:url_launcher:^6.1.6;


首先,他們的應(yīng)用程序必須支持動(dòng)態(tài)鏈接;其次,他們?yōu)槟峁┙灰椎膭?dòng)態(tài)鏈接;這樣我們就可以點(diǎn)擊你APP中的動(dòng)態(tài)鏈接,跳轉(zhuǎn)到他們APP的指定頁(yè)面了。


代碼:


 final Uri toLaunch = Uri(scheme: 'https', host: 'link.fitstop.com', path: 'link/qbvQ/');

  //https://link.fitstop.com/link/qbvQ   is dynamic link


  Future<void>? _launched;


    ElevatedButton(

              onPressed: () => setState(() {

                _launched = _launchInBrowser(toLaunch);

              }),

              child: Text(

                'url_launcher',

              ),

            )


  Future<void> _launchInBrowser(Uri url) async {

    if (!await launchUrl(

      url,

      mode: LaunchMode.externalApplication,

    )) {

      throw 'Could not launch $url';

    }

  }


查看完整回答
反對(duì) 回復(fù) 2023-05-10
  • 3 回答
  • 0 關(guān)注
  • 1551 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)