# Question
Title: How exactly do apps not running "in the background" receive notifications?
So, Android has this view (I think left to the home button is standard) where you see all the "currently open" apps, whatever that means exactly. What I'm wondering is, how can apps that are not amongst the currently "running" ones receive notifications? For example, Whatsapp, Reddit or Email will still send alerts even on a freshly restarted smartphone where I definitely didn't start the app manually.

How exactly does this work? Are, in a sense, all installed apps running in the background all the time, and in regular intervals asking their home server if there has been a notification? Does the notification somehow get sent to the Android system itself, which in turn activates the requested app on demand? At least on a PC I would expect that a program has to be running in order to send alerts, but maybe Android is completely different?

# Answer
> 49 votes
Notifications of Whatsapp and Reddit are triggered by push notifications sent from Google servers, received by Google Play Services, a system app which always runs in background. All Google Push notifications (or as they are named today "Firebase Cloud Messaging" notification) are received and initially processed by the Google Play Services.

The next processing step of the received push notification depends on the push notification type. Plain text notifications can be directly displayed without even starting the app it is targeting. Other push notifications are delivered to the app it belongs to (which is automatically started if it is not already running) and the app can then "translate" the push message into a notification (in case of Whatsapp this require e.g. decryption of the received message or even fetching additional data from Whatsapp servers).

# Answer
> 13 votes
I know there is a good answer to this question already, but I feel that there could also be a detailed technical answer as well.

When you install a new app on your phone that uses push notifications, and give it permission to access the internet, it registers interest in it's push service website with the Google Push Notification service on your phone.

The Google Push Service will then register interest in updates with the push notification server for the app via Web Sockets. This will also occur automatically when you power on your phone when the app has been installed.

When an update occurs, the message is passed from the push notification server to the Google Push Service. Then it is passed to the interested app, which then wakes up if sleeping, or loads it's push monitoring code if it's not loaded to load the notification and notify you of the message.

When you power on your phone, and it registers interest all at once, you may get a flood of push notifications. These are all the notifications since the last time the app last notified the server as you read them. This is done standard in Web Sockets to bring you up to date in what you said you registered interest in.

Some apps may have a server that sends a generic push message to the Google Push App to cause it to wake up the actual app, and then the actual app retrieves the real push message. Not all services do this. This is done for security and privacy.

The reason why the Google Push Notification service is used as a middle man is simply because of the fact that it is always running, unlike almost every other app on your phone. It will always be there to receive a push notification. While you could circumvent it, it could mean that you could miss notifications if your app is not running when they come.

---
Tags: notifications
---


# Question
Title: Using a PC or laptop to send keystrokes to type on Android
I wanted to ask if there is a way to use my computer's keyboard to type on my phone while it is plugged into the PC to charge. I was wondering if anyone on here has a setup like this.

The end result needs to be: I can connect my phone through a dock or some other USB cable and either switch between Windows on my PC to type on the Android device or find an OTG device capable of charging *and* connecting a keyboard at the same time. This wouldn't be ideal due to limited desktop space.

I could connect a separate keyboard with an OTG cable, but this would stop me from charging it while using it.

I could also use AutoHotkey or something similar to send keystrokes to the Android device over USB, but I'm not sure how this would affect charging it or transferring files over USB as well. It could probably be done but I don't know where to start.

Ideally, this would be the option I'd use.

# Answer
Use scrcpy.

* Free.
* Fast, no lag.
* If you use autohotkey, you can now use it on android. This is a big one for me since I'm used to typing with autohotkey shortcuts.
* Drag and drop files to transfer. eg. find the file via "new/recent files" and attach and send whatsapp/signal. This means you don't have to open whatsapp/signal on your PC!
* It works perfectly together with usb thethering or mobile hotspot.

Github page - Genymobile/scrcpy: Display and control your Android device
> 1 votes

---
Tags: remote-control, external-keyboard, text-input
---


# Question
Title: How to grant “Allow always” for Geolocalization to an app?
I’ve got an android mobile phone. It’s a Xiaomi Redmi Note 9 Pro, with MIUI Global 12.0.1 (Android 11). I installed 3 applications for global position background tracing:

* OruxMap
* Komoot
* View Ranger

Only for OruxMap, in AppInfo, under the option “App permissions” \> “Geolocalization”, I’ve got 4 options:

* Allow always
* Allow while the app is in use
* Ask every time
* Deny

But **for the other apps I can’t find “Allow always”** and I’ve got only the other 3 options. I compared my situation with two friends with the same 3 apps on their smartphones. One friend never sees “Allow always” option. The other sees “Allow always” option for different applications.

In order to grant background geolocalization for tracking purposes to the application of my choice, how can I visualize the “Allow always” option in the App Info for a specific application?

# Answer
> 2 votes
*Allow Always* permission option (via app settings options) is available **only** if the app asks for background location permission (`ACCESS_BACKGROUND_LOCATION`). This is explained in developer documentation Background Location.

Komoot and View Ranger apps **do not** ask for background location permission (see permissions listed under the app on Play Store or view the app manifest) . Hence you do not see that option in app settings.

If an app doesn't ask for a permission, user can't grant it, unless the device is rooted and that too in some cases. See Irfan's answer for detailed explanation in a similar case (though, for a different permission).

There isn't much you can do about this except look for alternative apps that ask for background location permission and meeting your needs.

---
Tags: permissions, gps-tracking, background-process
---


# Question
Title: Can I access the Memo data without rooting?
I basically need to do two things with my Memo notes, which I was unable to do with any simple means:

I tried but haven't found any easier way to accomplish this, so I concluded that the only way is to get the internal data files which the Memo app uses (and try to open it somehow).

**Is it possible to somehow get that file(s) without rooting the phone?**

I don't know how the permissions on non-rooted phone are set, but could another specialized app be able to fetch that file? I tried to use Total Commander app and to look up different directories mentioned e.g. here but I didn't find anything.

I want to avoid rooting if possible since I heard it's a big operation, laborous and risky.

I have Samsung S7 with Android 8.0.0.

**EDIT:** I was able to *transfer* (using Samsung Smart Switch on PC and phone) the file named `memo.nmmm` to my PC without rooting! But only transfer, not open! So now:

1. Is this file how it is stored on my phone, or if it was created by the Smart Switch app?
2. How do I open this `memo.nmmm` file? It doesn't look like any known file type, file(1) on Linux doesn't recognize it:

# Answer
I have the same desire to backup all my Samsung Memo data in plain text on my computer. I also used Samsung Smart Switch (using default settings) to transfer the information to my computer, then found there was an opaque `memo.nmmm` file.

I renamed `memo.nmmm` to `memo.zip` and found I could extract the archive successfully.

This extraction output three files:

* `memo.bk`
* `SmartSwitchBackup.json`
* `SSMDummyValue.exml`

The JSON file is plain-text, but doesn't seem to contain Memos. I assume that the other files are encrypted, because I couldn't read them. I assumed that `exml` stands for "encrypted xml", so it's probably possible to brute force the decryption key by searching for the `<?xml version="` string.

