4 回答

TA貢獻1842條經驗 獲得超13個贊
如果降低 targetSDK,問題就會消失,這可能usesCleartextTraffic是 Nidhin Josehp 提到的問題。當目標為 SDK 28 或更高版本時,它只會影響 Android 8 或更新版本的設備。
您可以將AndroidManifest.xml其添加到config.xml
<platform name="android">
<edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application">
<application android:usesCleartextTraffic="true" />
</edit-config>
</platform>
您可能需要將小部件標簽更改config.xml為如下所示:
<widget id="com.your.app.id" version="1.0.0"
xmlns="http://www.w3.org/ns/widgets"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:cdv="http://cordova.apache.org/ns/1.0">
(加法是xmlns:android="http://schemas.android.com/apk/res/android")

TA貢獻1824條經驗 獲得超6個贊
嘗試添加android:usesCleartextTraffic="true"到<application>或AndroidManifest.xml如下使用config.xml
<platform name="android">
<edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application">
<application android:usesCleartextTraffic="true" />
</edit-config>
</platform>
android:usesCleartextTraffic指示應用是否打算使用明文網絡流量,例如明文 HTTP。針對 API 級別 27 或更低級別的應用程序的默認值為“true”。以 API 級別 28 或更高級別為目標的應用默認為“false”。更多信息
明文是任何未加密或打算加密的傳輸或存儲信息。當應用程序使用明文網絡流量(例如 HTTP)與服務器通信時,它可能會增加竊聽和篡改內容的風險,這就是為什么在最新的 Android 設備中,它被默認設置為false。

TA貢獻2065條經驗 獲得超14個贊
我要跳,我發誓。
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="26" />
將 targetSdkVersion 從 28 更改為 26。有效。但這將是一場噩夢。

TA貢獻1801條經驗 獲得超16個贊
這是指由 Chrome 76 中引入的錯誤引起的與 CORS 相關的問題(基于相同版本的 WebKit 的 WebViews 受到影響也)。Chrome 76 于 2019 年 8 月開始推出。如果受影響的應用程序重新啟動但隨機返回,問題通常會消失。
根據工單,該問題已在這幾天推出的 Chrome 76.0.3809.111 中得到修復。
在您的模擬器上,您可能使用的是舊版本的 Chrome,這可能是問題沒有出現在那里的原因。如果您比較受影響和未受影響的設備,發現只有運行版本 >=76.0
和 <的 Chrome 的設備76.0.3809.111
顯示癥狀,您可能找到了問題的原因。
如果是這種情況,您至少有以下選擇:
等待 Chrome 的固定版本推出(許多受影響的手機可能已經出現這種情況)。
如果您控制著服務器,則可以將
file://
來源添加到那里的允許來源列表中,這就是我們所做的。不過,您必須仔細考慮安全隱患。
順便說一句,在重新啟動應用程序后,問題通常會消失,這使得調試變得困難。我們發現,它可以通過卸載并重新安裝受影響的應用程序來重現。
添加回答
舉報