# Question
Title: I'm stuck at TWRP recovery menu,whenever I turn on my device.
I had a perfectly good root on my Samsung Tab (SM-T111). However I downloaded and installed "quick reboot" from play store. I selected boot to recovery (in the app). Now whenever I try to turn on my device I'm stuck in the Twrp recovery menu. What to do?

# Answer
You probably flashed TWRP both as recovery and as boot. to fix this just install the latest version of your ROM or flash you ROM's boot.img as boot;

```
fastboot flash boot [boot.img]

```
> 2 votes

# Answer
You have to format the entire internal storage to boot in system OS. I was stuck like this for a while.
> 0 votes

---
Tags: rooting, stock-android, twrp
---


title: Regain access to (partly) locked phone

text:
# Question
Title: Regain access to (partly) locked phone
I know I know: Again someone asking "how do I unlock my phone without the pattern", but please read to the end haha.

I use a VPN software on my phone that asks me to change me lock screen settings every 6 months. So did I, guess what, 6 months ago. Since I never restarted my phone and I use face unlock and fingerprint, I never had to re-enter my pattern. Today I was stupid enough to restart my phone and locked myself out.

It's a huawei mate 10 pro (BLA-29) and yes, I can prove that I am the legal owner of this device :D

Some months ago I activated the developer options and also USB debugging. Why? I thought that I could remove the "gesture.key" file if I forget the pattern. So yes, my PC can find the phone with fastboot and abd. But i did NOT unlock the boot loader (and I did not check the option in the developer settings).

I tested a lot of patterns but the time inbetween the 3 chances to enter a pattern rises, I am at 2 hours at the moment.

Fortunatelly I added a second user account to the phone, but it's a standard user and not an admin. I also installed "lostandroid" by https://www.androidlost.com/ but unfortunatelly my phone does not receive any commands since I am logged in with the second (non-admin) account.

My next attempt was to remove the pattern file via "adb shell rm /data/system/gesture.key" but the file does not exists. Yes, I googled and found out, that since android marshmellow the files are p.e. "/data/system/gatekeeper.pattern.key" but this file ALSO does not exist.

* I can't flash a new zip or su.zip since the bootloader is still locked and I can't unlock it.
* I can't pull the gesture file since none of them (as mentioned above) exist.
* I can't push another key since I always get "permission denied", no matter to which directory I try to push
* "SU" is not installed.
* "adb root" doesn't to anything but also throws no error.
* The system partition is read only.
* I can't remount the system partition since it gives a error message that verity is enabled.
* I can't disable verity since it's a user build.
* The backup created with "adb backup" are way too small (just about 1 GB), no matter which parameters (apk/noapk, all, system/nosystem etc.) I use. So there is no chance to create a backup of my data, right?
* I can't unlock the bootloader with "fastboot oem unlock UUUUUUUUUUUUUUUU" since I did not check the setting in the developer options. My second user is not allowed to open the developer settings.
* my second account seems to be broken since my phone throws an error "apps are beeing prepare, try again later" (translated roughly from German) but even after 2 hours, several reboots, the apps don't open.

I stumbled accross this thread and honestly I dont know if this could help with my problem.

How to disable dm-verity on Android with "user" build type ROM?

So is there anybody that can help me with this? I know that I am really stupid but hard resetting without a backup is no option. I got backup files of course but I received important files of a big customer of my business on that phone 2 days ago, so there is no backup yet which includes these files.

As I wrote: it's my phone, I can prove it :D but it's really important so maybe there is anybody that can help me :(

# Answer
Success. Even if I can't explain how/why. I took my phone and my muscle memory "remembered" the correct pattern. At first I was happy with that, of course, but then I realized that it was the pattern that I tried a dozen times in the last 2 days. I also wrote down all patterns that I tried and it was the very first!

How come it suddenly worked? Now knowing the pattern I locked my phone again and unlo... wait. I was in. No pattern any more. it just disappeared!

I opened the settings app and searched for the security settings for "display lock". Before, I could decide between "PIN" (numbers only), "Password" (alphanumeric) and pattern. "Face unlock" and "fingerprint" were additionally available AFTER I set up a display lock.

But now I can only choose "unlock password" which is a fixed length (6 digit) number. Why do they call it "password" if it's just a PIN?!

So... why are the other options gone? Why can't I choose the pattern anymore? Why did it suddenly disappear? Questions after questions.

My system information tell me that the phone still runs with android 10 and EMUI 10, the last security patch was on "01.07.2021" (july 1st). Also "USB debugging" was disabled. There was no software update for a long time.

I am glad that I can use my phone again but I felt like the dumbest person on earth since I own a repair shop and I repair smartphones since 2010. Every time a customer tells me that he did not make any backups (what I did!) and that he did not set up any recovery option for his phone, I get a little angry with him.

And then I could not access my own phone even I set up

* huawei ID
* google "find my phone"
* "Lost android" by www.androidlost.com
* SMS commands (like unlocking my fckn phone!) by www.androidlost.com
* USB debugging with an authorization for my computer but nothing of that worked.

In conclusion: I may not be as stupid as I felt and I'll never get an answer on how that happened. But I'm very happy.

thanks for your time @alecxs
> 1 votes

---
Tags: huawei, pattern-lock
---


# Question
Title: Allow access to tablet data security dialog box
I have been given the task to get some android tablets (SM-T500) working in kiosk mode (soti mobicontrol). The issue is when they are in kiosk mode it blocks the USB switcher menu and the allow access to tablet data dialog box

I have managed to get the USB switcher menu working by allowing **Launch://com.android.settings/.Settings$UsbDetailsActivity** to launch but for the life of me I cannot workout what apk strand (not sure if thats the correct terminology) that controls the "Allow access to tablet data" security dialog box

I am new to android and usually only work with ios.... would anybody be able to point me in the right direction??

# Answer
Working with Soti we have found the activity that runs this popup message is com.samsung.android.MtpApplication/.USBConnection - allowing this to the whitelist allowed it through the kiosk mode (just in case anyone falls into the same black hole i did)
> 0 votes

---
Tags: security, usb
---


# Question
Title: Where is hidden additional data of an app stored?
This question came to my mind when I installed Oxford Dictionary. It's strange that I couldn't see the additional files (audio, dictionary, and pictures) in an unrooted device. This app has a base app (idk what it's called) and it will download the additional files through the app (these files are not automatically downloaded when the app's installed from playstore).

The reason I need to know the storage placement is, so I could copy the additional files and paste to let's say SD Card or OTG memory stick and ditto to my other device, so that I needn't download it again because the file is quite huge.

The problem is I couldn't find it anywhere. Is it because my phone is unrooted since it's probably stored in deep storage that requires root to modify it? If that so, at least, when I check the properties of the storage of the app i.e. that is placed in *Android \> data*, (the name of folders are usually started by "com. xxx") the file size shows 0 kb that means nothing's there. At first, I assume it happens because my device is unrooted and I came across with this discussion here that I can actually **see** the root files (using MiXplorer), but I **can't modify** it. Well, even if I couldn't modify it, at least, I should be able to see them. However, I've searched the files everywhere and I still couldn't find them. What's the problem?

It says there that it's stored in internal storage and *usually* oxford products are saved in *Android / data / package name*

However, this is what I mean when the file size is 0 and there's nothing in there. I'm using MiXplorer btw and I've tried to check in root storage.

Anyway, Is it possible to find and *copy* the hidden additional files? Using app or maybe with the help of PC using certain software I can?

# Answer
> 1 votes
> Is it possible to find and copy the hidden additional files? Using app or maybe with the help of PC using certain software I can?

yes, if your device has previously unlocked bootloader and Magisk installed, you can read/check size of

```
/data/user/0/com.oup.elt.dicts.bilingual/files

```

otherwise connect your phone via adb, create backup and extract it (see linked questions)

```
adb backup com.oup.elt.dicts.bilingual

```

---
Tags: file-system, files, media-files
---


title: 'Starting Android ...' for over 60 mins

text:
# Question
Title: 'Starting Android ...' for over 60 mins
Following a factory reset after an Android problem, I started setting up my phone like it was a new one. Next day I was locked out of it for 24 hours, which I understand is a google protection system. Now I can login, but I get 'Android Starting ...'. This has been going on for over 60 minutes. What should I do?

# Answer
> 0 votes
Try wiping the cache partition. To do this, boot into the Android recovery menu. Make sure your phone is turned off and hold `Volume Up`+`Power` or `Volume Down`+`Power` for 5-15 seconds until a screen appears with many options which displays `Android Recovery Menu`. Now use the `Volume Down` button to go down, until you are at `Wipe Cache Partition` and then press `Power` button. This will remove any cache on the device, and make new cache, which may will work to fix your issue. Now (re)boot your device and see if it has worked. I am not sure of this is gonna work for you, but you can try it.

---
Tags: factory-reset
---


title: Oem unlock failed- fastboot

text:
# Question
Title: Oem unlock failed- fastboot
What's the reason for oem unlock failed? I searched a lot, couldn't find an answer.

# Answer
> 0 votes
Make sure you have `OEM Unlock` enabled under Developer settings from your phone. And also install `Android Bootloader drivers` on windows. https://stackoverflow.com/a/35076765/942317

---
Tags: fastboot
---


# Question
Title: Android ADB connect to device with broken USB and no root
I've read through the thread below and come across 2 solutions for connecting a device with ADB.

https://stackoverflow.com/questions/4893953/android-run-install-debug-applications-over-wifi/19940301#19940301

The first is to use USB, and this isn't an option because the USB port is busted on my Droid Razr Maxx. The second is via wifi but using root permissions.. and I don't really want to root my phone.

Can't I use strict WiFi without root to set up ADB?

# Answer
I have not tried this myself, but there's an app named ADB Wireless (no root) which, as the name suggests, claims to make this possible without involving root:

> This app is for developers wanting adb access over WiFi without rooting your phone.
> \*** NO ROOT REQUIRED \***

Usage instructions can be found on the app's playstore page – looks pretty easy and straight. And the permissions look phantastic: nothing that's not necessary or explainable. In fact, just a single one to view WiFi connections. So no ads or spyware to be expected ;)

---

Same to be said for an app called ADB Wireless (no-root) (yes, same name – different dev), which seems no longer maintained though (last release was 6/2013):

> the first android application in the Google Play store to provide a wireless ADB connection without root.

Asks a few more permissions (a.o. full network), though.

---

Note however that ***all those non-root solutions seem to require a (USB) cable connection for initial setup*** – so there's probably nothing for your special case.

---

### Conclusion:

No app for that if your USB port is busted. So unless you get your busted port repaired or root your device, I see no way to get ADB running wirelessly. As initialization requires more permission as any "standard user" on Android gets, there are no command-line tricks either unless you already have root access: the initialization via USB makes use of the ADB daemons elevated permissions, which are only accessible that way.