It seems the researchers here had a similar idea. They apparently developed a decryption tool as published here but the full-text PDF is not available for public download. Sadly, I could find any public tool that decrypted my local data (I did try this but the most recent software did not work as claimed - perhaps an older version of the software might do what the article says, but I didn't pursue that - yet).

However, realising that the publications by the researchers above showed that there's both PIN-based and default encryption for the backups (both happen on the phone before the data is transmitted to the computer, as per their diagrammes), I realised I should actually look at the Smart Switch settings to see if there's a way to remove the encryption settings.

On the phone, open Samsung Smart Switch app. Press the vertical-ellipsis "kebab" menu: `Settings` which takes you to **Smart Switch Settings**.

Under the **Security** heading, there is an **External storage encryption** option which contains:

* Secure with Samsung Account
* Secure with password
* **No encryption**

I changed the setting from the first option to the last option and ran Smart Switch backup again.

Sadly, it doesn't seem to have made the files much easier to read. It still outputs the opaque `memo.nmmm` archive and that still extracts the same three files, with the same file sizes each. Between the first encrypted output and the second unencrypted output, I ran a binary diff on the `memo.bk` and `SSMDummyValue.exml` files. The `memo.bk`s are completely different, but the `SSMDummyValue.exml`s are the same except for the last third of the file. The `SmartSwitchBackup.json` files didn't text-diff well until I auto-formatted them and then it was obvious they were identical.

So, my remaining options are

* wait for the authors of this to respond to my request for the full PDF (but I am not with any institution, so someone else might have better chances) to see if it contains any software that may help decrypt the Memo files
* try to obtain an older version of this software, perhaps by contacting those forensics experts
* try to brute force decrypt the `SSMDummyValue.exml` file using the encryption methods mentioned in the aforementioned forensics publications

All of these options take more time than I have right now, so I thought that I would post my current findings here in case it helps someone reach the next steps. I will update my answer later when I have found a more full solution.
> 2 votes

---
Tags: samsung, samsung-galaxy-s7
---


# Question
Title: How can I easily share links or text between my Android phone and my laptop?
For example, if I have a URL for an image from my laptop's browser that I want to share with a WhatsApp contact, what is the easiest way of doing this? The only way I can think of is to copy the URL, paste it into an email to myself, open the email, copy the URL and then paste it into WhatsApp.

# Answer
Some time after asking this question I found the Pushbullet app, which shares clipboard items across devices. Since Pushbullet changed its business model, I moved on to using the Join app which has similar features to Pushbullet and, although not as polished as Pushbullet, is functional and meets my original requirements.

Update (Feb 2021): And some time again after finding Pushbullet, the service made a radical change to pricing, so I chose to find an alternative. I've been using Join (https://joaoapps.com/join/). It's not as polished as Pushbullet and it doesn't work in Firefox, but it still meets my needs and it's a one-time purchase. It also has some power user features that might appeal to SE users.
> 8 votes

# Answer
Forget the pain of emailing stuff just to share some text. If you are running Android version 4.0 & above, check **Keep** from Google.

Keep works on your phone, tablet and computer. Everything you add syncs across all of your devices.

Visit **https://keep.google.com/** to open Keep on PC.

Add your notes/text/link/audio note/photo. Immediately this would be synced across your devices. You can access the same stuff in your android app.

Works vice versa as well.

Get Google Keep **Android app** from **here**.

**Click here** to watch Google Keep video tutorial.
> 27 votes

# Answer
For your specific example, just use Whatsapp on your laptop's browser: https://web.whatsapp.com/
> 10 votes

# Answer
the trick is generating a QR-code using Duckduckgo´s tool. Then read it in phone via an app reader that uses your phone´s camera.

-in Chrome, i have added a search box shortcut named **DU** that searches in **duckduckgo.com**

-then i just type in the searchbox

```
    DU QR http://android.stackexchange.com/

```

tip: if you have the shortcut set up, then in the addressbox you just type `DU QR`without deleting the url in the tab

this also generates the qr code:

`https://duckduckgo.com/?q=qr+http://android.stackexchange.com/`

NOTE: although the KEEP method is very easy, it requires that you are using the same google account on your pc and on your phone. I do not use the same google account on my phone, as added layer of privacy. This is a standalone solution so you don’t have to *install nor sync anything*.
> 8 votes

# Answer
If you use Google Chrome, you can sync up your tabs so that when you open the chrome on either your laptop, phone or tablet, you will be able to see any tabs you have open on all of your devices relatively easily.
> 6 votes

# Answer
You might want to check out Airdroid, it supports posting directly to the devices clipboard.
> 4 votes

# Answer
Another route, if you are on your computer and wanting to send something, is to see if there is an app/program on the computer you're using that would allow you to share the bit of information without involving your phone. I think there are a few apps/programs that allow you to communicate through what's app from your computer. Of course I mean at that point you could just send an email or even gchat.
> 3 votes

# Answer
I can think of two simple ways. 1. Download in to you pc and android one of the many notes app with auto sync between the devices. Just drop the link into a note and you'll get it inmediately on your phone, from there its a click away to whatsapp. 2. If you use chrome browser on both devices you can enable autosync of favs between them. So you add the site to your favs in one device and get it in the other.
> 2 votes

# Answer
If you are using a Linux distribution, you can use KDEConnect or GSConnect to share clipboard *et al* over a local wireless network. Search for any of them for your Linux distribution. KDEConnect comes with KDE environment and GSConnect is a GNOME shell extension. For their Android counterpart, KDEConnect is available on Play Store which works for both KDEConnect and GSConnect running on your Linux system.

Once you have them setup in both your Android and Linux distro, pair them. Go into your Android app. It would show the available clients on the wireless network. Send a pair request and accept it in your Linux distro. Change settings, if need be, on both sides.

From now on, your Linux distro and Android would sync clipboard whenever they get connected to a local wireless network.

Sharing clipboard is a breeze. You copy your item (link, text, etc.) in either Android or Linux distro and it would be available on the other side seamlessly.
> 2 votes

# Answer
KDEConnect is an open source option which doesn't require any accounts and allows you to share links and files between devices. Both Windows and Linux are supported (MacOS is supported but must be built from source - at the moment).

Simply install the application on your PC and android device and pair them (they must be on the same Wi-Fi network).

Right click on KDEConnect in the task tray → \[Device Name\] → Send a file/URL

Paste the URL and hit "OK"

Your android device then receives a notification with the link

The reverse is possible too just share the webpage then select KDEConnect then select your Device
> 2 votes

# Answer
It is possible to share information **without login** with yourself and others with Google Docs. When you create a doc, set the sharing option to "Anyone with the link can edit". Then anyone having a link to the document can make changes to it.

In your case, you first create a Google Doc as above (you will need to log in once to your Google account to do this), then share and bookmark it in any device you need.
> 1 votes

# Answer
Register one Google account, and sign in Android phone,or on China, you can use chat app like Wechat or QQ to share link and text directly between Android phone and laptop.
> 0 votes

# Answer
If you are on a PC in which you don't have permission to install any software, one easy way to copy text from PC to Android (Maybe iPhone) without installing any software is to use the built-in Google Lens function. You can find Google Lens in the Google Assistant app. It provides an OCR function to recognize text in the camera images. And you can copy the text or directly open the link.
> 0 votes

# Answer
Easiest way is to have two Gmail addresses and cut and paste through Google Hangouts inside of Gmail.
> -1 votes

# Answer
Use this app Fire TV Universal Remote Android TV

https://play.google.com/store/apps/details?id=com.cetusplay.remotephone

It's a remote control and it allows you to push links to your Android box
> -1 votes

# Answer
You can use Scaan.in website. Just open the website http://www.scaan.in and read how to use it. It's the simplest and fastest way to share links from mobile to PC.

You can install the app from Google Play Store. Once you install the app, to share links/text, just scan the QR code.

Note: I am the developer of this app. It is new to Play Store, but you can trust that this app is a final product, that has undergone thorough testing.
> -2 votes

---
Tags: share-menu
---


# Question
Title: Is it possible to autocorrect the last word when sending an SMS?
iOS has the capability that, when pressing the send button in the Message app, that the last word gets autocorrected, without having to hit the spacebar after the last word. Is there a way to do this for Android, via a messaging app or particular keyboard, or some other means?

# Answer
Some Android devices auto-correct the last word when pressing the backspace button. So, if you type a word incorrectly and press space and it doesn't auto-correct the last word, you can press backspace and it will fix the error.

But this depends on the model you're using, in fact, some devices do the opposite: they undo the auto-correct.
> 1 votes

---
Tags: sms, keyboard, auto-correct
---


# Question
Title: What Google Play Services can I safely disable?
I need working synchronization and Play Store working, that's all.

What Google Play Services can I safely disable, like AnalyticsService? Maybe there is some description of what certain services do?

# Answer
> 0 votes
Here's a list of the services currently destroying my battery (and doing who knows what else !)

I hope someone can expand this list, and add a description, so we know if we can disable each item or not.

* CollectionService
* ExposureMatchingService
* DeviceConnectionWatcherService
* GcmService
* PendingIntentCallbackService
* ContextManagerService
* AuthenticatorService
* ReceiveSurfaceService
* GmsCoreStatsService
* CableAuthenticatorService
* EmergencyPersistentService
* LockScreenService
* SchedulerService
* GoogleLocationService
* GoogleLocationManagerService
* ClearcutDebugDumpService
* LocationPersistenceService
* EastworldService
* DiscoveryService

---
Tags: google-play-services
---


title: Why Stock recovery replaces my TWRP?

text:
# Question
Title: Why Stock recovery replaces my TWRP?
**The situation**

Whenever I install TWRP, it gets replaced by stock recovery.
It doesn't boot to recovery at all the first time. But it shows a message :

> Orange state
> your device is unlocked and cannot be trusted
> rebooting in 5 seconds

If I even managed to boot into recovery, it's the stock one that's there
* *I don't boot directly to the system.*
* *I use Reboot Manager app to boot into fastboot, recovery.*
* *same results with buttons, but I prefer the app for ease of use (power button is bad).*

---

**Info**

* Bootloader : unlocked (w/ adb)
* Root : Magisk (w/ magisk manager)
* Model : Infinix zero 4 plus x602

---

**Steps I tried** :

1- using adb

```
> fastboot flash recovery recovery.img
> fastboot reboot recovery
//OR
> fastboot boot recovery.img

```

2- SP flash tool
same results as before

3- TWRP app
*app crashes and doesn't work*

---

what should I do to install twrp recovery?

# Answer
Try to burn all the firmware again with the sp flash tool and instead of the original recovery you will burn TWRP
> 1 votes

# Answer
> **Why Stock recovery replaces my TWRP?**

usually TWRP will ask for prevent updating stock recovery automatically on initial setup, it ask for swipe to allow system modifications. you can rename `/system/recovery-from-boot.p` manually instead.

For Samsung devices there is a service called `flash_recovery` that will run when the system starts up, which will restore the recovery image back to stock. TWRP itself might not solve that, therefore multidisabler flashable zip exist for some device models.
> 0 votes

---
Tags: adb, recovery-mode, twrp
---


# Question
Title: About having parallel clubhouse in android cell phone
I have tried to use two clubhouses via my android phone by using this parallel app in android cell phone, it is sending the registration code or call directly but as you can see at below, it is hanging on the name registration step:

If possible, I like to have your comment or answer about the reason of this error. Thanks.

# Answer
> 0 votes
I use Parallel Space Lite, be sure to install the separate 64bit as well.

---
Tags: application-error
---


# Question
Title: How to type fractions like ⅝ in keyboard?
Is there any way to create fractions that are not listed on the pop-up list?

# Answer
> 3 votes
For Gboard: Just enable longpress for symbols in Gboard settings. Than find textbox and in lower left corner of keyboard switch to symbols, than longpress on some numbers will give you fraction or exponent.

# Answer
> 2 votes
With the SwiftKey keyboard navigate to your Numeric keys and long-press the number 5 to get ⅝ as an option.

Go to numerical keys in bottom left and long press 1-3, 5 and 7. It will give you options if there is more than one available fraction for that number, for instance long pressing 1 will offer ⅛, ¼, ⅓, ½. Otherwise it will just give you the one available fraction for that number. Just choose the first number you want. So if you needed ⅝ you'd long press 5, ⅞ you'd long press 7 etc.

# Answer
> 0 votes
For MessagEase keyboard, there only seems to be three values supported out-the-box via the combine function: ½, ¼, and ¾. To input them, type out the numerator followed by the denominator, then swipe up-left on the `a` key.

---
Tags: keyboard, samsung-galaxy-s-5, gboard, keyboard-shortcuts, special-chars
---


title: Better keyboard to type '?' symbol

text:
# Question
Title: Better keyboard to type '?' symbol
I was wondering, is there any better keyboard for me to type to following '?' symbol. Now, using stock android keyboard, to type '?', I need to

1. Press and hold ',' key, a list of symbol choices will shown.
2. Hold and move my finger to '?'.
3. Release.

I feel not comfortable on step 2, as most of the time, my finger is quite dry. I found it is difficult for me to hold and move my dry finger on the screen. Is there any way I can.

1. Press ',' key, a list of choices will shown.
2. Click on '?'.

# Answer
In pre-2.2 stock keyboard, typing the ? is a two step process:

Alternatively, you can long press on `.` and a pop up menu will appear:

In 2.3 stock keyboard, the auto-correct bar will show common punctuations, including `?`:

The old two-step ways of using the `?123` page and long-pressing on the `.` still works, although when you long-press on `.` now you only need to slide your finger to the punctuations.

In Swype, you can long press on the letter `M` to produce `?`:

Alternatively, you can press `Sym` keyboard:

If you're using SwiftKey X Beta, the `?` has its own dedicated key in the main keyboard:

If you're using HTC keyboard, you can long-press on the letter `k`:
> 6 votes

# Answer
Swiftkey is a keyboard that aims to reduce the amount of keys strokes you make by predicting the next word in a sentence based on your typing history - that means it gets better the more you use it.

In your case, it also has just one keypress to type a `?` as you can see below:
> 2 votes

# Answer
Swype would be your best bet, just swype the symbol to the spacebar and voila! You have your question mark.

http://www.swypeinc.com/i/basic-keypad.jpg

Here's a link for videos of the tricks you could do with swype: http://www.swypeinc.com/tips-tricks.html (Search for how to swype punctuation!)

If you want in, register from here: http://www.swypeinc.com/myswype.html

Best thing is it's free!
> 2 votes

# Answer
MessagEase has the "?" symbol directly available in one-touch from the default screen:
> 1 votes

# Answer
Press the "Sym" button, then press the "?" button, no dragging required. You can also do a medium press of the button to get the symbol without the menu appearing (long press). You'll see the symbol appear when you've held the button long enough for the medium press.
> 0 votes

---
Tags: keyboard
---


# Question
Title: Backup app's fingerprint data and restore
I have one app on my device locked with fingerprints. I want to back up this app, delete it, and restore it again without a need to log in again. So it should work again with fingerprint without any need to log in again and attach fingerprint.

Basically, to restore the app at the same status as it was before deleting. Is this even possible even with root access?

# Answer
> 6 votes
No, not possible even with root. And rightly so, since accessing fingerprint data is a huge security risk.

Android stores fingerprint data in Trusted Execution Environment and can't be accessed even with root. This data doesn't leave the device nor is it a part of app data. For more details, see key points related to the question (from our sister sites) :

> All fingerprint data must be secured within sensor hardware or trusted memory so that images of your fingerprint are inaccessible

> Root access must not compromise fingerprint data

> Biometrics never leave hardware-backed keystore (TEE)

> So no, your fingerprint data should never be accessible to any apps

Cracking TEE is not a trivial exercise (theoretically possible, I guess) - if one could, it breaches the entire security system of Android.

---
Tags: security, backup, restore, fingerprint
---


# Question
Title: Stop websites to redirect to their Play store apps
Some websites force to install their app and won't let me visit their websites in Google chrome on Android without redirecting to playdate Play store. Only workaround is incognito mode because chrome won't "break out" of it.

Instant apps are disabled. "Default app" is disabled for the Play store.

This is an example: https://castbox.fm/vb/409788348

Any way to disable it? Thanks

# Answer
> 0 votes
Just disable that fncking google play store

---
Tags: google-play-store, chrome-for-android
---


title: Why can't my device connect over WiFi?

text:
# Question
Title: Why can't my device connect over WiFi?
Here is the steps to connect my Android phone from PC over WiFi:

1.Connect the device and the computer to the same Wi-Fi network
2.Plug the device to the computer with a USB cable to configure the connection
3.On the computer command line type:

```
adb tcpip 5555

```

4.On the computer command line type:

```
adb shell ip addr show wlan0
#i get the phones ip----192.168.31.86

```

5.On the computer command line type:

```
adb connect 192.168.31.86:5555
connected to 192.168.31.86:5555

```

6.Disconnect the USB cable from the device and check with adb devices

```
adb devices
List of devices attached
192.168.31.86:5555  offline

```

Why the status is not online when to disconnect the USB cable from my phone?

# Answer
> 0 votes
I replace 5555 port with other number to solve the issue.

---
Tags: wi-fi
---


# Question
Title: How to unlock the bootloader of Samsung galaxy grand 2?
I searched the whole internet and couldn't find any guide for unlocking the bootloader of this specific model. my main goal is to install Lineage OS but the instructions on the page don't seem to be for this device.

**Page Link:** https://lineageosroms.com/ms013g/

(can't find a way to make fastboot find my device - it seems grand 2 doesn't have an actual fastboot mode. it has a download mode).

It says you need to enable OEM in developer mode but there is no such an option available.

I've also found a TWRP for my device here: https://forum.xda-developers.com/t/twrp-v3-2-3-0-for-galaxy-grand-2-sm-g7102-unofficial-updated.3778414/page-2

do I need to unlock the bootloader to replace it with the recovery mode of device?

# Answer
this device is not bootloader locked
> 0 votes

---
Tags: samsung, fastboot, bootloader, lineageos, bootloader-lock
---


# Question
Title: Pixel 2: no Play store after lineageOS and gapps installation
I installed Lineage 18 on a Pixel 2 without issues. I followed the official guide (https://wiki.lineageos.org/devices/walleye/install).

The problem is that there is no Play store after the first boot. I wiped again twice and redid everything without issues. Still no Play store and firstboot is normal.

I tried to wipe, install lineage, firstboot, then boot to recovery to install the gapps.zip, but of course that expectedly created problems (system not booting, sending straight to recovery).

I tried gapps nano and pico, same thing.

I'm out of ideas, any help will be very welcomed. I flashed multiple devices in the past and never stumbled on this issue.

Could that be a a-b slot thing? I doubt adb sideloading lineage and then gapps right after one another would send one to A and the other to B. Maybe MindTheGapps would behave differently?

Thanks in advance for any help.

# Answer
Problem solved!

Boot to TWRP, sideload Lineage, from TWRP reboot to Recovery. Lineage Recovery will load. Sideload the gapps. Reboot to system.

A few things:

* I did get stressed out about the slot thing, but from TWRP, rebooting to Recovery sends to Lineage Recovery (along with a different slot \[sometimes?)\], so things get a little counter intuitive.
* In the past I flashed a Nexus 6P, an S4, an S5 and a Nexus 5. It was never necessary to reboot to recovery between loading Lineage (or Cyanogen back then) and the gapps.
* The wiki doesn't mention that it is required to reboot to recovery to install the gapps after sideloading Lineage. I would update it to add this detail, along with the fact that you go from TWRP to Lineage Recovery in the process.
> 3 votes

---
Tags: google-play-store, lineageos
---


# Question
Title: Where is Boot flow screen displayed in android
I have came across Boot flow and when there is based on boot state of a device, it shows different colot screen.

```
YELLOW: Warning screen for LOCKED devices with custom root of trust set
ORANGE: Warning screen for UNLOCKED devices
RED (eio): Warning screen for dm-verity corruption
RED (no os found): No valid OS found

```

Let me know where or from which path those screens are displaying?

Eg:Yellow Screen

# Answer
This is all happen in OEM bootloader (proprietary) before android is started. This screen is displayed before splash screen only in yellow/orange/red state
> 4 votes

---
Tags: boot, bootloader, images
---


# Question
Title: Can I resume downloading app in Google Play store?
I started downloading a game using Wi-Fi, the game was about 1.5GB . When almost 800 MB was done I closed Wi-Fi. The download paused. Will I be able to continue from 800 MB when I connect to Wi-Fi again. Or from the beginning?

# Answer
> 0 votes
Usually the download resumes. But in some cases the file is downloaded again.

# Answer
> 0 votes
yes, it should continue as long as you dont clear the cache.

But im not sure if it continues if you restart the phone or update the play store.

---
Tags: google-play-store, wi-fi
---


# Question
Title: Connected to wifi, but no internet access
first question here. I was using wifi normally on my phone. Then I turned it off and after some time turned it back again. Since then I can not access the internet. It's showing `Connected(no internet access)`.

I tried to set the IP static. It did not work for DNS `192.168.200.1`. No matter what IP I set with this DNS it does not work. Then used the `8.8.8.8` as DNS, now it's connected. But it is really slow, and the connection does not seem stable. Every time I have to reload google.com several times just to get the page.

The problem is specific to this device only. Other devices connected to the same network are perfect.

Can someone suggest me what should I do? Is this a router issue? Or is this my device problem?

I'm new in this area. So my knowledge is not so deep and you might have to explain things a bit more in detail for me to grasp the concept.

# Answer
You can use Airplane Mode to reset DNS.

Put the phone in Airplane mode. Wait about a minute. Power the phone OFF, then start it up, then Remove Airplane Mode and test. It should work.
> 1 votes

# Answer
I just had this issue took me ages but clearing the data from the the google play store app solved it for me..

1. Open your Android device's Settings app and tap "Apps" or "Apps & notifications."
2. Select the Google Play Store app from the complete list of apps.
3. Tap "Storage," and then hit "Clear Data."

Hope it helps someone else!
> 1 votes

# Answer
"Forgetting" the WiFi network on my Samsung S7 and then re-logging into it solved the problem.
> 0 votes

---
Tags: networking, wi-fi, router, internet
---


# Question
Title: Copying WhatsApp chat history to new Android
There have been many questions asked and answered on this topic but unfortunately I've not found one that addresses my issue. I have read that to transfer the WhatsApp chat history to a new phone it is necessary to first back up the chat history from the old phone (before removing the SIM) to Google Drive. Unfortunately I didn't do this. I moved the SIM from my old to the new, installed WhatsApp and registered it with the old number, so losing all my chat history.

I assume that my chat history is still on my old phone but if I run it with a different SIM, WhatsApp presents me with the welcome screen and I have no way of accessing my chat history (I have not tried registering WhatsApp on the old phone with an new number). So I now have a chat history on both my old and new phones.

Is there any way to access the chat history from the old phone and combine it with that on the new phone.

Suppose I temporarily move my original SIM back to my old phone and get WhatsApp running again with the old number, will my chat history be restored? If so, I am thinking I could then do the Backup to Google Drive and then somehow combine the two histories on the new phone

# Answer
> 0 votes
There is no way intended to combine different accounts. There is however unofficial solution for advanced users. Unfortunately I don't use WhatsApp and never used any of this tools, so I can give link-only answer only.

1. However, first step is get Legacy WhatsApp installed without uninstalling app data. This can probably be achieved with

```
adb uninstall -k com.whatsapp
adb install -r -d WhatsApp-2.11.431.apk

```

This will give you the availbility to create adb `backup.ab` and extract the database with `abe.jar` Android backup extractor without rooting the device.

This of course must repeated for second account, too. Refer to following link for details, troubleshooting and support.
\[Tool\] WhatsApp Key/DB Extractor | CRYPT6-12 | NON-ROOT | UPDATED OCTOBER 2016
2. second step is merge databases into one account.
\[TOOL\] Merjapp - merge whatsapp databases
3. third step merged database must re-packed and restored to device

# Answer
> 0 votes
Actually it's fairly simple. When you go to reset your phone, you are able to save your data for apps. After you do the reset, your phone will ask you if you want to restore all of your applications and all of your data. I've done it many times and it has always saved my data.

---
Tags: whatsapp-messenger
---


# Question
Title: How to access texts on rooted Android device from terminal
How do I access text messages on my rooted device using the command line?

I specifically want to extract a text transcript, without using any cloud services and thereby exposing sensitive or personal info.

# Answer
> 3 votes
Requirements:

1. Linux terminal (may work on other systems; untested).
2. `adb` installed.
3. "USB Debugging" enabled.
4. Rooted Android device (may work on unrooted; untested).

Sequence:

1. Plug in device.
2. Put device in "File Transfer" mode.
3. Start session with root access: `adb root`.
4. Accept prompt on device to allow USB debugging.
5. Start interactive shell at root dir (`/`): `adb shell`.
6. Locate database file using `ls`, `find`, and whatever tools you see fit. Mine was: `/data/data/com.android.messaging/databases/bugle_db`.
7. Exit the shell with `exit` or `Ctrl-d`.
8. Pull the file onto your local machine: `adb pull <file> ~/texts.db`.
9. Run this script to extract messages: `python3 extract_convo_from_textdb.py ~/texts.db "<convo-name>"`.

---
Tags: root-access, sms, privacy, terminal, data-transfer
---


# Question
Title: Can I customize a widget icon from an app I don't develop?
I installed an icon pack (Arcticons), and some widgets don't match the design of the icon pack. Let's take Shazam widget as an example. Can I:

* Create a custom widget icon for the existing Shazam widget?
* Create a widget with icon I want and trigger Shazam's song recognition on my own from "my widget"?

Thanks for your help.

# Answer
> 1 votes
It seems it's impossible to customize the icon of an existing widget. But depending on the app, we may be able to create a widget that launches an external application. (Old) Source for Shazam: https://stackoverflow.com/questions/4791826/calling-an-extrenal-application

---
Tags: app-widgets, icon-packs
---


# Question
Title: recover data from unbootable phone with broken touch
My Oneplus3 touch screen stopped working yesterday. I did some googling and was told that erasing cache through fastboot could be a solution so I did using.

```
fastboot erase cache

```

Now my phone just hangs on the boot screen when trying to boot into android...

I can still get into TWRP and connect through adb I would like to create a backup with:

```
adb backup --twrp

```

but I'm just greeted with the message

```
Now unlock your device and confirm the backup operation...

```

which of course isn't possible without using the touch screen.

Any ideas on how I could recover data?

Edit: I feel like I could get a long way by repairing the cache partition, which would enable me to boot to android and use a USB-OTG mouse or something. Not sure how to do it though.

# Answer
> 0 votes
TWRP adb backup is started immediately, no confirmation needed. You can ignore that message and check `backup.ab` file is growing

```
fastboot erase cache

```

will erase the file system from partition. what you want is

```
fastboot format:ext4 cache

```

that will allow you to boot to android and use a USB-OTG mouse

---
Tags: adb, twrp, fastboot, data-recovery
---


# Question
Title: What might cause Notifications about Instant Messages to appear late and batched up on a Huawei P8 running Android 6?
I noticed a strange behavior on my newly-acquired Huawei P8 phone: Notifications about Instant Messages from WhatsApp, Facebook Messenger, and Threema seem to arrive late and in a "batched up" manner. This can take one of two forms:

1. The phone will all of a sudden start to beep and vibrate like crazy, displaying multiple Notifications about new Instant Messages, however, those Messages aren't actually new, they may be anything between several minutes and several hours old, and may come from multiple sources (e.g. a mix of WhatsApp, Facebook, and Threema Messages). E.g. at 11:44 my phone vibrated, and showed me two WhatsApp Messages from two different conversations from 11:33 and 10:02.
2. There will be no Notifications on the phone, and no indicator on the icon, but when I open, say, WhatsApp or Threema, shortly after it has finished loading (less than half a second, usually), several messages will appear at once, both within the app and as Notifications.

It appears as though either the client apps (WhatsApp, Facebook Messenger, Threema) or the Google Cloud Messaging service or both are stopped and/or blocked. This behavior appears both with mobile connections and WiFi, both when on battery power and when fully charged and connected to mains power.

There are various advanced power and data saving options which I am not familiar with from my earlier phones (might be new in Android 6 or Huawei-specific enhancements) which could cause this, but I thought I have everything set up correctly:

* Settings → Airplane mode: **OFF**
* Settings → Wi-Fi: **ON**
* Settings → Wi-Fi → Advanced Settings → Keep Wi-Fi on during sleep: **Always**
* Settings → Data traffic management → Networked apps: both **Mobile data** and **Wi-Fi** checked (√) for all System Services, as well as WhatsApp, Facebook Messenger, Threema
* Settings → Data traffic management → Networked apps → Advanced network management: both **Mobile data** and **Wi-Fi** checked (√) for all System Services, as well as WhatsApp, Facebook Messenger, Threema
* Settings → More … → Mobile network → Mobile data: **ON**
* Settings → More … → Mobile network → Enable always-on mobile data: **ON**
* Settings → Notification panel & status bar → Notification center: **Status bar**, **banners**, **lock screen** enabled for all of WhatsApp, Facebook Messenger, Threema
* Settings → Do not disturb: **OFF**
* Settings → Accounts → Menu → Auto-sync data: **ON**
* Settings → Apps → Advanced → App permissions: I did not change anything here and always accepted the default permissions when installing
* Settings → Apps → Advanced → Ignore battery optimizations: **Allowed** for all of WhatsApp, Facebook Messenger, Threema
* Settings → Advanced settings → Battery manager → Protected apps: **ON** for all of WhatsApp, Facebook Messenger, Threema
* Settings → Advanced settings → Battery manager → Settings → Close excessively power-intensive apps: **OFF**
* Settings → Advanced settings → Battery manager → Settings → Keep Wi-Fi on when sleeping: **Always**
* Settings → Advanced settings → Battery manager → Settings → Keep mobile data on when sleeping: **ON**

---

**EDIT**: A few minutes ago, I received an OTA update (GRA-L09C432B382) with the following description (**bold** emphasis mine):

> This update optimizes the background operation of Google Duo and WhatsApp for an improved experience.
>
> # \[Optimizations\]
>
> * Optimized the background operation of Google Duo, enabling you to make more stable video calls.
> * **Optimized the background operation of WhatsApp, enabling you to receive new message notifications when your screen is off.**
> * Optimized the NFC feature by enabling it by default when your device is switched on.
> * Provided Wi-Fi coverage in Greenland.
> * Expanded the roaming coverage.
> * Optimized the display of UI text elements.
>
> # \[Update notes\]
>
> 1. If you experience any issues during the update, please call the Huawei customer service hotline or visit an authorized Huawei service center for assistance.
> 2. This update will not erase your personal data, but we recommend that you back up any important data before updating.

If it turns out that this update fixes the issue, I am going to add a self-answer and accept it.

# Answer
The issue was resolved with OTA update GRA-L09C432B382 with the following description (**bold** emphasis mine):

> This update optimizes the background operation of Google Duo and WhatsApp for an improved experience.
>
> # \[Optimizations\]
>
> * Optimized the background operation of Google Duo, enabling you to make more stable video calls.
> * **Optimized the background operation of WhatsApp, enabling you to receive new message notifications when your screen is off.**
> * Optimized the NFC feature by enabling it by default when your device is switched on.
> * Provided Wi-Fi coverage in Greenland.
> * Expanded the roaming coverage.
> * Optimized the display of UI text elements.
>
> # \[Update notes\]
>
> 1. If you experience any issues during the update, please call the Huawei customer service hotline or visit an authorized Huawei service center for assistance.
> 2. This update will not erase your personal data, but we recommend that you back up any important data before updating.
> 0 votes

---
Tags: 6.0-marshmallow, notifications, whatsapp-messenger, huawei, facebook-messenger
---


# Question
Title: Sync two gmail accounts, but only one account's contacts in Mi10i
In earlier models we had option to sync selective items like only Gmail and not Contacts of an account being added to phone, but now If I add 2nd account, by default it syncs all data(gmail, contacts etc while adding itself).And there is no option to remove the synced contacts of one account. Please help in this regards. In Mi10i the manufacturer had made the OS in such a way, from whichever app I add a google account it just launches same "account adding screen(may be from play services)" and no option but to agree for play services to use this signin in all google apps.

# Answer
As AndrewT mentioned, you can select the items that you want to sync. To prevent sync when adding the account for the first time, you can turn off the sync toggle in quick settings before adding the account.
> 0 votes

---
Tags: contacts, xiaomi, mi
---


# Question
Title: Enabling developer options does not work
I have a Samsung J3 (2016) which I would like to root. To do so, I want to enable the developers options. I tried the method which always works (tap 7 times on build number). This method does not work unfortunately.

Is there a different method to get usb debugging enabled?

# Answer
Family link was the reason developer options could not be enabled. After changing the device settings in Family Link app, developer options could be enabled by tapping 7 times on the build number section.
> 3 votes

---
Tags: rooting, usb-debugging, developer-options
---


# Question
Title: "Unable to get VPN permissions, you may need to reboot device and try again"
On my Play Store-included Chinese Android phone (Xiaomi Poco X3 NFC), I recently encountered an issue where I had to re-accept permissions for all of my apps. My VPN app failed, and I began getting errors that the phone itself was preventing me from connecting to a VPN. I tried clearing the cache, the files, re-installing the app, using new VPN client and configuration files, restarting the phone, etc. None of this helped.

# Answer
> 2 votes
I backed up all of my data and reset the phone to factory defaults.

## Important reminder:

Before resetting the phone, I removed my MicroSD because the dialog said that it would delete everything on the MicroSD if I did not do this.

## Sussing out the source of the problem:

After reformatting my phone, I slowly installed each app that I thought might be the culprit. Then, I slowly did each system app update. I found there were a few apps that could cause the problem. These are the apps that I suspect have the ability to permanently block connection to VPN in order of confidence with first being most certain: Mi Credit, Screenshot (by Mi), Updater (by Mi), and Security (by Mi). There may be other system apps that create this problem.

Update: Themes (MI) also creates this problem, consistently. The VPN connects and says that it is connected, but download rates drop to 0kbps. If I remove myself from the MI Themes privacy policy and wait a few minuets, the VPN starts working again. If I re-accept the privacy policy, the VPN stops working, again. This is reproduceable.

## Methodology:

After reformatting, I spent a few hours connected to my VPN and browsing before installing any of these apps. After installing them one-by-one, I encountered issues. Removing updates did not undo the problem of the VPNs being blocked: I had to factory reset the phone, again. I installed these other apps, one after each reset, to test each one of them. I installed "updater" and "security" at the same time so it might be only one of these two, but I suspect that all of the system apps on the new MIUI system app update set are tainted. Finally, I reset the device, ignored all updates, *turned off auto-update in three locations--Developer Options, System Apps Update settings, and System Apps Updater settings*--, and began to use my phone again. Everything has been working fine for 24 hours. If it fails hereafter, I will update my answer and include it as part of the question; so, if my answer is here, the theory stands.

## How is this happening?

If anyone knows why these apps are causing this problem or can guide me through figuring it out, please mention me in a comment. Thank you!

---
Tags: vpn, security, permissions, malware
---


# Question
Title: Galaxy S21: How do I leave my mobile hotspot turned on 24/7?
I'd like to have my mobile hotspot turned on 24/7. Currently, it gets turned off it's not being used for a while. How do I disable this behavior make it permanently turned on?

# Answer
> 1 votes
I'm not sure how to do this forever but one way to keep it on longer is to make sure you, Auto connect to wifi' option is off. Otherwise, when you go to a spot where you previously saved a known wifi connection, it will auto connect an hotspot can not stay on if wifi is on.

---
Tags: wifi-hotspot
---


# Question
Title: How to set developer option after reboot?
My phone reboots upon BT connection if I don't set the BT codec to SBC. I've been messing w/ Tasker to automate this upon reboot, but I have root access, is there any way to set this programmatically to stick? It seems it gets re-set often back to "best effort"/default. Ideally, this would be perhaps a one off script, or a script that Tasker can call upon reboot vs using "sendkeys/autoinput".

# Answer
> 1 votes
Try dialing code \*#\*#4636#\*#\* into your phone. No need to press the send call button. After the last * is input, the pop up screen will automatically display. Choose option usually displays (PHONE INFORMATION). Then you can modify an update a connection your having issues with.

There is so much information and a vast amount of ways you can go about fixing your device. That said, I simply can't go into in-depth detail pertaining to your issue, so best option is to search the information you don't understand once you enter the configuration pages. Hope this helps.

---
Tags: root-access, developer-options
---


# Question
Title: i can't boot into recovery mode on my Nokia C2 tennen
When using the hardware key combination( Volume up + Power button)it doesn't go into recovery mode at all The only option I'm able to get is fastboot (Volume down + power button) can anyone help me??

# Answer
Have you tried 'adb reboot recovery' ? Works on all my devices.
> 0 votes

---
Tags: adb, recovery-mode, fastboot, nokia
---


# Question
Title: New Android maps - how to show navigation without destination
Older version of Google Maps for android had a separate Navigation app, in it I could either set a destination for guided navigation or simple select "Display map" with would always show my GPS location as I travel (streets, turns etc.)

With recently updated map app, I can either see my static location on the map or choose destination for navigation.

How do I simple display dynamic navigation map that would display my current location as I drive?

# Answer
As I mentioned in my comment, upon further research I found that "Follow me" feature or "Navigation without destination set" was removed from the latest release of Android map app.

Following someone else's advice I am switching (at least for now). to the Waze app
> 1 votes

# Answer
You just need to access "My Location" in Maps.

Click the "location" button in the bottom right corner to have the map scroll to your location. (Obviously you need to have Location Services turned on.) The button will turn blue and there will be a glowing blue dot at your location.

Tap the button again and the view will change to "compass mode", a partial-3d view with 3-d building outlines and pointed in the direction you're facing. The button will change to a compass. Tap again to get back to the top-down view.
> 2 votes

# Answer
To activate the Drive mode, do these steps:

1. Navigate to the home screen
2. Long tap on an empty spot
3. Choose "Add widget"
4. Select "Google Maps"
5. Select "Drive Mode"
6. Add it to the home screen
> -1 votes

---
Tags: google-maps, google-maps-navigation, navigation
---


# Question
Title: Google Sheets Android - Continuing Formulas
I have the formula `B6=((A6/A4)*B4)+A2` and I want to copy it throughout the rest of the column so that: `B7=((A7/A4)*B4)+A2`,`B8=((A8/A4)*B4)+A2`, and so on. I know how I would do this on a computer but I do not have access to one. Any help?

# Answer
> 2 votes
1. Tap on your formula `B6=((A6/A4)*B4)+A2` to select it, then tap another time to select `COPY`
2. Tap on the column name `B` to select the whole column, then tap again on it to `PASTE` the formula.

# Answer
> 2 votes
This worked for me:

1. Make at least two cells with continuing formula
2. Copy the two cells, and the paste in the next two cells and then repeat with four cells.

# Answer
> 1 votes
This approach is for when you don't want to paste the formula on the whole column.

1. Tap on the cell containing the formula to select it, then tap again and select COPY
2. Select all the cells you'll want to paste the formula then tap on any of the selected cells
3. Select PASTE SPECIAL, then select PASTE FORMULA ONLY.

---
Tags: google-sheets
---


# Question
Title: How can I view a website that doesn't have mobile-view, in mobile view?
Website I'm talking about is a forum. Currently I have to zoom in similar to when your browser is on desktop view. I would like to do this on Android.

# Answer
If a site is not designed for view on a tiny display, you'll most likely need to be performing a lot of zooming and scrolling.

Think of a web page like a printed newspaper. If you try to view a printed newspaper by folding it up to be the size of a small paperback book, it's going to be a challenge to read.

That said, may sites have implemented both desktop and mobile views by design (it's called "Responsive Design"). Most site-browser combinations will pick the best code path for your screen size.

But that doesn't always work as expected.

Some browsers, such as Privacy Browser, have options to allow you to manually adjust the view to hopefully improve your experience.

Sometimes Privacy Browser works great to improve sites; other times, not so much.

Note that online forums are notoriously bad for this sort of thing because the forum software has to allow postings with unpredictable formatting. When someone formats a post with a dozen wide columns, it's not easy for the forum software or web browser to accommodate the restrictions of a small screen.
> 1 votes

---
Tags: browser
---


# Question
Title: Recover data, photo, & video from a dead water-damaged Android phone
**Question Recover data photo video from a dead water damaged android phone**

I have a old android mobile which was kept on table on which glass of water falled and water entered the mobile as its battery was attached (unremovable battery) inside I couldn't remove it I desambled and unpluged the battery wire and kept the open mobile for three days in sun and then connected and swtiched on it vibrates with no display.

I went to service center they without looking to it said to change motherboard and cost of motherboard is more then the new mobile then I went to local guyz they said whole mobiles display screen motherboard battery all will be changed and declared it dead damaged after 5-7 hours testing r&d

I had important data in it. I tried to find motherboard of mobile online or any old same model same company old model second hand mobile I founded a old second hand mobile working but following before buying I have questions in mind

1. Can I recover the data from damaged mobile if yes how
2. If same mobile screen or board is available then can the data internal memory be fixed into another mobile
3. As the mobile is dead and vibrating can we boot into bootloader or through adb commands can recover from pc connecting mobile. If yes how
4. How can we get the data from the damaged mobile any how any trick or experts advice
5. If display screen is changed of damaged mobile then is it possible to recover data
6. if motherboard of the damaged mobiles is changed and as the storage chip on main board then is it possible to recover data

Additional UPDATED

Just now after 6onths i again unscrewed dissambled the mobile is didn't saw after taking from local engineer now a bad news the battery is swollen and is useless to power charge them it's now working

As the mainboard/ display/battery if bought all new spares will cost is more than mobile cost and heavy I have option to buy another second hand old mobile of same model and try to replace or test my old water damaged mainboard with second hand working mobile phone and test if the data can came out becuase the engineer said display battery and board all have to be replaced ...

I again unscrewd dissambled the mobile is didn't. Heckled after taking from local engineer now a bad news the battery is swalen and is useless to power charge them

As the mainboard display battery if bought all new cost is more than mobile cost and heavy I have option to buy another second hand old mobile of same model and try to replace or test my old water damaged mainboard with second hand working mobile phone and test if the data can came out because the engineer said display battery and board all have to be replaced ...

**My question is if I replace swap the new second hand same.model.mobiles mainboard with my old damaged mobile and if it works fine and if not then is there chance to shot the display or battery or other parts to (if my water damaged mainboard is shorted damaged) then will it damage the display of new second hand mobiles mainboard to while testing or will the other mobile work if done carefully**

# Answer
assume you are running windows, I will give you short instructions how to read data off dead device in EDL mode with QFIL

disconnect battery from phone mainboard, press vol up + vol dn and connect usb-cable

you should see Qualcomm HS-USB QD-Loader 9008 in windows device manager Ports (COM & LPT) section

install Qualcomm HS-USB QD-Loader 9008 drivers

download stock rom and open QFIL

now follow the steps in this tutorial, but instead ~~`devinfo`~~ you are interested in partition `userdata`

> * Select "Flat build"
> * Select your firehose (prog\_emmc\_firehose\_8909.mbn)
> * Select tools, partition manager
> * Click ok
> * Right click userdata and click on "Manage Partition data"
> * Click on "Read Data"
> * Check the logs on the main window, it will show you where it will be saved (Most frequently in the Appdata/Roaming/Qualcomm folder)
> * Copy the file we read to somewhere like the desktop and make a backup in case it does not work.

now you got the raw dump of your `userdata` partition. you can mount it with DiskInternals Linux Reader and recover your files from `media` folder (as long as phone is not encrypted)

---

If your phone is encrypted you can swap mainboard with working device if eMMC flash storage chip is located on the mainboard itself
> 1 votes

---
Tags: data-recovery, screen, bootloader, water-damage
---


# Question
Title: Why do so many applications try to get the SIM and network operator name?
I understand what Android permissions mean and I have a specific question about two telephony permissions.

I've been using XPrivacy for a while and noticed that many apps that ostensibly have nothing to do with the low-level telephony features, nevertheless make repeated calls to `getSimOperatorName()` and `getNetworkOperatorName()`. MyFitnessPal Calorie Counter is one such app.

What need would ordinary apps have to call these methods?

For example, why would MyFitnessPal care I'm using AT&T or Verizon, when the app could be running just fine on a Wi-Fi only device?

# Answer
> 0 votes
I have read that Android applications created through a standard method are set by the creating software to ask for certain permissions *by default*, even if the developer did not pick them. The permissions you mention may be among those. So the developer might not be interested in them at all.

# Answer
> 0 votes
Those settings are **often used** to block the usage of the application in some regions, **like embargoed countries**. If the app would rely only on **IP address location**, for example, the user could bypass the protection just by using a VPN.

By relying on information provided by the Operating System based on the current inserted SIM card, the only way to bypass this security would be reverse engineering the app or the OS itself.

---
Tags: applications, permissions, telephony
---


# Question
Title: Venmo: "user does not have a funding fund selected" despite a linked and verified bank account
I use the Venmo application to make online payments. I have a bank account linked to my Venmo account. The account is verified. However when I tried to pay online it says "user does not have a funding fund selected". Why?

I use the latest Venmo app on Android 10 with Samsung Galaxy S9.

---

Screenshot showing that my bank account is linked + verified (since it doesn't say "unverified"):

# Answer
I've ended up up installing the splitwise Android app, which gave me more information regarding the payment issue with Venmo: the connection with my Bank of America account had been "lost" and Venmo need to reconnect to it via Plaid (even though the Venmo hadn't previously said that the Bank of America account needed verification).
> 0 votes

---
Tags: android-10
---


# Question
Title: Samsung boot loop after flashing patched Magisk image
My phone keeps showing both the Samsung logos while booting. It also shows the unlocked boot loader screen. I tried flashing the stock boot.img but it only removes the red text when booting. After some time it show a screen that looks like the stock recovery and shows this text:

Try again Factory data reset View recovery logs

I tried to do the data reset but that did not fix anything

# Answer
> 1 votes
assuming you have patched the **whole** rom *AP\_\[device\_model\_sw\_ver\].tar.md5* (not only *boot.img*) according to install instructions (to avoid discrepancies in several fstabs), start from scratch again.

this time try *preserve force encryption* in Magisk settings to avoid issues with encryption. after factory reset userdata encryption should work again.

Of course as always don't forget to deactivate VaultKeeper before flashing custom binaries

---
Tags: samsung, rooting, boot-loop, unbricking
---


# Question
Title: How does Google Maps Navigation know you are in a tunnel when it switches to night mode?
I suppose this isn't exactly a new feature but it is new to me since I don't travel through tunnels very often. What exactly is the software using when it decides to switch over to night mode when in a tunnel? GPS Location? A light sensor? A combination of both?

# Answer
Hard to say without knowing which device and firmware version we're talking about, so what follows is my speculation.

I have a Garmin Nuvi which continues navigating in a tunnel, turns and all, despite losing its satellite reception. Mine doesn't switch to night mode, but it clearly knows it is in a tunnel from the map data. Since loss of reception is a given in a tunnel, the device must be dead-reckoning while it's in there. (Re-broadcasting is out because it would affect the signal timing which is key to calculating a fix). In fact, I have tested this by entering a tunnel fast and decelerating once inside it. The device alerted that it had lost reception and continued to display my entry speed, "passing" turnouts and the tunnel exit before I did.

From that, I inferred that the firmware was using map information, possibly cross-checked with loss of satellite lock, to know when I've entered a tunnel.
> 2 votes

# Answer
Recently I was driving in Italy and I realized that this Google Maps feature works more precise in Italy than in my home country Germany.

I tested it a little bit in Italy and I found the following:

* it does not matter if the tunnel is lighted or not, it always goes into night mode
* drive into a tunnel and keep the speed constant through the whole tunnel and it will work perfectly
* accelerate in the tunnel, then it will turn off the night mode too late
* reduce the speed in the tunnel, then it will turn off the night mode too early
* stop in the tunnel for several minutes, then it will turn off night mode after a while and won't turn it on again

From these observations I conclude that in Italy it relies entirely on map data and approximates when you leave the tunnel only by the speed you drove before the tunnel.
> 2 votes

# Answer
Perhaps it uses the ambient light sensor in your phone and changes to night mode when there is less ambient light.
> -1 votes

# Answer
Easy solution to force night mode that I found.

1. go to settings
2. go to date and time
3. disable automatic date and time.
4. set your time to 7pm or later.

That should set the app to night mode you can change the time back when you're done traveling

(Galaxy S7. Version 7.0)
> -1 votes

---
Tags: google-maps, google-maps-navigation
---


# Question
Title: Instagram videos shown upside-down on BlueStacks
I'm using the latest version of BlueStacks. I have installed my Instagram account on BlueStacks. It is for the time that I work on my PC instead of my phone. All the videos are showing upside-down.

Is there any way to fix it?

# Answer
> 1 votes
the new update is finally here that fixes it, so install it in the about section in settings, and you should be good to go.

# Answer
> 0 votes
I had the same issue, reinstalling Instagram fixed it

# Answer
> 0 votes
Some people said to try the cog icon in the top-right corner, press Settings, go to Engine, and press "Use advanced graphics engine mode (Beta)".

Note: this does not exist on MSI App Player (Bluestacks 4).

---
Tags: video, bluestacks, instagram
---


# Question
Title: How to access the download mode of a device with a outdated bootloader?
I accidentally flashed some outdated bootloader firmware and now I cannot seem to access the bootloader I tried holding the vol up + power and both to volume buttons + power but it made the phone vibrate and reboot.

# Answer
> 1 votes
SM-A405FN with Exynos chipset? I am not aware of any emergency download mode. Let battery drain for few days. Press and keep holding both Volume buttons when plug in charger.

If you still can't reach download mode, buy JIG dongle (your last hope)

---
Tags: samsung, bootloader, unbricking, downloading
---


# Question
Title: How to Send "Note To Self" to an app /website I can view & edit?
On Android v10 on mobile, I use the Google "note to self".

I'd like those notes to go to an app where I can edit/delete them.

I'll settle for Google Keep, although would be ideal to send to Evernote or Any.Do

# Answer
> 0 votes
Short Answer:

You can send them to Google Keep.

**Set a default list service**

1. Let your Google Assistant create and edit lists in a service, like Google Keep.
2. On your Android phone or tablet, say "**Hey Google, open Assistant settings**."
3. Under "**All settings**," tap **Notes & Lists**.
4. Tap a service to set it as your default. *Note: I tried any.do but it new notes didn't got to it (that I could see).*
5. If you don't want to sync your notes and lists with any provider, tap Don't Sync. To confirm, tap Continue.
6. Any new lists created with your Google Assistant will be visible on your default list service. Any lists you created with your Google Assistant before you set a default list service won’t be available on that service.

Important: If you choose a third-party provider app as your default, that provider’s app's privacy policy applies.

Source

---
Tags: motorola-moto-g, android-10, notes
---


title: How to get library installation path

text:
# Question
Title: How to get library installation path
Some Android apps require libraries to be linked against by specifying `<uses-library>` in their Manifest (in the `application` element):

```
<uses-library android:name="com.example.customlib" android:required="true" />

```

It is possible to list the installed libraries on the device by running the following command:

```
$ adb shell cmd package list libraries                                                                                1 ⨯
library:android.ext.services
library:android.ext.shared
library:android.hidl.base-V1.0-java
library:android.hidl.manager-V1.0-java
library:com.android.future.usb.accessory
library:com.android.location.provider
library:com.android.media.remotedisplay
library:com.google.android.gms
library:com.google.android.trichromelibrary
library:javax.obex
library:org.apache.http.legacy
library:com.example.customlib
...

```

Where are these libraries installed? Is there a command similar to `adb shell pm path com.exaple.packagename` that would return the path of `com.example.customlib`? When I tried `pm path`, it does not return anything.

# Answer
Most of the libraries you search can be found in `/system/framework`

Example output form an Android 10 device:

```
    3621 2009-01-01 01:00 CustomPropInterface.jar
  193854 2009-01-01 01:00 OPCommonTelephony.jar
   21325 2009-01-01 01:00 am.jar
   13122 2009-01-01 01:00 android.hidl.base-V1.0-java.jar
   31354 2009-01-01 01:00 android.hidl.manager-V1.0-java.jar
   33410 2009-01-01 01:00 android.test.base.jar
   57302 2009-01-01 01:00 android.test.mock.jar
  106118 2009-01-01 01:00 android.test.runner.jar
    5693 2009-01-01 01:00 appwidget.jar
   31002 2009-01-01 01:00 bmgr.jar
    7445 2009-01-01 01:00 bu.jar
    5310 2009-01-01 01:00 com.android.future.usb.accessory.jar
   20050 2009-01-01 01:00 com.android.location.provider.jar
    9230 2009-01-01 01:00 com.android.media.remotedisplay.jar
    2906 2009-01-01 01:00 com.android.mediadrm.signer.jar
    7954 2009-01-01 01:00 com.android.nfc_extras.jar
   19389 2009-01-01 01:00 content.jar
    9193 2009-01-01 01:00 dpm.jar
   99829 2009-01-01 01:00 duraspeed.jar
   38582 2009-01-01 01:00 ethernet-service.jar
 3007999 2009-01-01 01:00 ext.jar
27047266 2009-01-01 01:00 framework.jar
   17217 2009-01-01 01:00 hid.jar
  153906 2009-01-01 01:00 ims-common.jar
   13573 2009-01-01 01:00 input.jar
   54682 2009-01-01 01:00 javax.obex.jar
    3721 2009-01-01 01:00 locksettings.jar
   79905 2009-01-01 01:00 log-handler.jar
   16086 2009-01-01 01:00 media.jar
  114510 2009-01-01 01:00 mediatek-common.jar
   99278 2009-01-01 01:00 mediatek-cta.jar
  189961 2009-01-01 01:00 mediatek-framework-net.jar
  405350 2009-01-01 01:00 mediatek-framework.jar
  107978 2009-01-01 01:00 mediatek-ims-base.jar
   73974 2009-01-01 01:00 mediatek-ims-common.jar
   12061 2009-01-01 01:00 mediatek-ims-extension-plugin.jar
 2506910 2009-01-01 01:00 mediatek-ims-legacy.jar
  483881 2009-01-01 01:00 mediatek-ims-wwop-common.jar
  230333 2009-01-01 01:00 mediatek-services.jar
   49334 2009-01-01 01:00 mediatek-telecom-common.jar
  361002 2009-01-01 01:00 mediatek-telephony-base.jar
 2762490 2009-01-01 01:00 mediatek-telephony-common.jar
 1580981 2009-01-01 01:00 mediatek-wfo-legacy.jar
  114753 2009-01-01 01:00 monkey.jar
    3937 2009-01-01 01:00 mtk-wifi-service.jar
  491074 2009-01-01 01:00 org.apache.http.legacy.jar
   12445 2009-01-01 01:00 requestsync.jar
   10205 2009-01-01 01:00 sm.jar
   13273 2009-01-01 01:00 svc.jar
   13145 2009-01-01 01:00 telecom.jar
 2865674 2009-01-01 01:00 telephony-common.jar
  363793 2009-01-01 01:00 uiautomator.jar
   99817 2009-01-01 01:00 via-plugin.jar
  157682 2009-01-01 01:00 voip-common.jar
    4437 2009-01-01 01:00 vr.jar
 3391985 2009-01-01 01:00 wifi-service.jar

```
> 4 votes

---
Tags: adb, internal-storage, installation
---


# Question
Title: Android OS on VirtualBox very slow mouse
I am running Android x86 on Virtual Box 5.2.0. After disabling mouse integration and setting up Pointing Device to PS/2 Mouse, I have a mouse when I start Android OS but it is so slow that it is impossible to click on any icon. Is there any solution?

Thanks, T

# Answer
> 1 votes
I have the same issue from Android x86 6 upper version in VBox. It runs in a MacBook Pro Late 2013 with 16GB RAM. I tried to set different size of CPU/RAM/VideoRAM but no help.

When I installed it in VMWare, there is no such issue. So it looks related to VBox.

# Answer
> 0 votes
*I am not Sure if this Was the Factor of the problem but worth giving it a shot*

**On the Android VM**

1. Go to settings
2. Select the "Language & Keyboard" option towards the bottom of the screen.
3. Select "Pointer speed" under the "Mouse/trackpad" heading.
4. Set the speed

# Answer
> 0 votes
I finally have an android VM working on my mac using VMWare Fusion and the androidx86 images for VMware on this site: https://www.osboxes.org/android-x86/

For whatever reason I wasn't able to do a successful self install using the androidx86 isos on VMWare.

# Answer
> 0 votes
You can increase the video memory to 256MB by command line and it should help the speed and accuracy of the mouse in your Android VM.

Here is the command:

```
username$ vboxmanage modifyvm "Androidv9" --vram 256

```

Here is a video that will help: Virtualbox 6 Performance Trick to Get More Video Memory

# Answer
> 0 votes
I managed to have a usable mouse for android-x86 on VBox by using 128MB display memory (maximum in my case) and VBoxVGA (instead of VBoxSVGA)

---
Tags: mouse, virtualbox
---


# Question
Title: giving apps permission to drive or gmail
If you give mailsapps or filemanagers on Android (those with a few millions users and likely trustable) access to your gmail-account or google drive, do they in general store these data (mails/files) on their servers as well? Or is it relatively safe to give them this permission?

# Answer
Though this question is relatively incomplete and off-topic, I'll still try to answer it.

Whenever you login with Google on an application, you can find whatever access that specific app/service has over your Google account by visiting accounts.google.com and thus decide whether it's safe for your privacy or not.

**Now regarding whether these services can store your data on their servers is upto them and would be explicitly mentioned in the Terms of Serive / Terms and Conditions/ Privacy Policy of that particular app/service**

That's it and one thing you should always keep in mind, doesn't matter it's a "free" service from Google or any other company,

> "When something is free, you're the product"
> 1 votes

---
Tags: gmail, google-drive
---


title: Alternative OS for Nokia XR20

text:
# Question
Title: Alternative OS for Nokia XR20
Does anyone know any existing OS (other than Android) that works for Nokia Xr20. or if not, is it fairly quick to Port an existing OS for this phone?

# Answer
Though unfortunately no custom ROMs are available for that device, booting an Android GSI or Generic System Image is a good possibility if you somehow manage to unlock the bootloader of that device.
> 1 votes

---
Tags: operating-system, nokia
---


# Question
Title: "Gboard Recording, therefore WhatsApp Temporarily unable to record." error message
I have a Realme phone. The following error message shows up every time I make a WhatsApp call, and I can't hear the caller

> GboardRecording, therefore WhatsAppTemporarily unable to record.

Is there any way to stop Gboard recording? How to fix it?

# Answer
> 1 votes
Go to settings\> applications\> apps\> Gboard\> permissions\> deny microphone access

---
Tags: whatsapp-messenger, gboard, microphone, realme
---


# Question
Title: How to force the phone earpiece to be used when an external microphone (headset) is connected?
I want to keep the sound output on the phone, the earpiece or the loudspeaker as it is normally when I connect an external microphone. It's detected as a headset so they're disabled as well as the microphone.

My internal microphone is dead, and I want to use this small jack microphone I have.

Is there an obscure setting, working app, or adb command for this?

I tried a few apps, but none of them worked. "Lesser AudioSwitch" got the closest. The microphone works so does the phone speakers, EXCEPT when I start a phone call, then the microphone input stops working and I'm not heard by the person I called. Which would be the main reason to use the microphone...

# Answer
Short answer: Unfortunately, you can't do this on Android since android doesn't come with separate mic and sound choices. There might be solutions if your device has root access though
> 0 votes

---
Tags: audio, microphone
---


title: What's this N symbol?

text:
# Question
Title: What's this N symbol?
What's this N symbol? It shows up in various menus sometimes. And how do I get rid of it?

# Answer
> 1 votes
It means that something has a notification for you, usually (but not always) an update. To get rid of it, tap the control with the 'N' badge, then follow the 'N's down until you reach the screen with the actual notification.

---
Tags: user-interface
---


# Question
Title: /system/etc/ld.config.version_identifier.txt not found and how to check for VNDK compliancy
I need to flash using a Generic System Image (GSI) but when I'm checking if my device is Vendor Native Development Kit (VNDK) complaint as per the documentation here https://developer.android.com/topic/generic-system-image#device-compliance it says

> Check for cross-version support by running the following command:
>
> adb shell cat /system/etc/ld.config.version\_identifier.txt
> | grep -A 20 "\[vendor\]"

This file doesn't exist on my Google Pixel (1 aka Sailfish) or my Google Pixel 2 XL (taimen).

# Answer
> 4 votes
Instead of the path `/system/etc/ld.config.version_identifier.txt`

On Google Pixel 1 (Sailfish) use `/system/etc/ld.config.vndk_lite.txt` \- this probably will work for other devices on Android 10 and below.

**Android 11** including (Google Pixel 2 XL (taimen)) use `/linkerconfig/ld.config.txt` instead as per https://source.android.com/devices/architecture/vndk/linker-namespace

---
Tags: rom-flashing
---


# Question
Title: Android phone not displaying SMS sender ID
My Android phone does not show SMS sender ID, for example if one of the friends from my contact list, texts me, my phone will not show the name of the sender (which is saved in my contact list), it just shows the phone numner of the sender. But when they call me, my phone shows the caller ID name (as saved in my contact list). Any help fixing this issue will be appreciated.

Thank you

# Answer
1. GO to settings
2. Try to find somthing like Apps/ Application manager / Applications in settings home.
3. Open it, you'll see a list of apps.
4. locate your SMS app from that list
5. go to permissions and give access to contact permissions

regards.
> 1 votes

# Answer
I fixed it. In settings, search for Sync (google contact sync), enable it. That will fix the problem.
> 1 votes

---
Tags: sms
---


# Question
Title: How to achieve factory-reset or bootloader mode for Flywheel (Glorystar Nebula rf3288) tablet without buttons?
I've gotten stuck trying to upgrade a Glorystar Nebula 15 kiosk Android tablet (as customized for the orphaned Flywheel spin-bikes) to a vendor-provided **single-file** Android 7.1 firmware image (`7.20191202.115231.img`, 715MB).

A special challenge here: this tablet has **no physical buttons whatsever**: no power, no volume controls, no home. (It simply turns on whenever power is supplied; there's a click power toggle inline on the DC power cord plugging into the back. It's got no battery for unplugged use.)

Following the vendor's instructions (using a Windows `AndroidTool` program `2.35`), it was able to 'Switch' to detecting a LOADER device, and appeared to write firmware - but after a lack of progress ending on a log line mentioning 'Success', I disconnected & power-cycled in an attempt to view my hopefully-fresh-new-stock-Android7.1 tablet - and instead found it in a state where it never proceeds past a 'GS' logo boot screen.

Currently, from this GS screen:

* the tablet only ever appears as "Found One ADB Device" in the Windows `AndroidTool`, whereas previously it could 'Switch' to "LOADER"
* it can be detected via `adb` from MacOS – but oddly, not via `adb` inside the same Windows10 VM for which `AndroidTool` was sorta-working.and, `adb shell` commands give a error about the sh-path not being valid.
* `adb` can reboot it into recovery mode - but without physical buttons, no navigation/selection from the recovery menu is yet possible, and it does not appear to `adb` or `AndroidTool` in this mode
* `adb` can seemingly also reboot it into `bootloader` or `fastboot` mode; in this mode it no longer appears to MacOS `adb`, but does appear in MacOS `fastboot devices` list. However, attempting to connect the tablet while in this mode to Windows `AndroidTool` still only ever shows "Found One ADB Device" (or nothing)

I'm looking for any path out of this dead-end state that allows a re-attempt of the flashing the original vendor single-file firmware IMG, or other potential Android 7.1 firmwares. For example:

* I've found a header on the motherboard with pins GND / PWR / HOME / ESC / V+ / V- / MENU / K2 / K1. However, hand-shorting PWR or V+ to GND with a small wire (alone or together, at the 'recovery' menu that's supposedly looking for vol-nav inputs or other times), has had no visible effect since the tablet's been in this state.
* Can the vendor's single IMG be broken into the smaller more-specific parts that `fastboot` seems limited to flashing? Can applying those, or some other, smaller steps restore a true "Found One LOADER Device" mode, such that the `AndroidTool` might be able to make another attempt?

Etc – open to whatever gets Android 7.1 on this device, including, at this point, all-or-nothing gambits to resuscitate or brick it.

Any ideas?

# Answer
> 0 votes
For your device you should use a touch based recovery as you don't have any buttons. If you don't found a pre-compiled recovery for your device, look for another recovery or compile your own. You can also try to use this library to compile the recovery. Once you've got your recovery follow these steps.

> Enable Developer mode in Settings.
>
> Turn on OEM unlocking.
>
> Connect your phone with USB cable.
>
> Allow computer to access ADB.
>
> Now execute the following commands...

**Reboot from ADB to bootloader.**

```
adb reboot bootloader

```

> Should reboot the device to fastboot mode.

**You might need to know your unlock code.**

```
fastboot oem get_unlock_data

```

> You have to send this code to the OEM and they should give you another code.

**After that you can try to unlock the bootloader.**

```
fastboot oem unlock bootloader your_code_from_oem

```

> This step is necessary for Motorola devices, but not sure about others.

**Then you should flash a recovery.**

```
fastboot flash recovery recovery.img

```

> Make sure you're flashing the correct recovery.

**Then reboot into recovery.**

```
fastboot reboot recovery

```

> This should boot up the touch based recovery.

If you're done with all these steps then you've successfully `unlocked your bootloader` and `flashed a custom recovery` on the device. Now you can wipe the device including the OS.

**Note:** when you lock/unlock your bootloader your userdata is automatically wiped. If you don’t want to flash a custom recovery that’s fine, just simply unlock and relock the bootloader.

# Answer
> 0 votes
After some research, I found that Glory Star has a support group that mentions a solution to this in their community.

There is a video on the link there where it shows a step-by-step procedure on how to update it back to the Android firmware. I tried it and it works. The only thing is it only supports Android 5.1.

I have tried it and it works, but not been able to have Google Play in it.

---
Tags: adb, recovery-mode, factory-reset, bootloader, buttons
---


# Question
Title: Unbrick Samsung A40 not going into download mode
I accidentally installed an outdated bootloader to my device and I cannot seem to access the download mode I also tried to access the recovery and I tried letting the device run out of battery by holding down the power button for a long time. And then connecting the phone to the computer while holding both the volume and power buttons. It only shows the circle with a lightning bolt in it. It also shows a cyan box with red text reading " rev. check fail. Device: 4 binary: 2 (otb)

# Answer
Since download mode isn't accessible, taking it to the service center is the only way to unbrick it.
> 1 votes

---
Tags: samsung, unbricking
---


# Question
Title: Does work profile installations double the space taken by apps?
Our EMM configuration installs a separate Chrome instance in the user's work profile. One user has concerns that this takes unnecessary space from their device.

If the same app (e.g. Chrome) is installed in user-space and inside a work profile, does the installation take double the space, or is the same installation used for both profiles?

# Answer
If the duplicated app is a system app (e.g., mostly chrome ships as a system app), no double space would be used except for the duplicate app's data.

Incase of third party apps too, most of them doesn't double space in work-profile for app installation (ofcourse except data) but incase the rhird-party app comes with separate graphics or other kind or files stored as obb, some extra space will be taken for installation. (eg games or designing apps)
> 1 votes

---
Tags: work-profiles
---


# Question
Title: Gmail: "Couldn't sign in" error with latest version, but other google apps sync just fine. Older Gmail version works fine
While using the latest version of the Gmail app: 6.3.117716127, I cannot sync my mail whatsoever.

Update: 6.4.120760496 has the same issue.

*Please note that this is NOT a universal "Google" sign in problem, where you get a black background with white text and you have to enter your credentials, although the message is the same ("Couldn't sign in")*

This is for the Gmail app only. Observe the error in my screenshot below:

Tapping "Sign in" just makes the message at the bottom go away, but nothing else happens, and it doesn't sync. If I try refreshing my inbox, it will bring that sign-in message back.

My last sync with the newest version was April 13th. Then I reverted back to an older version of Gmail from November of 2015. *That version syncs just fine*.
You can see email from April 19 in the screenshot, because I tried upgrading back to the latest version, but it still wouldn't sync.

Deleting the cache and data doesn't help.

I did not change my Google password.

My phone is a Galaxy S4 running Android 4.4.2 (Hyperdrive)

# Answer
Android 4.4.2 is officially discontinued for newer Gmail versions.

That's all.

You can check out custom ROMs like this that is made on top of latest Android versions to upgrade your device's OS.
> 1 votes

---
Tags: sync, gmail
---


# Question
Title: Constant busy tone on a brand new LG L322DL
This is probably one of the weirder things on a phone that I've personally seen. This morning I finished setting up a brand new, out of the box, LG L322DL on Android 10. Setting up a Google account, check. Got all the updates, check. Then I noticed a sound that I thought was a dial tone coming from the phone.

Tried rebooting it. Still there. It's a kind of a low beep that changes with the volume going up or down, but even at the maximum volume it is still kind of low. I later realized it is not a dial tone, but sounds exactly like a **telephone busy signal**.

The beep would remain for a long time and it almost feels like it's going to stay. But then it would disappear out of the blue for a short while (a few seconds, a few minutes, or until the next reboot) and then come back, without me doing anything. I have done my homework and found some pages where people talk about similar problems, e.g. this and this. I have tried everything suggested on there, including putting the phone in safe mode. Nothing has worked.

1. Even if something happens and then the busy tone goes away, regardless of whether the two have a causal relationship, on reboot the beep comes back.
2. The tone disappears from time to time but always comes back later.
3. The phone is isolated and charged. It has nothing to do with battery, charging, notifications, roaming, or sound effects as far as I can tell.

# Answer
I have the same problem on this phone. The busy signal comes when I plug in the headphone. Since this is not my primary phone, it doesn't need to connect to the cellular network all the time. About an hour ago, I turned on the airplane mode and use Wi-Fi only. The busy was signal magically gone. I will update the post if this method really works.

If it turns out that there is not an easy fix, I would go to the path of updating the OS or install an OS from another sources.
> 1 votes

---
Tags: audio, lg
---


# Question
Title: How do I get my device detected by ADB on Linux?
I just got my shiny new *Wileyfox Swift* – and before putting it to use I want to `oem unlock` and root it (as I usually do with new devices ;) Trouble is, though is enabled on the device, and a corresponding line in `/etc/udev/rules.d/51-android.rules` exists, the device is not seen by `adb devices`.

I know there are several answers scattered around this site, but they are either hard to find, just cover a specific device, or don't cover all steps I finally needed. So I take this as a chance for a canonical, device-independent question and give it a detailed answer below:

**How can I get my Android device seen and used by `adb` on Linux?**

# Answer
### Enable USB debugging on the device

This is done in *Settings › Development*. If you don't have that entry in your settings menu, go to *Settings › About*, scroll to the "Build number", and hammer it like a monkey until your device congratulates you having become a developer. Go back to the main page of the *Settings* menu, and close to the bottom you should see the "Development" (or "Developers") settings now. Enter it, and enable *USB Debugging* here.

### Identify the device

First we need to know how the device identifies on the USB bus. For that, with the Android device **NOT** connected, grab a shell and run the command `lsusb`. Then connect the device and run the command again. Spot the new line. For the *Wileyfox Swift* this is a "nameless device":

```
Bus 004 Device 003: ID 2970:2282

```

### Setting up the rules for ADB

We now need the numbers at the end of the above line: `2970:2282`. These specify the vendor (2970) and the device itself (2282). Having those details, we need a **root** shell on our Linux machine to edit (or create, if it doesn't yet exist) the `/etc/udev/rules.d/51-android.rules` file. In there, add a line for your device. Following example line shows how it looks for the *Wileyfox Swift:¹*

```
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2970", ATTRS{idProduct}=="2282", MODE="0666", GROUP="androiddev", SYMLINK+="android%n"

```

If you have a different device, replace the vendor and product IDs with what you've found above when running `lsusb`. A short explanation of the line:

* `SUBSYSTEMS=="usb"`: obviously this rule is for USB only ;)
* `ATTRS{idVendor}=="2970"`: the vendor ID of the device this rule is for
* `ATTRS{idProduct}=="2282"`: the device ID
* `MODE="0666"`: permissions the device node shall get. `0666` is quite lax, giving every user on your system read and write permission – so if you're concerned, you might try replacing that with a `0660` (giving only owner and group read-write, and deny everything to others).
* `GROUP="androiddev"`: which group the device node should belong to. This should be a group the users intended to work with the device belong to.
* `SYMLINK+="android%n"`: just to give the node a nice name, so you can find it easier in `/dev` (in my case, it later showed up there as `/dev/android5`)

That rule entered in `/etc/udev/rules.d/51-android.rules`, we must tell `udev` to make use of it. Safest way (next to a reboot ;) is restarting the `udev` service. Depending on your Linux distro, this can be done either via `sudo service udev restart` or `sudo /etc/init.d/udev restart`.

Done that, leave the root shell. Disconnect and reconnect your Android device, try `adb devices` again. Most devices showed up now, but not the *Wileyfox Swift* – which obviously wants some extra cuddles. If you're in that situation, open (or create if it doesn't exist) the file `~/.android/adb_usb.ini` and add a single line to it, naming the vendor you've found out with `lsusb` above; for the *Swift* that would be `0x2970` (yupp, here you need to prefix it by `0x` to point out it's a hexadecimal number). Then restart the ADB server: `adb kill-server && adb start-server`. Disconnect and reconnect the device again. Now `adb devices` should see it.

