应用场景
我正在使用本机开发一个移动应用程序。它已连接到API,并具有身份验证登录名等。所有端点工作正常,并给出适当的响应。用户登录后,如果用户未注销并退出应用程序,则无需再次登录。开头有一个初始屏幕,检查是否设置了密码,并允许用户导航到仪表板。如果用户单击仪表板中的“后退”按钮,则应用程序退出。然后,用户可以再次打开它并导航到仪表板。
问题
如果是用户,请滑动该应用程序以退出该应用程序,然后再次打开它,API请求被破坏。初始屏幕中的API请求是auth端点。该时间请求得到响应,说网络错误。只是网络错误,没有状态代码。我也检查了后端,但是没有任何请求到达后端。只有在应用程序被清除后,我才能弄清楚为什么会发生网络错误。从应用程序正确退出并没有发生这种情况。
这是我在初始屏幕中的axios请求。同样的请求也会在登录屏幕中发生。端点没有问题。
const getLogin = (mobile, passcode) => {
var bodyFormData = new FormData();
bodyFormData.append('username', mobile);
bodyFormData.append('password', passcode);
bodyFormData.append('grant_type', 'password');
return axios({
method: 'POST',
url: `${URL.URL_VAR}/api/oauth/oauth/token`,
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
data: bodyFormData
}).then(function (response) {
return response;
}).catch(function (response) {
console.log("Get login error: " + JSON.stringify(response));
return response;
});
}
清单xml文件
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.campaign">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<application
android:networkSecurityConfig="@xml/network_security_config"
android:usesCleartextTraffic="true" tools:targetApi="28"
android:name=".MainApplication"
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:allowBackup="false"
android:theme="@style/AppTheme">
<uses-library android:name="org.apache.http.legacy" android:required="false"/>
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
</application>
</manifest>
network_security_config文件
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">localhost</domain>
<domain includeSubdomains="true">Domain 1</domain>
<domain includeSubdomains="true">Domain 2</domain>
<trust-anchors>
<certificates src="system" />
<certificates src="user" />
</trust-anchors>
</domain-config>
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates src="system" />
</trust-anchors>
</base-config>
</network-security-config>
这些是我的配置文件,并尝试了许多解决方案。但是没有任何帮助。
请帮助我查找并修复它。