### For other readers:

Initial phrasing of my answer omitted that fact, as the OP's USB port is broken/unusable: If your USB port is in working order, and you can use an USB cable to connect to it, you won't need any of those fancy enabler apps (see here for more) just to be able to use ADB wirelessly (though some might come in handy if they e.g. offer a plugin, so you could enable wireless ADB in your home network automatically and turn it off when you leave it). As Firelord pointed out in his commend, and Lucky linked to a post on SO, steps to enable wireless ADB are easy then:

1. enable on your device
2. connect your device to your computer via USB cable
3. run `adb tcpip <IP address>:<PORT>` (e.g. `adb tcpip 192.168.1.50:5555` – find the correct IP address in the wireless properties of your Android device) on your computer
4. still on your computer, run `adb connect <PORT>` (e.g. `adb connect 5555`)
5. unplug your USB cable, it no longer needs to be attached – ADB now runs via WiFi
> 10 votes

# Answer
If you've never connected your phone to the computer before, you may be out of luck. Since the later versions of 4.X, (I think at least JB 4.3), you must authorize the host computer to connect via ADB, which will popup the first time you connect with USB.

When using Wifi, this authorization MUST already be established, or it will not accept the ADB over Wifi connection.
> 1 votes

# Answer
This is now possible for devices running Android 11 or higher.

There's `Wireless debugging` menu under `Developer options`. The pairing is done using a 6-digit pairing code, or a QR code.

To use the pairing code:

1. get the IP address, port and Wi-Fi pairing code from `Developer options/Wireless debugging`/`Pair device with pairing code`,
2. Using a terminal, pair the device:
```
adb pair IP:port pairing-code

```

You're now ready to connect. Get your port number from the `Wireless debugging` screen on your phone (beware, the connection port will most likely differ from the pairing one) and connect from the terminal:

```
adb connect IP:port

```

The menu options may be named slightly differently on your Android build. The ones above are from Android 11, running on `Mi 9T` with `MIUI 12.1.1.0` installed.

If you prefer, you can also use the pairing interface from Android Studio. The instructions are here.

You will need `platform-tools` 32 or higher, for both options. At present it can be downloaded here.
> 1 votes

---
Tags: usb, wi-fi, adb, root-access
---


# Question
Title: Wifi not turning on/Stuck on "Turning on...", is there any other solution
I have a tablet (tab s6 lite) but there is a problem, when i connected the tablet to my (old) macbook,it started going crazy

It kept on resetting and the wifi would not work

I fixed the first problem, but not the second

I really want this to get fixed soon, and i know this is a common question, and i know i **might** need to factory reset or repair it but i have alot of data and i am fine with reparing it, but i will Happily accept any other solution

