I bought a few days ago a Hauwei P30 lite, which comes with Android 9. In my case, I often connect to the Internet via the mobile network. When I configure the smartphone as a Wi-Fi hotspot (tethering), the smartphone apps are not allowed any more to the Internet (while the external devices exploiting that same hotspot for Internet connection are). In other words, If I use the smartphone as a mobile 4G+ modem, then no Android app has Internet connection. For example, after enabling the hotspot, my laptop connects flawlessly to the Internet through the smartphone hotspot, so I can open for example WhatsApp web, but I cannot use it because the WhatsApp app on the smartphone is not allowed to the Internet. I find that rather silly. My old 3G smartphone with Android 4.2.1 provides a hotspot while at the same time allowing Internet navigation from the smartphone, so that the WhatsApp scenario described above works flawlessly. The new smartphone with a 4G+ modem does not allow that. ???? For the record, I am settled in Italy.
from reddit user PiGeek_314
Go into Settings > Wireless & Networks > Mobile Network > Access Point Name > and Delete the "Hotspot APN"
or this for AT&T
Enable developer mode (Go to Settings -> System -> About phone, and click on the build number until the developer mode is enabled).
Enable USB debugging under Settings -> System -> Developer options
Connect the device with a USB cable to a computer with the Android SDK platform tools installed
Start an adb shell
In the adb shell, type the following:
adb shell settings put global tether_dun_required 0 settings put global tether_dun_apn "APNDUN,n.ispsn,,,,,,http://mmsc.mobile.att.net,proxy.mobile.att.net,80,310,410,,default,dun,mms,supl,hipri,fota,xcap"
another method is to edit
Note: you need a rooted device for this
I am not sure how this solves your problem with losing internet connection. i have just copy & pasted this. other Huawei users claim this works. basically reason could be that different APNs exist and device (or just the app) is choosing the wrong entry