### Connecting the device

You might have noticed `adb devices` told you something like `0123456789ABCDEF unauthorized`. That's OK and for your (devices) safety: your computer must be authorized first to be able to access the device. So simply issue `adb shell` now – which will be quit with an `error: device unauthorized. Please check the confirmation dialog on your device.` Follow that advice (optionally mark the check-box to permanently authorize your computer), and you're done: Now you can use to access your device.

---

### Updates:

¹ Note that in later Linux versions, syntax for the UDEV rules has slightly changed, as e.g. jcomeau\_ictx pointed out in his comment. For the values we found above that would be:

```
SUBSYSTEM=="usb", ATTR{idVendor}=="2970", ATTR{idProduct}=="2282", MODE="0666", GROUP="plugdev", SYMLINK+="android%n"

```

Two differences: it's now `SUBSYSTEM` (no plural), and the group has changed from `androiddev` to `plugdev` (the former does not exist on recent systems, the latter does and usually is assigned at least to the first user).

Additionally, you might need to add the vendorID to your `~/.android/adb_usb.ini` (one ID per line, in hex notation):

```
# ANDROID 3RD PARTY USB VENDOR ID LIST
# 1 USB VENDOR ID PER LINE.
0x2970

```
> 50 votes

# Answer
A few comments from a newer Linux distribution. Fedora 29 with a Nexus 5X or the Nokia 7.1 (Android One) phone.