(I couldn't put a recording here so this is what happens)

if i open setting and turn on wifi then it gets stuck on "Turning on...", but if i go back and then open wifi settings again, it will be turned off

Same for the Control Center

# Answer
I would recommend to you to totally shut down the phone. Shutting it down powers off a lot components which is like a hard reset.

Usually one would expect that there is no difference between shutting down a phone and power it on again to a reboot but it seems that unser some rare conditions some chips can enter a state that is not affected by a reboot. Only powering of the chip can solve such problems.

I had this once with the GPS chip in my phone. No matter what I did it wasn't working properly. Only shutting down the phone, wait some seconds and then start it again restored it's functionality.
> 0 votes

---
Tags: wi-fi, factory-reset
---


# Question
Title: Update to Magisk 24.1. Support for XPosed modules / Changes
I am on Pixel 4a running stock Android 12. I was on Magisk 23.x with Lsposed (as Riru is anyway deprecated). I had no need of updating to the latest 24.1, since everything was fine and I didn't keep up with latest Magisk changes.

Till a banking app update ruined my peace, because it detected root (SBI Yono for Indian readers). All my efforts to circumvent root detection failed @ and I was forced to consider updating Magisk hoping that the *Deny list* feature would help in preventing root detection (though it's not same as Magisk Hide) or else use a compatible root hiding app Shamiko (stable version released a few days ago).

This looked to be challenging since **Magisk 24.1 does not support Riru**. So **how do I run Xposed modules like XPrivacyLua, Xposed Edge etc?** This was my biggest worry.

Google-fu didn't help, but a vague comment on Reddit gave hope. More search revealed other issues and their solutions, which are in the answer below. It was worth the effort since Zygisk is a key feature of Magisk and I may as well step up my game (and your's).

All the best and yes, I won't be updating this to keep up with changes but you hopefully have enough pointers to find your way

@Safety-net passed; developer options state hidden;device shows certified in Play Store. Hiding Magisk app 23.x involves jumping through a lot of hoops, so didn't try that.

# Answer
> 7 votes
**tl:dr;**

* Zygisk = Zygote + Magisk
* Use Zygisk-ified Lsposed (this was the undocumented learning to get Xposed modules running)
* Use Zygisk-ified USNF for safety-net check

---

Previous setup :Magisk 23.x (stable channel),with Lsposed and some Xposed modules. Update to Magisk 24.1 (app & Magisk) the usual way (through the app)

**Magisk settings**

1. Enable *Zygisk (beta)*
2. *Configure deny list* and select the apps for which you do not Magisk to be loaded (I read that some elements of Magisk Hide are present in this option, but that's too technical for me). Make sure all components of selected app are enabled. In screenshot below Citibank *isn't* fully enabled and hence will be detected , whereas Gpay is correctly enabled. The blue bar above the app needs to be fully extended

* I chose Gpay and couple of banking apps (including SBI), trusted apps with license issues
* From 3 dots menu select system apps and tick Google Play services `com.google.android.gms` (some blogs recommend also packages ending with `gms.unstable`,but I couldn't see that on my device). Note that if you are using USNF module (see below), `com.google.android.gms` will be automatically *unselected*. See this XDA post for reasons

3. Enable *enforce deny list*

In Magisk modules list previously installed Riru Lsposed and Riru will be disabled and a warning in *red* that says *module suspended because Zygisk is enabled*. Since they are anyway disabled, I didn't uninstall them, also it gives me flexibility in case I choose to disable Zygisk.

4. Install through Magisk LSPosed **zygisk-release.zip** (Github) or from the Telegram Channel. Check that previously installed Xposed modules are listed and working fine.

You are good to run Xposed Modules again!

I found this very useful thread on XDA Magisk - The Age of Zygisk, which has other resources (some listed below) and some issues/solutions faced while upgrading to Magisk 24.1. I had no issues whatsoever.

5. For Safety-net evasion, install Kdragon's Universal Safety Net Fix (USNF),again the **Zygisk** version from Github.Magisk 24.1 doesn't have safety-net check built-in, so install Yet Another SafetyNet Attestation Checker (YASNAC) from Play Store/Github.USNF Magisk module is the only working safety-net fix/root detection solution ATM.

**Edit:** USNF is outdated. Use Displax SafetyNet-fix module instead (xda thread by developer)

6. Since there isn't a built-in Magisk repo anymore, install Fox's Magisk Module Manager from Github or from Izzy's repo. It lists modules both from the previous Magisk repo, a new repo plus Androidacy Magisk Modules Repository
7. Root hiding: install Shamiko from Github or from LSposed telegram channel linked above. AFAIK, it is the only solution to hide Riru itself. The stable version was released a few days ago.Do read the instructions in the zip file. I didn't need to install it but note that denylist (step 3) should be turned off. Though this is from LSPosed stable, it has drawn some adverse comments from one of the Edxposed team members and it's not open source too. For additional root-hiding methods , see resources at the end of the answer.

Finally, I am on Magisk 24.1 with safety-net check passed, that banking app working and importantly Xposed modules running fine. All the best!

**Additional resources**

---
Tags: magisk, google-pixel-4a, safety-net, root-cloak, lsposed
---


# Question
Title: What does "hand with small restricted icon" status icon represent?
Can anyone help me identify this icon that looks like "a hand with small restricted icon", and how can I remove it?

Click image for larger version

# Answer
It means you have interruptions disabled. When your device is in this mode, you will not receive any visual, audible, or vibration notifications except for alarms you've explicitly configured to be allowed.

On vanilla/Google Android, this setting can be found in the "Sound & notifiation" category, but ASUS may have moved it elsewhere. Alternatively, if you press the volume button up when not in a media app (music player, video, etc) it should display the ringtone/notification volume overlay, and you can use that to adjust your interruption settings.
> 6 votes

# Answer
I use Do Not Disturb a lot. I decided to turn it off and a hand icon appeared on the top left of my screen. I also received a call from an unknown number that my caller ID and blocker allowed. They said nothing when I answered.

Googling it gave me: it's disabling glove touch. In Android, I never used glove touch although that would be great. There are gestures that can be used on the Moto Stylus. I've checked for that and so far nothing.

My phone may be telling me to split the screen (if it gives suggestions as cookies do for shopping). I really have no definite answer. Perhaps this will help someone see options in their problem-solving.
> 0 votes

# Answer
This is the sign for glove touch-sensitive. If you turn on the glove touch-sensitive, it will appear on the notification bar, but when you turn it off, it will not appear. For a solution in Asus, go to Setting - Asus customized setting - Glove mode and turn off the mode.
> -1 votes

---
Tags: notification-icons
---


title: Android OEM Unlock wipe taking too long

text:
# Question
Title: Android OEM Unlock wipe taking too long
Im using Oneplus 3T and when I did `fastboot oem unlock` now my device is stuck on screen since last 30mins plus "Wiping, please wait"

How long one should wait ? any way I can exit this and start again ?

# Answer
Fixed!!

My device was already OEM Unlocked enabled.

I powered off my phone. and Simply Booted with TWRP.

```
fastboot boot recovery.img

```

Also I had to wipe the Device using `Ext2` file system under `Wipe > Advance Wipe > Data > Repair / Change File system`

After this I enabled ADB shell and flashed Havoc OS android 11 on my oneplus 3t.

Everything is working great so far. Also a quick note, for rooting I used `Magisk` and try to get an older version of Magisk this allows you to use `MagiskHide` which is useful for banking apps like Gpay, Jio app.. etc.
> 0 votes

---
Tags: twrp, fastboot, bootloader-lock
---


# Question
Title: Unsigning and resigning apk inside apks makes an app don't work in some features
(**It's optional to read**)

> Let's say I have an app called **X**, this is the older version of the apk that I got from google. I have important data in the app, thus, if I uninstall it, I'll lose them. However, I want to update it, since google play store doesn't provide the app anymore (only available on the official website of the app), I need to download it manually. So, somehow (I watch a tutorial from YT) I need to sign the latest version of the app. Silly of me, I made a mistake that I unsigned the new app and then signed the app afterwards without knowledge of which appropriate sign type I need to apply.

**Problem:**

So I have unsigned (Removing signature verification) an app using **NP Manager** (the property says the app has signature status of **V2**, thus I killed the signature verification v2) , and then I signed the app and do the same i.e. signing the app using the signature scheme **V2** (NP Manager has 3 options: v1+v2, v1 and v2 \[Android 7.0+\]).

At first, it worked successfully, i.e I could install it perfectly, some features worked and nothing seemed to be wrong, alas, there was one (Idk what it's called) bar/menu/section when I opened it, the app stopped immediately (forced close). I had tried to do trial-and-error by investigating what's wrong and the problem seems to come from the *unisigning and signing*.

**My question:**

Is it either unsigning or signing the app can harm the app itself which causes some features don't work though the app might be able to be installed successfully? If that's so, how to prevent this problem? Is it because the original signature and rhe new signature I give differs and crash somehow?

P.S. I'm only interested to know as to why the unsigning and signing makes the app error and how to solve it. I hope you would explain the error that happens in my app and why signature matters.

Thanks in advance!

# Answer
Android OS checks the signature only at installation time. The verification information is saved and can be retrieved by the app at run-time (but the number of apps that do so is very low).

In general apps work no matter how and using what key/certificate they are signed. Only a few apps implement measure against app repackaging/resigning so they check their app signature at runtime and if it does not match the quit or show an error message or something like that.

That an app starts working an then suddenly crashes sound more like a bug of the app. Most likely the app has been developed for an older Android version or a different phone model (there are sometimes slight differences between different models).

Also it does not make any difference if you first remove a signature for an APK and later sign it. By default a new signature totally replaces the old signature.
> 1 votes

---
Tags: apk, signature-error
---


# Question
Title: Can we get single time access to in-display fingerprint photos in android?
I am trying to access the fingerprint photo access from the in-display fingerprint sensor for a specific use case. Is it possible to do so?

# Answer
> 1 votes
For privacy reasons fingerprints images can never be accessed by Android apps. The following text is about Google Nexus/Pixel phones, but as far as I know it also applies to phones of other manufacturer:

> Your fingerprint data is stored securely and never leaves your Pixel or Nexus phone. Your fingerprint data isn't shared with Google or any apps on your device. Apps are notified only whether your fingerprint was verified.

https://support.google.com/pixelphone/answer/6300638

The reader is only usable by Android itself for authentication.

As an app developer you can only ask Android to perform an authentication and in the end get the result (success/failure).

---
Tags: applications, security, fingerprint
---


title: Philz touch 6 stuck in recovery mode

text:
# Question
Title: Philz touch 6 stuck in recovery mode
I recently installed philz touch 6 recovery on my galaxy tab 3 lite, with the main purpose of rooting.

When I downloaded it over ODIN it was fine, and booted into recovery.

Now, when I try to boot (at all) it goes to recovery when I want to use the OS (without pressing any buttons other than POWER) it boots to recovery still. any help?

# Answer
> 1 votes
This is a known issue with the `goya` board.

Steps to solve this:

1. Download the official TWRP recovery for this device. Download Link
2. Boot into recovery.
3. Go to Advanced \> Terminal.
4. Type in `busybox reboot` and press Enter on the virtual keyboard. This will make the device boot back into system.

# Answer
> 0 votes
You should make a backup and reflash a stock ROM for your ROM or flash a different recovery for your phone. Also take a look at these sites.

http://forum.xda-developers.com/showthread.php?t=2426426 http://forums.androidcentral.com/general-help-how/369146-only-boots-into-recovery-mode.html http://forum.xda-developers.com/showthread.php?t=1794153

# Answer
> 0 votes
FLash TWRP Recovery and from there go to Reboot ---\> Bootloader

---
Tags: rooting, recovery-mode, samsung-galaxy-tab-3-lite
---


# Question
Title: Trying to get TWRP working, healthd is not present in stock ROM
I'm a TWRP maintainer for the SM-T110 *(Samsung Galaxy Tab 3 Lite)*, and I'm trying to fix some issues I get while booting up TWRP. The device halts for a while during boot time, and then TWRP starts. Here are the logs that are related with the issue.

I tried getting the `healthd` binary from the stock TouchWiz firmware, but it is not present in `/sbin/healthd` where it should be. I've also done an entire `find` search, and no file named `healthd` is present. I am stuck on how to fix this. Any help would be much appreciated!

# Answer
The issue was solved by using SM-T210's `/sbin/healthd` file instead. The two share the same SoC and the kernels were quite similar so it worked perfectly.
> 1 votes

---
Tags: recovery-mode, twrp, samsung-touchwiz, samsung-galaxy-tab-3-lite
---


# Question
Title: Badly swollen Galaxy battery - safe to handle?
I've recently found my old Galaxy S6 in a drawer, where it's been sitting for the last ~1.5 years. In that time, the battery has swollen very badly, pictures below:

I need to so something about the phone, as I feel it might be a fire hazard to keep this at home especially when I'm not present during the day.

Naturally I'm not going to attempt to charge the battery or turn the phone on in this state.

I would like to remove the battery and take it to a recycling/ewaste collection point. I'd make sure to take precautions when removing the battery to avoid puncturing it or applying pressure, but with this level of swelling, is just handling the phone/battery dangerous? If so, I could instead take it to a technician to remove the battery or just recycle the entire phone - but I'd still need to carry the phone there, obviously, so some risk would remain.

Is there a risk of a sudden explosion or fire without warning?

# Answer
The battery will not catch fire unless it is discharged at an excessive rate. If the phone is off, this won't happen. Since the battery is useless anyway, remove it and take it to a battery disposal facility.
> 3 votes

---
Tags: samsung, battery, samsung-galaxy-s-6
---


# Question
Title: My Galaxy Nexus can't connect to unsecured web using wi-fi at home
My Samsung Galaxy Nexus can't connect to unsecured web using wi-fi at home.

I have to edit the url with `https://` to load the webpage. Some pages work but most of them just won't load.

# Answer
> 2 votes
Your issue ain't related with Browser APP, it's a Network configuration regarding the proxy settings.

As you can read from your phone's user manual on page 63:

> Proxy settings are used by Browser but may not be used by other apps.

---

Since you've mentioned that only "Browser" gets affected, and that all of them work fine under 3G, this leaves us with an WiFi settings issue:

1. Touch the "Settings" icon;
2. Touch "Wireless & networks" \> "Wi-Fi";
3. Touch & hold your network in the list of Wi-Fi networks;
4. Touch "Modify network" in the dialog that opens;
5. Select "Show advanced option";
6. touch "None" under Proxy Settings, then touch "Manual" in the menu that opens.
7. Clear the proxy box, make sure nothing stays there.
8. Touch Save.

Open the browser and give it a try. You should now be able to navigate without problems either with `http` and `https`.

# Answer
> 0 votes
I’ve tried to follow Zuul answer but for me after selecting Manual Save button is disabled.

I was able to explicitly open sign-in page by following suggestion from https://9to5google.com/2015/12/18/heres-how-to-manually-access-a-public-wifi-login-page-on-android/

> If you head in browser to 192.168.1.1, the most common default router IP address, I’ve found that nine times out of ten I’m immediately redirected to the login page.

---
Tags: wi-fi, samsung-galaxy-nexus
---


title: Sony Xperia Z stuck in a bootloop

text:
# Question
Title: Sony Xperia Z stuck in a bootloop
My Xperia Z is stuck int a bootloop. It goes up to the colorful waves and then it restarts. It was connected with USB in charging mode. Suddenly, it starts restarting. I thought it might be carrying out some of its processes, but even after an hour of restarts, it failed to start normally. Now my battery is completely drained.

I want to recover/restore it to factory settings, but I can't because of bootloops.

The phone is only two months old, and I do not want to format and restore flash files via flashtools as suggested on the XDA forums. Getting into recovery mode and restoring from there will be preferred, instead of flashing. My last resort will be a Sony Service Center.

# Answer
You have to download a rom for your mobile.

Download it from

https://xperiastockrom.com/category/firmware

Download a flashtool from

https://developer.sony.com/develop/open-devices/get-started/flash-tool/

1. open the flashtool
2. Connect a USB cable to your computer.
3. Turn off your phone.
4. Connect your phone to the USB cable while holding the Volume down key.
5. Select the software you want to flash in the Service list. The tool automatically detects the phone model and lists available software versions.
6. Click on Apply Service. The phone will now be flashed.
7. When you have flashed your device, you can disconnect your phone from the computer. The first time the boot-up might take a little longer than normal.

Hope it will solve your problem...
> 2 votes

# Answer
Download the flash tool and search for "FTF stock images". Find your phone's model number and download at least 4 different versions of the stock Firmware from beginning to newest. Flash following instructions. This will fix this!
> 0 votes

# Answer
You can install a fresh and latest rom by these steps:

1. Download and install latest Flashtool.
2. Then check your phone exact model (For xperia z: C6602,C6603,c6606,...).
3. You should download the latest firmware for your model from valid sources like XDA. In any topic you find, there should be a "How to" that you can easily follow.
4. Wiping data folder will delete all your settings, apps, phone numbers, ... (Don't forget to backup!)

Useful **note**: Flash FTF using flashtool
> 0 votes

# Answer
Since google favors this thread, I will follow up with what worked for me: https://forum.xda-developers.com/t/need-help-flashing-xz2-ftf-flash-fails.3873024/post-78287147

That post states:

> (Newflasher thread is here: https://forum.xda-developers.com/cr...gress-newflasher-xperia-command-line-t3619426 and the version I used was the latest (v13))
>
> Simple steps for using newflasher instead of FlashTool:
>
> * Use Xperifirm to download appropriate firmware for your device Firmware auto-unpacks to
> C:\users\yourusername.flashtool\firmwares\downloads\xxx
> * Remove any .ta files you may not want to flash (The only one I know to remove is simlock.ta , as I don't want to risk re-sim-locking my device)
> * Copy the newflasher.exe to the folder that contains the unpacked firmware (example would be folder xxx above)
> * Don't run newflasher.exe yet
> * Get your phone into Flashmode (for this XZ2 it is to have the phone powered off, then hold the VOLDOWN button while plugging the USB cable in)

The resources mentioned in the other answers makes it difficult to find images for newer xperias. Apparently the newflash tool's distribution goes through the xda-developers forum. Same goes for the firmware development tool.
> 0 votes

---
Tags: recovery-mode, boot-loop, sony-xperia-z
---


# Question
Title: How do you configure secure DNS (aka "private DNS") with cloudflare?
note: there are a lot of DNS questions on android.stackexchange.com I'm creating this question because all the other DNS questions were for different scenarios and I wanted to keep this up to date over the years.

I do not want my DNS queries to be unencrypted whenever I am doing any internet activity (either through cellular mobile internet or through wifi with home internet).

### How do you configure secure DNS (aka "private DNS") with cloudflare?

# Answer
### In a nutshell or `tldr` summary:

For android 9 or later:

* open settings
* search for `dns`
* touch the `Private DNS` \** a dialog box opens with three options\**
* select the last option called `Priavte DNS provider hostname`
* fill in `one.one.one.one`
* test by going to address `https://1.1.1.1/help`

**warning: any wifi network that uses a `Captive Portal` will stop all your internet. when you are on a wifi network that uses `Captive Portal`, you have to go back to `settings/Private DNS` and set it to `off` then follow the `Captive Portal` instructions then go back to `settings/Private DNS` back on.**

---

### for the full story keep reading here:

#### follow the docs:

Cloudflare has some really good documentation that is short and understandable (Google also has good documentation but I had trouble following their documentation).

* The Cloudflare help starts at: `https://1.1.1.1/help`
* click at the bottom for `FAQ` then look for the developer docs link which is: `https://developers.cloudflare.com/1.1.1.1/` (this has docs for pretty much any computer (android, windows, mac, linux, etc, etc))
* click on `android`. follow the directions given or use my summary directions.

#### follow the summary of the docs:

Option 1: For android 9 or later:

* open settings
* search for `dns`
* touch the `Private DNS` \** a dialog box opens with three options\**
* select the last option called `Priavte DNS provider hostname`
* fill in `one.one.one.one`
* test by going to address `https://1.1.1.1/help`

Option 2: For android 8 or earlier (FYI i have not personally these instructions because I do not have an older android phone):

* settings --\> wifi --\> modify network --\> show advanced options
* using your on screen keyboard copy the current text to somewhere (in case something goes wrong)
* type in or copy and paste the following

```
1.1.1.1
1.0.0.1
2606:4700:4700::1111
2606:4700:4700::1001

```
* save
* test by going to address `https://1.1.1.1/help`

Option 3: Lastly you can download their app but I have not tried it: https://play.google.com/store/apps/details?id=com.cloudflare.onedotonedotonedotone&hl=en\_US&gl=US

#### **warning: any wifi network that uses a `Captive Portal` will stop all your internet. when you are on a wifi network that uses `Captive Portal`, you have to go back to `settings/Private DNS` and set it to `off` then follow the `Captive Portal` instructions then go back to `settings/Private DNS` back on.**

---

### Addendum

#### important note: some internet providers block secure DNS

* i used to use `dns.google` in my android phone but it stopped working in 2022-01 for unknown reasons
    + same behavior for when you connect to a wifi network that uses captive portal and your android phone says it can not connect to the internet because the wifi network is blocking your internet
* i did a google search and found others had similar issues (private DNS not working on their cellular internet)
* for a brief like week i was able to use the alternative Cloudflare hostname `1dot1dot1dot1.cloudflare-dns.com` but that also stopped working
* i wrote this because it took me so long to get this working so i wanted to document it all and make it easier for others

#### if you do not like Cloudflare there are other providers of Secure DNS
> 1 votes

---
Tags: security, dns, private-dns
---


# Question
Title: Mute whatsapp specific group calls/ring tone
I am aware there is an option to mute entirely the whatsapp calls. However, I want to keep the ring tone for individual but not for groups.

I can mute the notifications and the groups. But even with that, even my phone has 'don't disturb mode' is enabled, the group rings aren't muted (when someone in the group makes a group call).

I searched every option in the system & app and couldn't find a way to mute them.

My phone is rooted though.

# Answer
> 0 votes
you can mute all of a group's notifications, that should cover calls, as well.

Mute group notifications:

1. Open the WhatsApp group chat, then tap the group subject.

* Alternatively, tap and hold the group in the CHATS tab.

2. Then, tap the Mute notifications icon in the top corner. Tap Mute notifications.
3. Select the length of time you'd like to mute notifications for.

* You can also uncheck Show notifications to stop notifications from being shown in your notifications screen.

4. Tap OK.

Unmute group notifications:

1. Open the WhatsApp group chat, then tap the group subject.

2.Tap Unmute notifications.

* Alternatively, tap and hold the group in the CHATS tab. Then, tap the Unmute notifications icon in the top corner.

ref: https://faq.whatsapp.com/android/chats/how-to-mute-or-unmute-group-notifications/?lang=en

---
Tags: audio
---


title: Associate HTML files with Google Chrome

text:
# Question
Title: Associate HTML files with Google Chrome
I want to create a file association between my local HTML pages and Google Chrome, the reason being that I am beginning to develop HTML pages and I need to be able to access the URL address as I use this to pass parameters between HTML pages. I am hoping that when opening the HTML page in Chrome I will be able to do this, as it appears that 'HTML viewer' does not.

# Answer
When you tap on the local link, you should get an option to chose which browser to use. If so, simply chose Google Chrome.

If you do not see this dialogue, go to Settings-Apps-html viewer and tap clear defaults. The next time you open an HTML File(or any link), you should see the dialogue described above.

I hope your HTML development goes well!
> 0 votes

# Answer
From the OP's (now deleted) comment (with copyedit),

> I have found a workaround for this by opening Chrome, manually typing in the address of my local HTML index page (using `file:///etc...`), and then bookmarking the page URL in Chrome & placing the bookmark on my screen, not very elegant but works for testing for now.
> 0 votes

---
Tags: chrome-for-android, html
---


# Question
Title: Bypassing advanced root / modded framework detection
In the past,solutions for preventing root detection were centered around safety-net, Magisk hide or XPosed modules like Sudo hide. With Magisk 24.1 plus Magisk Hide isn't an option and modules like Sudo hide aren't being maintained anymore. All revolving around a "frontal attack" of detecting root

The sneakier way would be to find other ways to detect the root status based on finding traces of modded framework/ Xposed modules/Lsposed framework and obviously know that device is rooted and refuse to work.Or worse, a combination of both frontal and sneaky detection!

As I mentioned here Update to Magisk 24.1. Support for XPosed modules / Changes, Shamiko seemed to be an option but the adverse comments around it discouraged me. Searching for alternatives to Shamiko, led me to the revelation that there are enough instances already of sophisticated banking/streaming/gaming using "sneaky" ways to circumvent user measures like faking safety-net etc. So, I was getting ready for the future when one of the banking apps I use would turn sneaky and be ready for it.

This search led me to an Xposed module which looks promising and (another) self-answered question.

**Caveat: YMMV**

If you know of another solution, please add as an answer.

# Answer
> 1 votes
**Proof that it works:** I wanted to be sure that this solution works before I adopt it. There is this Vietnamese banking app which I don't use being an Indian but was a test case since it evades "frontal" measures to hide root.

On my Pixel 4a, running Android 12, all the frontal measures were successful- Safety-net passed; developer options state hidden; device shows certified in Play Store and Magisk 24.1 "hidden" with a random name and package name.

Yet, this app detected that I was running a modded framework and on opening the app promptly sent me to it's portal (screenshot on left). With the Xposed module , it allowed me to open it (right).

---

Sneakily, I didn't name the module yet; it is Hide My Applist, which is deprecated, last update being end of last year. This module covers ways used by apps to detect modding such as:

* API requests
* Intent queries
* ID detection
* File detection
* MAP scans (the developer says this is superfluous but hasn't removed it)

**Configuration instructions**; I didn't find clear instructions on how to use this, so detailing the process below

1. Install it through Magisk and when you open the app in LSposed manager, you get this view. **Do not** select/modify anything other than default (default being system framework)

2. Click on the cog wheel at bottom right to open the module interface

3. First thing is to install Magisk extension (Riru or Zygisk, it was the second one for me being on Zygisk based LSposed set-up. Ignore this step and you will be rewarded with a boot loop.
4. Click on detection test, it will download an app *Applist detector* and when you run it , you would see red in most places all related to Xposed modules or LSposed framework

5. **Manage Templates:** You can create whitelist or blacklist templates. Select **blacklist** and add all Xposed module related *package names* like `org.lsposed.manager`, `eu.faircode.lua` etc., and `com.tsng.hidemyapplist` , which is the package name of this Xposed module. *Save* (icon at top right corner) Essentially, blacklist contains **all the packages that show that the device is rooted**. You can create as many templates as you want (more about that later)
6. **Select Effective Apps:** This is a **list of apps from which you want to hide the blacklist** like your banking apps, for example `vn.com.techcombank.bb.app` (Vietnamese banking app). Include in this list `com.vsng.applistdetector` which is the package name for the app downloaded in Step 4. Configure as explained:

* Enable hide
* Work mode (Blacklist) -default setting
* Enable all hide methods.
* Copy this config to quickly pick and apply to all such apps
* In template config, choose the blacklist template you named and saved (Step 5)
* Save.

Run the app list detector check, see all blue (in my case suspicious package in *abnormal environment* is related to Xprivacy Lua) but that was not a problem

You are good to go!

7. Being LSposed, you would need to reboot device when a new app is added and you want to add that to this module. Changes you make within the module are real time ( don't need to reboot)

---

You can use templates for purposes of detaching an app from Play Store. For example you have YouTube Vanced installed but it gets replaced because regular YouTube gets updated. You can refer to this XDA post for more examples.

---
Tags: magisk, safety-net, root-cloak, lsposed
---


# Question
Title: Problem with hotspot - WiFi connection on, but internet is down
I often connect my laptop (U20.04) via Android hotspot (Redmi Note 10 5G).

Systematically, after a while, internet connection on my laptop disappears. In particular, the indicator shows that there is still a wifi connection with my phone, but internet is not available.

Two solutions:

1. Turn off and turn on wifi on my laptop- After this, internet connection comes back
2. Turn off and turn on the hotspot on my phone. After this, internet connection comes back

Anyway, in both case, after a while the internet connection disappears again.

I've tried my laptop with other networks (also with other hotspot), but the problem is not present.

Is there some way for fixing this? Is these some way for performing a diagnostic test?

Please ask if additional information are required.

Thanks in advance!

# Answer
I have a fix for LinuxMint which is derrived from Ubuntu and I posted the fix on LM.

Using "Search" (application), I searched for ".conf" in "File System" and found the file /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf

This .conf file contains:

\[connection\]

wifi.powersave = 3

(and I changed it to 0 (zero), but you should set it to 2)

After I posted the above, someone added the below on-line.

## Changing it to 2 is disable, 3 is enable, 0 is default value, 1 is don't touch existing setting.

From https://forums.linuxmint.com/viewtopic.php?f=52&t=231490
> 3 votes

---
Tags: connection-issues, wifi-hotspot, internet
---


# Question
Title: Is there a way to make a short cut icon that executes a sh file in android?
I made a sh file for being executed in termux, i want to make an icon that opens termux and execute that sh file. Kind an apk icon, that when you mash it executes the program

# Answer
Use the termux::tasker plugin in tasker or use the native termux task from the tasker function.
> 1 votes

---
Tags: apk, home-screen-shortcuts, termux, app-icons
---


# Question
Title: Save Gmail attachment to different Gdrive
I have a personal Gmail (Google) account created some years back for my Android phone. Recently I have been given access to a new Gmail account by my employer.

When I open the Gmail or Gdrive apps they both show the two accounts and allow me to easily switch between them (Gmail has a useful combined *All inboxes* option too). So far, so good.

However if I open a mail sent by my employer to my work Gmail account and click on the *Save to Drive* icon on the attached PDF, the pop-up dialog box allows me to save the attachment only to my personal Gdrive account; it doesn't list my work Gdrive account at all.

So how do I directly save an attachment from my work Gmail to my work Gdrive?

Save to Drive dialog in Gmail for attachment

# Answer
> 0 votes
Directly you can't. What you need to do is:

* Tap on the file, and open the pdf file with the Drive.
* When it opens, click on the Drive icon (the icon with a plus).
* Select the account to saved it to, press Ok.

Not sure if this process is acceptable to you as it is equivalent of downloading and then uploading the file to the preferred account.

---
Tags: gmail, google-apps, google-drive, attachments
---


# Question
Title: How to screen mirror Android to non-smart TV?
I bought a USB C-HDMI cable to mirror my Samsung Galaxy M11 to my non-smart TV, but I get no signal. The TV has 3 HDMI ports and with every single one, I get no signal.

Is it a setting that I have to change on the phone or maybe on TV?

# Answer
The cable you bought is an MHL cable using the USB Type-C (MHL Alternate Mode).

For such a cable to work the phone needs to include special hardware. Additionally the TV has to support MHL, too as it's HDMI socket has to be MHL-enabled.

The MHL web site contains a list of devices that support MHL. There you can filter for Samsung devices.

In my opinion MHL is today an outdated technology originally developed for phone with Micro-USB socket. You can also see that on the list of supported devices. The last Samsung galaxy phone that supported MHL is the Galaxy S5 released in 2014. The last Samsung device with MHL support I recognize was released in 2015.
> 1 votes

---
Tags: hdmi, screen-mirroring
---


# Question
Title: Android 10 phone screen only unlocks if the light sensor detects enough light
This is a very strange issue I'm having. I have an LG K40S with Android 10 and a couple of days ago I started having problems unlocking its screen. Neither the power button nor the biometrics sensor will unlock it. I can only manage to do it by pushing the power button several times, which opens the camera, then I can unlock it. Today, I realized this only happens when I'm in my room at night with the lights off (or anywhere dark, for that matter). When there's enough light I can unlock it just fine. If I cover the sensor with my finger the screen can't get unlocked again.

This started heppening after I dropped my phone, could it be that the light sensor is broken somehow? The screen auto brightness seems to be working, so maybe there's nothing wrong with sensor. I tried going into developer mode and disbale the sensor but that option is not available on my phone.

Please, any help or insight into this issue is much appreciated. Thank you very much!

# Answer
Phones have a second light based sensor: the sensor that detects if you hold your phone near the face while a phone call (often called proximity sensor).

If it detects you are close the screen the screen stays off, therefore a defect or some other problem that prevents this sensor from working properly could explain your problems.
> 1 votes

---
Tags: android-10, lg, sensors
---


# Question
Title: Fixing "Custom binary blocked by FRP lock" on Samsung Galaxy J7 Prime
I have Samsung Galaxy J7 Prime (SM-G610F). Because I only have 16 GB internal storage and the system takes 5 GB of space, I wanted to root my phone to remove pre-installed apps which were unimportant. Now, rooting requires the phone to be in download mode. The way you get into the Download mode is by Volume Down + Home + Power buttons, but **my Home button is faulty and doesn't work**, so I used ADB to enter Download mode. I used Odin to root my phone. While it was being rooted, there were a few disconnects from the PC. After rooting, I configured and set all the things and downloaded some important apps. Then I restarted my phone because of a few updates (personalizations). Now it is stuck at the "FRP Lock Screen" and when I hold the Power button, the phone does not boot.

The error message it displays is:

> Custom binary blocked by FRP lock

I searched on the internet for how to get out of it. I think we need to get to Recovery mode to factory reset or unroot? Usually, we can enter Recovery mode or download mode to fix FRP Lock (Factory reset or Unroot). But my Home button doesn't work on the phone, so I am not able to enter Download mode (Volume Down + Home button + Power button) or Recovery mode (Volume up + Home button + Power Button).

I also didn't turn on Developer Options before restarting the phone, so Unlock OEM and USB debugging is off. And that's a bad thing because I could have used ADB from my computer to fix the problem. I also reset the phone three times before this problem and logged into the same Google account after each reset.

Is it possible to bring my phone back to life or is it dead?

---

*Please let me know only if I can fix this problem without spending any money. Something I could do to fix the problem and not buy anything. If there is no solution, then you can answer "NO" also.*

# Answer
> 0 votes
There is no solution to this problem.

---
Tags: samsung, unbricking, frp
---


# Question
Title: How to revert to Google Hangouts from Google Chat?
My close relative have a phone which have both Hangouts and Chat installed. Chat does not have integrated Voice and Video call function. IMO, Chat is significantly inferior than Hangouts. So I still prefer Hangouts over Chat to communicate.

It used to be a blue banner that says "Hangouts is being replaced by Google Chat". Today, when trying to use Hangouts, it just say that Use Chat in Gmail. This is even after uninstalling Chat and reinstalling Hangouts from Play Store. There seems to be no way out of it. For the time being, it can still receive calls. But since I have no way to bypass that "Use Chat in Gmail" splash screen, I cannot do hangouts.

Am I being force migrated? Is there a way to rollback?

# Answer
> Am I being force migrated?

Yes. This happened to me too, starting yesterday.

> Is there a way to rollback?

Not that I'm aware of. In addition to reinstalling Hangouts, I even tried using an older version (com.google.android.talk-35.0.327050771.apk). The older version didn't work either; it forces an upgrade to the latest version of Hangouts.

The only workaround I've found is that https://hangouts.google.com/ is still accessible, but if you're accessing it on your phone you have to use the desktop version of the site. The mobile version of the site redirects you to the Play Store.

You can also use Chat directly in Gmail. It doesn't have video calling per se. What you have to do is create a Meet link, send that to the person that you want to do a video call with, then join that call yourself. So three steps instead of one .

In case it helps searchability, the exact message of the screen is:

> #### It's time for Chat in Gmail
>
> Hangouts has been replaced by Google Chat. Your conversations and new features are ready in Chat in Gmail. Learn more
>
> Open Chat in Gmail
>
> Prefer to use Chat separately from Gmail?
>
> Get Google Chat
> 2 votes

---
Tags: google-hangouts
---


title: Strange TWRP behaviour, please help!

text:
# Question
Title: Strange TWRP behaviour, please help!
I switched from dotOS to Pixel Experience because I wanted to get a taste of A12. After the change my phone started behaving strangely. It doesn't turn up on Windows File Explorer anymore and ADB doesn't detect my phone unless I set it to USB charge only. Plus the biggest problem of them all- TWRP doesn't work anymore. Whenever I reboot my phone it boots into TWRP, and the screen keeps flashing at the TWRP logo. The only way to boot to A12 is to enter fastboot and hit fastboot continue in the CMD. I'm at my wits end here and honestly a bit desperate. I wiped my device completely before installing Pixel Experience and I think that may be the problem. I fear that I may have sort of permanently damaged my phone or something.

Device used is a POCO M2 Pro (resold as Redmi Note 9 pro in other markets).

Attached are the logs I pulled using ADB when the TWRP screen was flashing. https://drive.google.com/file/d/1uVsCYFKQRYM7dP7\_lG4xidhAQjfWZvtm/view?usp=sharing

Any help would be appreciated, thank you.

# Answer
Your device has been released with Android 10. Please update to at least TWRP 3.5.0 for Android 10 support.
> 1 votes

---
Tags: adb, twrp, xiaomi
---


# Question
Title: Where Android stores bluetooth pairings/settings
Settings like Wi-Fi are stored on

`[root]/data/misc/wifi/WifiConfigStore.xml`

What about bluetooth ?

Whre did they decide to hide it ?

Are they encrypted ?

**: |**

Thank you ahead

**Oreo** here, but the answer is probably universal

# Answer
> 1 votes
Amazing how we find the answer only AFTER we post the question:

```
[root]/data/misc/
bluedroid/bt_config.conf

```

"Bluedroid"... Haha

Found this by digging the *Bluetooth Pairings* backups that Titanium does.

**Edit.:** Careful not to confuse with bt\_config.xml

This second file (xml) is full of garbage, in my case

---
Tags: settings, bluetooth
---


# Question
Title: Remove all contacts in phone that don't have a phone number
My mother just upgraded from a simple flip phone to a android motorola atrix 2. It's her first smart phone and she is having a very hard time adjusting. She added her email and Facebook accounts onto the phone, as soon as she did so, however, it added all the contact information from both into her phone contacts. She already had the contacts imported in from her last phone and is now dealing with duplicate contacts (such as "Mike Smith and "Micheal Smith"). The worst problem is, she is having a hard time finding a contact that actually has a phone number. She'll search for "Jane Doe" in the phone when trying to call her and only find her email there.

**My Questions:**

1. Why does the phone (app?) show contacts that don't contain a phone number?
2. How can I delete the duplicates (or merge them)?
3. What is the best way to make this work as smoothly as possible?

# Answer
> 13 votes
Most Phone/Contacts apps list all contacts, from all added accounts by default. There are several system and application options that could resolve this confusion:

1. From the Home screen, press the Menu key and go to Settings -\> Accounts & Sync.
2. Under the `Manage account` section go through each account (by tapping on them,) and verify that the `Sync Contacts` option is only checked for accounts that you really want to have synchronized with the phone.
3. Open the Phone app and go to the "Contacts" tab. press the Menu button and tap the `Display options` button.
4. Check the box next to `Only contacts with phones` option to hide any contacts that don't have a phone number associated with them.
5. Under the `Choose contacts to display` section, expand any accounts that you've chosen to keep in sync in step 2, and select the groups you wish displayed in the Phone app by marking their check-box.

Keep in mind that some manufacturers have their own versions of Phone and Contacts apps, so the menu choices might be slightly different (or even missing altogether.)

# Answer
> 2 votes
I second Chahk's answer. Also, if you sync your contacts with your Google account, you can easily manage them online, including merging duplicates.

# Answer
> 0 votes
For the original "Questions", I would have added... 4. How do I either HIDE or GET RID OF contacts without phone numbers in the phone app?

Regardless, since this thread was asked and answered, Android Phone app now has different settings. In order to HIDE contacts without phone numbers... Go to the Phone app Click on the menu Select "Settings" Go to "Other call settings" Turn on "Hide contacts without numbers" Voila

---
Tags: contacts
---


# Question
Title: If I enable adbd LAN tcp 5555, does it mean any app or LAN device can connect port 5555 to get a shell permission?
I have a Android 8 TV box. In developer settings, I can enable/disable USB debug. After enable, any device in LAN can use `adb connect <ip>` to connect to (no password or auth required) and control it via shell.

My questions:

1. Does that mean any app on the Android devices can connect `127.0.0.1:5555` and get a `shell` permission? (The Android box is rooted. In adb I can use `su` directly)

`ss -pnltu | grep 5555` got:

```
tcp    LISTEN     0      4        :::5555                 :::*                   users:(("adbd",pid=5051,fd=15))

```

How can I protect my Android from being hacked by an installed app.
2. I can't use `setprop ro.adb.secure 1`, it says

```
setprop: failed to set property 'ro.adb.secure' to '1'

```

It's always 0. So the ROM doesn't support the adb RSA auth security feature.

How can I protect my Android from being hacked from other LAN devices.

(I want to keep usb debugging on cause I can install/uninstall apps from PC)

---

**Update**: I come up with a simple trick: changing the port

```
setprop service.adb.tcp.port 5550

```

that will hide my adbd from 80% hackers I think.

But, still, that's not a real solution. It's just a workaround

# Answer
> 2 votes
If there is no adb authentication any device on your network can connect and issue shell commands.

A workaround could be to limit access to adb on IP level using `iptables`. That would allow to limit access your PC, assuming that your PC always has the same IP in your home network.

But as you have root permissions you may consider installing an sshd and keep adb off. The authentication system of ssh is effective and additionally ssh provides an encrypted communication channel (which adb doe snot provide, it is plain like telnet).

---
Tags: adb, security, usb-debugging, password-protection, authentication
---


# Question
Title: Alternative way to obtain Android screenshot in shell?
Ok, so first, I realized that one of my screen capturing apps on an Android 7 tablet, did not work (gave me a black screen capture), and then I realized this app not have the "Screen capture" permission; then I looked for this permission in Settings, but couldn't find it; then I realized, the app crashes Android causing reboot at times when you ask it to capture.

(EDIT: strangely, - in the context of the problems in this post listed later on, - when I tried taking a screenshot with press of "power button and the volume-down button", it worked fine).

So, I managed to log in to the device, where I can get root, and wanted to issue a screencap command, and it ended like this:

```
# screencap -p out.png
stack corruption detected
Aborted

```

Tried the same as a normal user, there it reported:

```
$ screencap -p out.png
Segmentation fault

```

Crap, eh? In addition I tried:

```
# screenrecord out.mp4

```

... and this crashed Android, and rebooted it.

So, getting to *why* `screencap` does not work, does not look like a trivial problem - but the device otherwise works, screen is shown, etc.

So I was wondering - is there some alternative way to grab a screen capture in this context (have root in shell on Android 7, screen is rendered and shown fine, everything apparently works, apart from `screencap` itself)?

( Maybe some `/dev/...` device node file, which when you `cat`, gives you the current screen contents pixel by pixel (which I imagine will require some decoding before it is viewable, but not a problem, I can use tftp to transfer files out of the device)? )

---

EDIT: Here is the related snippet of `logcat` when the screencap crash happens:

```
02-12 17:05:01.285 22745 22745 D AndroidRuntime: >>>>>> START com.android.internal.os.RuntimeInit uid 0 <<<<<<
02-12 17:05:01.322 22745 22745 D AndroidRuntime: CheckJNI is OFF
02-12 17:05:01.551 22745 22745 D ICU     : No timezone override file found: /data/misc/zoneinfo/current/icu/icu_tzdata.dat
02-12 17:05:01.718 22745 22745 W System  : ClassLoader referenced unknown path: /vendor/lib64
02-12 17:05:01.719 22745 22745 W System  : ClassLoader referenced unknown path: /system/lib64
02-12 17:05:01.930 22745 22745 E memtrack: Couldn't load memtrack module (No such file or directory)
02-12 17:05:01.930 22745 22745 E android.os.Debug: failed to load memtrack module: -2
02-12 17:05:01.951 22745 22745 I Radio-JNI: register_android_hardware_Radio DONE
02-12 17:05:02.092 22745 22745 D AndroidRuntime: Calling main entry com.android.commands.am.Am
02-12 17:05:02.228 22745 22745 D AndroidRuntime: Shutting down VM
02-12 17:05:02.358 18887 22754 I OpenGLRenderer: Initialized EGL, version 1.4
02-12 17:05:02.358 18887 22754 D OpenGLRenderer: Properties::enablePartialUpdates 1
02-12 17:05:02.359 18887 22754 D OpenGLRenderer: Properties::useBufferAge 1
02-12 17:05:02.359 18887 22754 D OpenGLRenderer: Default swap behavior 0
02-12 17:05:02.359 18887 22754 D OpenGLRenderer: Swap behavior 0
02-12 17:05:04.259 16803 16803 W WindowManager: Attempted to remove non-existing token: android.os.Binder@73bede4
02-12 17:05:10.741 22761 22761 D AndroidRuntime: >>>>>> START com.android.internal.os.RuntimeInit uid 0 <<<<<<
02-12 17:05:10.756 22761 22761 D AndroidRuntime: CheckJNI is OFF
02-12 17:05:10.890 22761 22761 D ICU     : No timezone override file found: /data/misc/zoneinfo/current/icu/icu_tzdata.dat
02-12 17:05:11.019 22761 22761 E memtrack: Couldn't load memtrack module (No such file or directory)
02-12 17:05:11.019 22761 22761 E android.os.Debug: failed to load memtrack module: -2
02-12 17:05:11.024 22761 22761 I Radio-JNI: register_android_hardware_Radio DONE
02-12 17:05:11.080 16562 16562 I main    : type=1400 audit(0.0:613): avc: denied { read } for path="/dev/socket/zygote" scontext=u:r:zygote:s0 tcontext=u:r:init:s0 tclass=unix_stream_socket permissive=1
02-12 17:05:11.080 16562 16562 I main    : type=1400 audit(0.0:614): avc: denied { getattr } for path="socket:[201098]" dev=sockfs ino=201098 scontext=u:r:zygote:s0 tcontext=u:r:init:s0 tclass=unix_stream_socket permissive=1
02-12 17:05:11.081 22761 22761 D AndroidRuntime: Calling main entry com.android.commands.am.Am
02-12 17:05:11.100 16562 16562 I main    : type=1400 audit(0.0:615): avc: denied { write } for path="/dev/socket/zygote" scontext=u:r:zygote:s0 tcontext=u:r:init:s0 tclass=unix_stream_socket permissive=1
02-12 17:05:11.118 16803 16855 I ActivityManager: Start proc 22770:android.process.media/u0a10 for broadcast com.android.providers.media/.MediaScannerReceiver
02-12 17:05:11.189 22770 22770 W System  : ClassLoader referenced unknown path: /system/priv-app/MediaProvider/lib/arm
02-12 17:05:11.293 22770 22783 D libEGL  : loaded /vendor/lib/egl/libEGL_tegra.so
02-12 17:05:11.306 22770 22783 D libEGL  : loaded /vendor/lib/egl/libGLESv1_CM_tegra.so
02-12 17:05:11.310 22770 22770 W System  : ClassLoader referenced unknown path: /system/priv-app/DownloadProvider/lib/arm
02-12 17:05:11.312 22770 22770 D ApplicationLoaders: ignored Vulkan layer search path /system/priv-app/DownloadProvider/lib/arm:/system/priv-app/DownloadProvider/DownloadProvider.apk!/lib/armeabi-v7a:/system/lib:/vendor/lib for namespace 0xa8751090
02-12 17:05:11.479 22770 22783 D libEGL  : loaded /vendor/lib/egl/libGLESv2_tegra.so
02-12 17:05:11.560 22770 22770 D MediaScannerReceiver: action: android.intent.action.MEDIA_SCANNER_SCAN_FILE path: /
02-12 17:05:11.562 16803 16852 I ActivityManager: Killing 19204:com.android.packageinstaller/u0a17 (adj 906): empty #17
02-12 17:05:11.564 22761 22761 D AndroidRuntime: Shutting down VM
02-12 17:05:11.579 16803 17333 D GraphicsStats: Buffer count: 7
02-12 17:05:11.580 16803 17283 D ActivityManager: cleanUpApplicationRecord -- 19204
02-12 17:05:11.603 22757 22757 F libc    : stack corruption detected
02-12 17:05:11.603 22757 22757 F libc    : Fatal signal 6 (SIGABRT), code -6 in tid 22757 (screencap)
02-12 17:05:11.604   127   127 W         : debuggerd: handling request: pid=22757 uid=0 gid=0 tid=22757
02-12 17:05:11.662 22787 22787 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
02-12 17:05:11.663 22787 22787 F DEBUG   : Build fingerprint: 'samsung/GT-P7500/GT-P7500:4.0.4/IMM76D/XXLQ8:user/release-keys'
02-12 17:05:11.663 22787 22787 F DEBUG   : Revision: '14'
02-12 17:05:11.663 22787 22787 F DEBUG   : ABI: 'arm'
02-12 17:05:11.664 22787 22787 F DEBUG   : pid: 22757, tid: 22757, name: screencap  >>> screencap <<<
02-12 17:05:11.664 22787 22787 F DEBUG   : signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
02-12 17:05:11.683 22787 22787 F DEBUG   : Abort message: 'stack corruption detected'
02-12 17:05:11.683 22787 22787 F DEBUG   :     r0 00000000  r1 000058e5  r2 00000006  r3 00000008
02-12 17:05:11.683 22787 22787 F DEBUG   :     r4 a9bb957c  r5 00000006  r6 a9bb9524  r7 0000010c
02-12 17:05:11.683 22787 22787 F DEBUG   :     r8 beb7ba33  r9 00000001  sl 00000500  fp 00000005
02-12 17:05:11.683 22787 22787 F DEBUG   :     ip 00000016  sp beb7b760  lr a8f2b477  pc a8f2dccc  cpsr 000f0010
02-12 17:05:11.705 22787 22787 F DEBUG   :
02-12 17:05:11.705 22787 22787 F DEBUG   : backtrace:
02-12 17:05:11.705 22787 22787 F DEBUG   :     #00 pc 0004cccc  /system/lib/libc.so (tgkill+12)
02-12 17:05:11.705 22787 22787 F DEBUG   :     #01 pc 0004a473  /system/lib/libc.so (pthread_kill+34)
02-12 17:05:11.705 22787 22787 F DEBUG   :     #02 pc 0001c649  /system/lib/libc.so (raise+10)
02-12 17:05:11.705 22787 22787 F DEBUG   :     #03 pc 00018169  /system/lib/libc.so (__libc_android_abort+34)
02-12 17:05:11.705 22787 22787 F DEBUG   :     #04 pc 00016910  /system/lib/libc.so (abort+4)
02-12 17:05:11.705 22787 22787 F DEBUG   :     #05 pc 0001a627  /system/lib/libc.so (__libc_fatal+22)
02-12 17:05:11.705 22787 22787 F DEBUG   :     #06 pc 0004b183  /system/lib/libc.so (__stack_chk_fail+6)
02-12 17:05:11.705 22787 22787 F DEBUG   :     #07 pc 00001765  /system/bin/screencap
02-12 17:05:11.705 22787 22787 F DEBUG   :     #08 pc 00016061  /system/lib/libc.so (__libc_init+48)
02-12 17:05:11.705 22787 22787 F DEBUG   :     #09 pc 00001344  /system/bin/screencap
02-12 17:05:11.767 16803 16921 W NativeCrashListener: Couldn't find ProcessRecord for pid 22757
02-12 17:05:11.767 22787 22787 E         : AM data write failed: Broken pipe
02-12 17:05:11.769   127   127 W         : debuggerd: resuming target 22757
02-12 17:05:11.771 16803 16859 I BootReceiver: Copying /data/tombstones/tombstone_05 to DropBox (SYSTEM_TOMBSTONE)

```

# Answer
Well, turns out there is a something that can be attempted - copy the device framebuffer - but it still did not result with full device screenshot for me.

Why is the FrameBuffer missing on some Android devices?

> in Android it’s `/dev/graphics/fbX, usually` /dev/graphics/fb0\`

for me:

```
 ls -la /dev/graphics/
total 0
drwxr-xr-x  2 root root          80 2022-02-12 13:09 .
drwxr-xr-x 18 root root        2560 2022-02-12 13:10 ..
crw-rw----  1 root graphics 29,   0 2022-02-12 13:09 fb0
crw-rw----  1 root graphics 29,   1 2022-02-12 13:09 fb1

```

https://www.kernel.org/doc/html/latest/fb/framebuffer.html

> The frame buffer devices are also normal memory devices, this means, you can read and write their contents. You can, for example, make a screen snapshot by:
>
> ```
> cp /dev/fb0 myfile
>
> ```

And finally https://stackoverflow.com/questions/12456174/how-to-convert-a-raw-rgb-frame-buffer-file-to-a-viewable-format/16936538#16936538 :

> To not re-invent the wheel, I tried to re-use existing tool: ...

I called the script from that post `get_android_fb_format.sh`, you might need to change the main line to this:

```
    ffmpeg -f rawvideo -pix_fmt $item -s $FB_RESOLUTION -i androidFB $OUTPUT_DIR/$item.png

```

So, trying from PC:

```
$ adb pull /dev/graphics/fb0 androidFB
adb: error: failed to copy '/dev/graphics/fb0' to 'androidFB': remote open failed: Permission denied

```

Cannot - must do as root from device:

```
# cd /sdcard/Download
# cp /dev/graphics/fb0 androidFB

```

... that worked; then on PC - `adb pull` line saves a file called `androidFB` on device, on which I run the script:

```
$ adb pull /sdcard/Download/androidFB
$ bash get_android_fb_format.sh

```

I get a folder `fbresult/` created, where different attempts at decoding can be seen. Here's the interesting part:

* For me, `/dev/graphics/fb0` held the Samsung boot logo (I got the correct decoding, but liked this one):
* However, `/dev/graphics/fb1` is always blank

So, probably this is not the right thing - to go back to Why is the FrameBuffer missing on some Android devices?:

> No android app handles directly `/dev/fb0`, does it exist or not
> ...
> Not even the Surface Flinger can see the `/dev/fb0` directly.
> 1 votes

---
Tags: shell, screenshots
---


# Question
Title: wired mic -> bluetooth adapter -> android smartphone for recording possible?
I want to record some of my public speaking using a lapel mic while walking away from my android smartphone. I've done this using a standard bluetooth headset. However, the audio is pretty poor. So, I'd like to purchase a better quality microphone (probably a mic that attaches to my shirt). The reviews on amazon for bluetooth mics are pretty bad. The best reviews for this type of mic are mics that have 3.5mm output. I'm wondering if there is a way to convert that into a bluetooth signal that is sent to my phone for recording. I've seen that bluetooth adapters exist, but those seem to be all about hooking up to bluetooth headphones. I've been googling trying to figure out how bluetooth works (receivers, transmitters, etc), but I can't find out if this will work... and I can't seem to find if anyone else is doing it successfully. Any help is much appreciated.

# Answer
> 1 votes
OK, so I have an ANSWER. I know for sure that the Pryme BTH-300 can accept a microphone plugged in via 3.5mm and sent the external mic's audio to a device via bluetooth (I have one myself). The only bummer of the Pryme BTH-300 is that the audio output, if you're listening to music, for example, is poor.

I'm going to try Sony RM-X7BT which has a microphone input as well as an output that it can send via bluetooth to your phone. I'll try to post on here my findings, but on Amazon for sure.

# Answer
> 0 votes
I believe a number of the products from JK Audio may be helpful with this specific use case. Specifically, their BlueDriver-F3 which is a female XLR-adapted device that can plug into a mic and send the mic signal to a phone (or speaker) via Bluetooth. There are other "Bluetooth Wireless Audio Interfaces" (useful search term) that may work as well.

There are plenty of converters to go from a 3.5 mm output to an XLR male output so that you could use the BlueDriver-F3 with a lav mic with a 3.5 mm output. For example, the Rode VXLR Adapter.

---
Tags: bluetooth, microphone, bluetooth-audio
---


# Question
Title: How to permanently remove a particular Chrome notification from Android mobile phone?
I visited a website yesterday. Today, a notification popups every time my mobile phone is rebooted, showing me that website (it is grouped under "Social digest"). However, when I click on that notification, it only takes me to Chrome but not to that website.

How to permanently remove this notification?

# Answer
> 2 votes
Open **Chrome → Settings → Site settings (under "Advanced") → Notifications** and click on it.

The following screen will appear

>

If you turn off the **Notifications slider**, you will not get any notification from Chrome at all (from sites).

To turn off for a particular site, click on **Allowed → \[URL of the site\] → Notifications (under "Permission")** → change **"Allow"** to **"Block"**.

# Answer
> 1 votes
If you want to delete notifications for specific sites in the list. You have to manage in storage of application by going **Android's Settings \> Apps \> Chrome \> Storage \> Manage Space \> Manage**.

From there, select the domain URLs that you do not want individually, which will show its **"Site settings"**, then select the **trash can** next to **"Usage"** and select **"Clear all"**.

# Answer
> 0 votes
If you go to the **"More info"** section of the Chrome app (**Android's Settings \> Application Manager \> Chrome**), uncheck **"Show notifications"**. This will turn off all notifications for Chrome.

# Answer
> 0 votes
I have at last worked out how to remove notifications permanently from Chrome on Android:

1. Press the three dots at the top-right of Chrome
2. Go to Settings
3. Select Notifications
4. Scroll all the way to the bottom and press the Advanced button, then press Additional settings
5. Now you should find yourself in the notifications section of Chrome. You can see both Blocked and Allowed notifications by going through the different addresses
6. Click on each of the sites you wish to remove, you will be given the option: Clear and Reset - press this if you want to remove the notification from your phone in its entirety

# Answer
> 0 votes
Seems that Google is continuously moving this setting. As of today, this is how I removed the notification settings for a specific site. I'm on a Samsung Galaxy Tab S6 lite.

1. Three dots at top right
2. Settings
3. Site settings
4. All sites
5. Select specific site
6. Clear & reset

---
Tags: notifications, chrome-for-android
---


# Question
Title: Updated Telegram from APK - why after the installation, it asks for phone number?
I face IMO strange issue with Telegram. The notification says Google Play Services need Phone permission to work, but it has that permission when I go there, however the update of Telegram via Google Play does not work (endless progress animation). So I've downloaded APK from the Telegram site. Asks if I want to update existing, I answer ok, it installs but then asks for phone number. Why?

I updated it, I don't want to confirm the phone number. And the phone keeps showing new messages notifications from Telegram. If I enter the phone number, I have no idea if it installs a new instance or the old one. Now when I click the old icon, it still complains update is needed, but the install went through from apt.

I don't like such app behavior. Any way to update Telegram from APK w/out going through phone number confirmation? Android 9. This question is about Telegram from APK, I do not ask how to fix Google Play. I hypothesize an update is possible w/out Google Play.

# Answer
> 1 votes
Telegram has 2 versions of the app with different package name:

While both have the same name, each app is considered as a different app, and thus (some of) its data, settings, and states are also not shared.

---

What was probably happening in this case:

* The Play Store version was asking for an update but failed to update.
* Downloaded an APK from the Web version and installed it. It's unclear if it's trying to *update the existing app* or not.
* Opened the Web version, was asked for the phone number confirmation but did not continue the process.
* Still receiving new messages from the existing Play Store version.
* Open the old (Play Store version) icon which was still not updated.
* Ended with 2 Telegram apps; one is the non-updated Play Store version, and another is the latest-and-freshly-installed Web version.

---

To manually update the Play Store version, there are alternative markets or mirror sites (e.g. APK Mirror) that provide the APK from Play Store.

---
Tags: updates, installation, apk, telegram
---


# Question
Title: "Access Point Name settings not available for this user"
This was probably an issue before but only became an issue when I changed providers in a foreign country. Running CM12.1 nightlies.

I can't connect to data and get the above message when I try to manually enter the APN settings.

I have tried:

1. The other fix on this site to change permission in `com.android.providers.telephony` to **660** from **751** but that resulted in non-stop error messages from the phone app.
2. Upgrade to the latest nightly with the new SIM inside. No change in service or in ability to change APN
3. Delete the data and cache for the settings app
4. Wipe cache and Dalvik cache.
5. Downgrading to CM 11 milestone

# Answer
> 0 votes
**sigh** factory reset did the trick.

# Answer
> 3 votes
**edit:** I should mention this fixed issues with *Sprint* for me, but perhaps googling in this vein could lead to finding a similar fix for other carriers.

---

**tl;dr**: I booted to recovery (TWRP), wiped, flashed CM12.1, 5.1 GApps, and the `sprint.zip` file from this XDA post and got LTE back.

---

I'm not positive my issue was the same, but the symptoms are very similar so I'm adding the solution I found. My LTE was working fine on CM12 and CM12.1 for perhaps 3+ months. My phone battery died overnight a couple days ago, and when I powered it on the next morning it didn't have LTE anymore.

Not only that, but I was getting the "APN settings not available for this user" under Settings -\> Mobile Networks -\> APN settings. After googling, and googling, and googling, I think I tried about every solution suggested for this issue:

* setting /data/data/com.android.providers/telephony/database/telephony.db to higher permissions (e.g. 761)
* deleting telephony.db and telephony.db-journal and letting the system re-create it (theoretically in the "proper" manner)
* using `*#*#4636#*#*` and playing with the preferred network (LTE/GSM/CDMA, LTE only, etc.)
* Turning on wifi, rebooting, waiting a while, and then turning it off and trying to connect to data
* Adding a custom APN, which often wouldn't even save if I had the "APN settings not available for this user", and didn't seem to do anything otherwise.
* I even went back to stock (upgrading radios and firmware in the process) by applying the latest RUU here. This updated my radios (I was on 3.31.651.2), and allowed me to update PRL/profile while I was at it. I didn't even have LTE from the stock ROM.

I ran into post where someone mentioned "the Sprint APN fix" so I googled for that and ran into this post, which points to this XDA post with the fix.

Downloading that file (`sprint.zip`) worked great for me, despite that post being ~2 years old. I just did the following:

* boot into TWRP, wipe as usual as if installing a new ROM
* flash CM12.1 (I used the most recent M8 snapshot from 09-01-2015)
* flash 5.1 GApps
* flash the `sprint.zip` file
* wipe cache/dalvik

Rebooted and had LTE right away during setup. Soooo relieved, as this was killing me. I'm still puzzled as to how it could have gotten goofed from a previously working setup, but at least it's behaving now. Hope this helps others.

# Answer
> 1 votes
adapted from: http://xiaomi.eu/

my setup: SGS2 aka GT-I9100, CyanogenMod 12.1 Nightly, Android 5.1.1,

**NO GUARANTIES**, following worked for me

for rooted device with file manager

* cd /data/data/com.android.providers.telephony
* rm shared\_prefs/preferred-apn\*.xml
* rm databases/telephony.db\*
* reboot

# Answer
> 1 votes
On a brand new Lenovo Yoga Tablet 2, I spent 6 hours trying to get mobile internet to work. New users, reseting to factory defaults, etc. did not work. Did not want to hack/root the device just to try some of the suggestions.

What solved my issue was accidentally tapping VPN in Wireless -\> More. Where I have been asked to set PIN in order to get VPN to work. After setting the Swipe PIN, I tried going to cellular data settings again as I had a bright thought that maybe it had somehow set the right permission on the `telephony.db` file. The message was still there, but the plus sign was active for the first time! I got my APN set up and cellular data works fine.

# Answer
> 1 votes
This seems to be some misunderstanding between Android of some version and the SIM card. My daughter has a brand new CAT S 42 phone and after updating it to stock Android 11 OTA the mobile data stopped working. The APN list was unavailable and entering it manually froze the settings app. I've tried the sim in my Asus with Android 12 and it didn't work either. However, it worked on a Huawei P20 Pro with Android 10.

The solution was stupidly simple – I called the helpdesk of my provider and they sent me a configuration SMS. Now it's working.

# Answer
> 0 votes
I experienced this problem. I found that the message "Access Point Name settings not available for this user" is misleading. It actually means "you haven't added any APNs yet", not "this user does not have the credentials to use this feature."

The solution (if you can call it that) was, at the APNs screen when the message appears, I found the button that allowed me to add a new APN.

# Answer
> 0 votes
For nexus 5: settings - more - mobile network - Access Point Names - + (edit access Point) - update name and APN - save.

---
Tags: cyanogenmod, nexus-5, 5.1-lollipop, apn
---


# Question
Title: Pixel 5 contacts app does not work after activating phone
I just bought a new Pixel 5. I successfully transferred my contacts from my old phone via bluetooth before activating the pixel. After getting a new SIM card and transferring to a new carrier my contacts are empty. There is no option to add new contacts. If I try to transfer contacts via bluetooth, like I had done before, then the contacts app will crash. It will take about 10 seconds to open, and then just opens a blank black screen. If I open a text conversation and click 'add to contacts' the screen just gets a little darker and nothing happens.

The google support site suggests clearing the cache for the app, but there is no such option for this app.

It cannot be that the phone is too full or has too many apps running. It is a brand new phone with no additional software installed.

The contacts app seemed to work fine before activating the phone under a new carrier.

# Answer
I figured it out within seconds of posting.

It turns out the contacts app does not work with Google-Play disabled, which I had disabled just to get it out of the way.
> 1 votes

---
Tags: google-pixel, google-contacts
---


# Question
Title: Can I get a virus from a browser that doesn't have storage permission?
I am using Android 8.1.0 on an LML212VL LG Tracfone (more info at bottom). I downloaded the "DuckDuckGo Privacy Browser" app through the Google "Play Store" app. (This is the link I get when I click "Share" and "Copy to clipboard": https://play.google.com/store/apps/details?id=com.duckduckgo.mobile.android .) Later I went into the "Settings" app, and under "Apps & notifications", "App permissions", "Storage", I can see that DuckDuckGo's storage permission is disabled. (I don't remember if it was that way by default or if I did that, but I've kept it that way for most of the time I've had the app.) Also, within the "Settings" of the DuckDuckGo app, accessed via the menu at the top right, I have "Automatically Clear..." set to "Tabs and Data" and "Clear on" set to "App exit only".

Basically, I hoped to have a browswer set up so that it is not able to download anything that it doesn't delete on app exit, without asking for my permission in a specific way that I recognize. (Normally when I try to make an app do something I've denied it the permission to do, a certain type of pop-up appears, and I've made sure never to check the "Don't ask this again" box. When I try to download something in this DuckDuckGo app, the pop-up says "Allow **DuckDuckGo** to access photos, media, and files on your device?", and when I tap "DENY", a banner appears at the bottom of the screen saying "Downloading requires storage permission".) One problem, though, is that it clearly does keep a cache of some kind, since I can see it in the "Settings" app, under "Apps & notifications", "App info", "DuckDuckGo", "Storage". I sometimes delete the "cache". I think website language preferences and maybe autocomplete suggestions are kept in this "cache". I can also delete the "data" that the app keeps, but that undoes the settings I set within the app, tries to make me go through the introductory tutorial when I open it, and randomly tell me about how many things trying to track me it blocked ad it does the first time or so you use the app, so I don't do this as often.

**My question is this: Does this mean that I can't possibly get a virus from a website through this app, even if I click on something suspicious, as long as I don't enable these permissions? Alternatively, does it mean that any virus I do get would be trapped 'within' the app in some sense and disappear when I close the app, when I clear the cache and data in "Settings", or at least when I delete and reinstall the app?**

What made me worry about this is an event that happened some months ago while I was using this browser. I clicked on a link to some website or something, but it had apparently been replaced, and a pop-up appeared telling me that malware had been detected on my computer and that I needed to download something to scan for it and get rid of it or something. I didn't trust this at all, but for some reason I clicked "ok" to close the pop-up (I think I thought I needed to do that to close the tab without closing the app). As soon as I did this, the pop-up disappeared, and a loading bar appeared on the screen behind it with some text saying what it was supposedly doing (I think downloading something). I freaked out and immediately closed the whole app (which, remember, should clear tabs and data) and/or took the battery out of my phone.

I think I looked some stuff up on the internet using another device, but it didn't give me much peace, except telling me that what had just happened to me was a well-known scam to make people download malware and maybe suggesting that I use some supposedly more trustworthy malware-scanning app (I don't remember if I did, but, if so, I don't think it told me anything). When I turned my phone back on, I think I disabled "Wi-Fi" (and "Mobile data", but that was probably already disabled) in the "Settings" app, under "Network & internet"; then, I went into "Apps & notifications", "App info", "DuckDuckGo", and then probably clicked "Force Stop" and then "Uninstall", agreed that I really wanted to uninstall it, probably saw that it disappeared from both the "App info" list and my "App locker" (or whatever the place where clickable icons for every app are and that is down from the home screen is called), then (after re-enabling internet) reinstalled it through the Google "Play Store" app.

I don't have any particular reason to THINK I have malware on my phone (at least not anything that isn't usually on an Android phone), but there's not any way I understand that I can really be sure, except that I could be fairly sure if I factory reset my phone, and I don't want to do that. Thus, I'm wondering if I can at least be sure on logical grounds that I don't have any malware from that particular encounter or from any other site I went to with that browser.

As promised in the first paragraph here is the "more info at bottom" about my phone:

In the "Settings" app under "System", "About phone", "Hardware info":

* "Model number": "LML212VL" ("Up time", "S/N", "Wi-fi MAC address", and "Bluetooth address" are also given, but I don't think they would be helpful.)

Under ... "About phone", "Software info":

* "Android version": "8.1.0"
* "Android security patch level": "June 1, 2020"
* "Baseband version": "MPSS.JO.3.0.c12-00036-8937\_GENNS\_PACK-1.229846.1.264977.1"
* "Kernel version": "3.18.71"
* "Build number": "OPM1.171019.019"
* "Software version": "L212VL16g"

I can't guarantee that's what they were when the scare a few months ago I mentioned was, but it is what it is now, as of February 15, 2022.

# Answer
If an app has storage permissions or not is totally irrelevant if it can be exploited or not (unless you download a malicious file your self). Attacks on web browsers usually use an exploit chain, a combination of multiple exploits:

1. The first exploit allows you to execute code with permissions of the web browser on Android.
2. Next one exploits a vulnerability of your OS to get full permissions (privilege escalation: leave the restricted app sandbox).
3. If necessary the last exploit then can give you root permissions, giving the attacker full access to everything (if step 2 has not already leveraged permissions to root).

For step 1 it is important to use a web browsers that is properly maintained, and updated regularly. But zer0-day exploits are discovered quite a few, e.g. for Chromium based browsers you have usually one zero-day vulnerability per month, often more.

Step 2 and 3 require an updated Android OS. As your phone is missing nearly two years of security updates there might be vulnerabilities for exiting the sand box and/or getting root.

In a general sense if there is a flaw in the browser runtime such as the javascript engine, or rendering engine and adversary could conceivably cause your browser to execute an arbitrary procedure as long as the OS allows it.
> 9 votes

---
Tags: storage, browser, permissions, lg, virus
---