First disconnect the phone, if already connected.

1. Install android-tools which will supply ADB (`sudo dnf install android-tools`)
2. Copy udev rules (`sudo cp /usr/share/doc/android-tools/51-android.rules /etc/udev/rules.d`)
3. Reload udev rules (`sudo udevadm control --reload-rules`)
4. Restart ADB to be sure (`sudo systemctl restart adb`)

Now connect the phone and run `adb devices` from the command line. You will probably see a device listed with "no permissions". This is fine.
**IF** it is not listed, you will have to add your device to the udev rules file, but for me, the tested devices just worked with the pre-defined rules.

Run `adb shell` and hopefully you will get a security notification on the phone asking if you want to trust the computer, select yes.
**IF** instead your computer says "error:insufficient permissions for device", you need to make sure that on the phone you have set your USB port to "Transfer files" mode, and not "Charge this device". On Android 8.1 this is located in settings under "Connected devices" \> "USB".

I have noticed that even if you have everything working today, that tomorrow it may suddenly break for no apparent reason. If that happens, first check the USB port setting on the device, which may have changed back to charging mode, and if that fails, revoke USB debugging authorisations on the device (in settings under Developer options), and you should hopefully get the pop-up again when you run `adb shell`.

With this, I am able to run Android Studio and run on the connected device.
> 4 votes

# Answer
I have played around with USB packet sniffing with Wireshark and had used the `modprobe usbmon` module. When this module is loaded adb does not work anymore. In this case `rmmod usbmon`and `adb kill-server` helps.
> 1 votes

---
Tags: adb, linux
---


# Question
Title: Decrypt Android FDE /data partition with lost locksettings.db
So let's assume I am on Android 9 and have the encrypted FDE `/data` partition and the full `/system` partition - except for `locksettings.db`. I also know the pass code used to decrypt/unlock the device after rebooting. On a fresh installation it looks like the database only contains the identifier of the key but the key seems to be located in a file within the `/system` partition, which is intact.

Now my question is: Is there any way to decrypt the partition or reconstruct the `locksettings.db` file? I would be very grateful for any help with the issue.

Thank you!

# Answer
> 1 votes
There is no way to decrypt userdata partition offline. Android encryption is hardware-backed with RSA-2048 masterkey in TEE that is burned to chip. Furthermore encryption is bonded to

```
VENDOR_PATCH_LEVEL
BOOT_PATCH_LEVEL
OS_PATCH_LEVEL
OS_VERSION

```

and
bootloader state
to ensure *rollback protection* and tamper protection.

If your bootloader is already unlocked, crypto-footer is present in EFS/metadata and userdata is encrypted with *"default\_password"* it is possible to decrypt from custom recovery TWRP without `locksettings.db` at all (except Samsung)

---
Tags: disk-encryption
---