# Question
Title: WhatsApp doesn't prompt to restore from local storage
I ran into this weird situation, where:

1. I backed up my WhatsApp to local storage, inside the `Databases` folder
2. Then I changed my WhatsApp number (to another new SIM)
3. Format my HTC Phone (HTC One E9+ Dual SIM).
4. Copy back all WhatsApp folder back to the Internal Storage
5. Re-install WhatsApp, but, all it asks me is this (below)

Upon "Skip", nothing, no chat restored.

I have already renamed the database file as per Restoring your chat history to `msgstore.db.crypt12` and also kept the same file with the name `msgstore.db.crypt`. But, it simply, doesn't even detect it & asks nothing as backup found/restore.

Any guess/idea?

# Answer
Disclaimer: this solution is offered to those who as myself found this post via googling for "whatsapp not restoring local backup", I have not changed my number.

I've tried giving permissions before Whatsapp starting as advised in other answer, but to no success, restarted my phone - again no success. But then I noted "Whatsapp" folder as seen by android file manager contains only "Media" folder, whereas to my Linux mounted drive I copied all folders, which gave me a clue. **I copied all "whatsapp" previous phone folder to some folder on the "new" phone via laptop and copied from there to "whatsapp" folder via internal android file manager app.** Then Whatsapp found backup. Looks in my case the issue might have been with Linux-Android USB link.

**ADDED: Android 11 release issue and solution:**

WhatsApp is now in `[Internal storage]/Android/media/com.whatsapp/WhatsApp/Databases` \- that you can check for yourself after installing it on a new phone (install first - not run yet, then copy files from old phone over to new one in that new folder, then start WhatsApp on new phone).
> 33 votes

# Answer
**Android 11 release issue and solution:**

In my case, after backing up the WhatsApp folder via USB and restoring it using the same method to the new phone, I discovered that WhatsApp was unable to find the backup in the path `/data/media/0/WhatsApp` (which is mapped to USB on my Android 11 Pixel 4a as "Internal Storage").

Moving the folder instead to `/data/media/0/Android/media/com.whatsapp/WhatsApp` did the trick for me. No permission changes were necessary. I did this via a root shell on a custom ROM, but it should also be possible on a regular phone to simply recreate the folder structure using the USB connection:

* Force close WhatsApp
* Go into app settings and clear WhatsApp's storage
* Via USB, create `Android` folder if it's missing
* Create `media` subfolder if it's missing
* Create `com.whatsapp` subfolder if it's missing
* Copy your `WhatsApp` folder to the `com.whatsapp` subfolder
> 21 votes

# Answer
I had problems with this too, and today finally it worked. I'm not sure which of the following additional steps did the trick, so I'll list both:

1. I copied the *entire* WhatsApp folder over from the old phone to the new one *(apparently the asker already did this)*.
2. After installing WhatsApp, I gave the app all possible permissions *before* running it: under Settings/Apps, select WhatsApp, tap Permissions, and then select all permissions listed under "denied" and tap "allow" (you can revoke the permissions again after the backup is succesfully restored).

After doing this, running WhatsApp and confirming my phone number, I was finally prompted to restore the local backup. Before that, I had selected "give permission" in the popup from the screenshot above, then approved the permissions it asked for, but apparently this is only for the Google Drive restore. It looks like restoring a local backup only works if the permissions are already present?!
> 5 votes

# Answer
If your backup was made when you had a different phone number than the one you currently have, you will not be able to restore it. As found on https://faq.whatsapp.com/en/android/20887921/#restore

> Restoring or transferring a backup
>
> WhatsApp will ask you to restore your chats and media from a backup once you verify your number. Simply tap RESTORE when prompted to. If WhatsApp doesn't detect a backup, it could be because:
>
> * You aren't logged into the same Google account.
> * You aren't using the same phone number that was used to create the backup.
> * Your SD card or chat history is corrupted.
> * A backup file doesn't exist on the Google Drive account or locally on your phone.
>
> Note: The easiest way to transfer data to a new phone is by using Google Drive. If you want to use a local backup, you'll need to transfer the files to the new phone using a computer, file explorer or SD Card. If your data isn't stored on the /sdcard/WhatsApp/ folder, you might see "internal storage" or "main storage" folders.
> 2 votes

# Answer
rob74's answer works.

With respect to this website, I will add icing above the cake for others with a similar problem **\- referencing to the asker step one to five -** the right sequence should be:

1. (2) I changed my Whatsapp Number (to another new SIM). Link: Change WhatsApp number
2. (1) I backed up my Whatsapp to local storage, inside the `Databases` Folder
3. (3) Format my HTC Phone (HTC One E9+ Dual SIM).
4. (4) Copy back all Whatsapp Folder back to the Internal Storage
5. *Here, I use the solution number (2) from rob74*

The option to restore from local data will pop up, just hit OK and done, continue like usual

For those with new phones:

3. In the new phone, I install WhatsApp just so I know where to paste the copied data
4. Uninstall WhatsApp. Even though it gave a warning that all data will be erased, it didn't erase my copied data.
5. *Same with above*
> 1 votes

# Answer
## Update: (July 6th, 2023):

**New, Easier, Better Way To Transfer Your WhatsApp to A New Phone.**

**For Android:**

*What you need:*

1- Android OS Lollipop 5.1, SDK 23 or above, or Android 6 or above installed on both your old and new Android phones.
2- Use the same phone number as your old phone on your new phone.
3- Your new phone must not be registered on WhatsApp until you start the migration on your old phone.
4- Your phones must be close to each other.
5- Both of your phones should be connected to a power source.
6- Both of your phones need to have WiFi enabled. They don’t need to be connected to a network. 7- Certain device permissions are required to initiate the transfer. Precise location permissions are required by the device in Android 12 and below, but WhatsApp does not collect your precise location.

*On Old Phone:*

1- Open WhatsApp on your old phone.
2- Tap More Options \> Settings \> Chats \> Transfer chats \> Start.
3- Accept requested permissions
4- prepare to scan the QR code that will be shown on your new phone.

*On New Phone:*

1- Download and then open WhatsApp on your new phone.
2- Go through the setup.
3- Tap Accept terms and conditions.
4- Verify your phone number.
5- Tap Start on Transfer chat history from old phone.
6- Accept requested permissions and then you’ll see a QR code.
7- On your old phone scan the QR code shown on your new phone.
8- Accept the invitation.

*Notes:*

1- While your chat history is transferring, a percentage bar will track the progress.
2- Keep both phones unlocked and don’t leave WhatsApp.
3- Messaging is paused during the chat history transfer.
4- You can Cancel the process at any time.
5- Once the import is complete, tap Done.

**For iPhone:**

It is similar, and you can get detailed steps for both on the WhatsApp website if you cannot figure it out yourself.

**Source:** ***WhatsApp.com***

---

OLD Stuff:

Disclaimer: This is based on my personal experience and it is NOT official. If you like to use it, do it at your own risk.

In addition to all the previous answers, and if WhatsApp ignored the local backup after canceling the google drive backup, one can try this:

When WhatsApp asks for google drive backup:

1- Close WhatsApp.
2- Put the phone on flight mode.
3- Run WhatsApp again.
4- When asks for google drive Skip.
5- Now Local backup should be recognized.
6- Reconnect to the Internet.
7- Go on and restore the local backup.

It is important that you use the same phone number to restore, so either:

1- Change the phone number on the old phone before the backup. or,
2- Use the old phone number to restore then change it on the new phone.
> 1 votes

---
Tags: whatsapp-messenger, restore
---


# Question
Title: What to do when Google Family Link didn't start working, and when tapping the "Account action required" notification had no effect
Google Family Link is Google's parental-control app for Android and Chromebook devices. (No parental-control software is perfect. Therefore, it's wise to also keep all your child's devices in your own bedroom every night, until the child is old enough to need overnight smartphone access.)

Google strongly encourages parents to use the Google Family Link to set up supervision. But, instead, I set up supervision using a Web browser.

I got a warning message:

"Your Google Account won’t work with some of your devices.

"You have 1 device that will no longer work with your account. Your Google Account will be signed out of these devices. You can’t use your account with these devices unless they’re updated to a supported version."

I ignored the warning, and clicked Next.

After finishing all the supervision set-up steps I could, the child phone showed a Google Play Services notification: "Account action required". Tapping the notification showed a 'please wait' screen, after which nothing happened.

Also, I was unable to view the full list of allowed and forbidden apps on the Google Family Link website. I saw a warning message: "\[Child\] isn’t signed in to any devices. Learn how to set up a device for \[child\]."

What to do?

(The child device is an old LG G5 running Android 8.0.0 "Oreo".)

# Answer
> 1 votes
I figured out a solution.

1. Open the Settings app on the child's device.
2. Tap "Apps".
3. Tap "Google Play services".
4. Tap "Storage".
5. Tap "Manage space".
6. Tap "Clear all data".
7. You might need to power the phone off and back on again; or you might not.
8. Now, you can tap on "Account action required" and continue on with the next steps.

(Google Family Link required me to remove the child's school Google account from the device, leaving only the child's personal Google account, before adding supervision to the device. After supervision had been set up, though, I added the school Google account back onto the device again.)

In the end, supervision was installed and working as intended, and both the child's personal and school Google accounts were enabled and working on the device.

---
Tags: google-account, google-play-services, parental-control, google-family-link, content-filter
---


# Question
Title: How configure the DHCP settings of WIFI Tethering (Hotspot) on Android?
When connecting my PC to Android Wi-Fi hotspot, it assigned a `192.168.42.x` address to my PC. I really need to change this as it conflicts with one of our work subnets - is this possible?

# Answer
Unfortunately, there is no way to change the IP address range for the builtin tethering support, even in CyanogenMod. The Wi-Fi hotspot IP is hardcoded in android.net.wifi.WifiStateMachine.startTethering(); the USB tethering IP is hardcoded in com.android.server.connectivity.Tethering.

However, if your phone is rooted, you can try using third-party apps for tethering which have the option to change the IP address range. E.g., when the builtin USB tethering was broken in CyanogenMod alphas for Samsung Galaxy W, I used Wired Tether for Root Users, which has such option. For Wi-Fi tethering you can try the Wireless Tether for Root Users app from the same authors, which also has the option to change the IP address range.

---

Because Google Code was shut down, the above links no longer work. Some people exported the source code from those repositories to GitHub:

However, there was no further development activity, and the apps probably no longer work on recent Android versions.

Just in case someone wants to try those obsolete apps, I have been able to find some APK files in the Google Code Archive:
> 30 votes

# Answer
The Android built-in WiFi tethering is designed to use `192.168.43.1/24` as the server, with `netd` handling the tethering, using `dnsmasq`. The first DNS range is `192.168.42.1-254` and 2nd DNS range is `192.168.43.1-254`.

Netd is not easy to change. It requires a socket to communicate with it, and that socket is taken when Android starts tethering. But going through the source files for `Tethering.java` (I used Froyo) we see:

```
// usb client will be provided 192.168.42.129
private static final String USB_NEAR_IFACE_ADDR      = "192.168.42.129";
private static final String USB_NETMASK              = "255.255.255.0";

// FYI - the default wifi is 192.168.43.1 and 255.255.255.0

private String[] mDhcpRange;
private static final String DHCP_DEFAULT_RANGE1_START = "192.168.42.2";
private static final String DHCP_DEFAULT_RANGE1_STOP  = "192.168.42.254";
private static final String DHCP_DEFAULT_RANGE2_START = "192.168.43.2";
private static final String DHCP_DEFAULT_RANGE2_STOP  = "192.168.43.254";

```

And later on, we see those ranges used, **AS BACKUPS**.

```
mDhcpRange = context.getResources().getStringArray(
        com.android.internal.R.array.config_tether_dhcp_range);
if ((mDhcpRange.length == 0) || (mDhcpRange.length % 2 ==1)) {
    mDhcpRange = new String[4];
    mDhcpRange[0] = DHCP_DEFAULT_RANGE1_START;
    mDhcpRange[1] = DHCP_DEFAULT_RANGE1_STOP;
    mDhcpRange[2] = DHCP_DEFAULT_RANGE2_START;
    mDhcpRange[3] = DHCP_DEFAULT_RANGE2_STOP;
}

```

The main source for the DHCP ranges is not the hardcoded 42 and 43, but read from `array.config_tether_dhcp_range`, an internal string array. But it is currently empty.

You could edit the Android framework. On my phone, it is `/system/framework/framework-res.apk`. There are a **ton** of tutorials online for editing `framework-res.apk`, from simple strings to full theming. Find one for your phone and Android version.

The main thing you want to change is the `/res/values/arrays.xml`

Look for `<array name="config_tether_dhcp_range" />`. Change to:

```
<string-array name="config_tether_dhcp_range">
     <item>192.168.x.y</item>
     <item>192.168.x.z</item>
</string-array>

```

compile/zip/sign as needed (follow a tutorial), then reinstall.

If you want more than one range, just copy the two items over and over. You always need to provide a start and a stop for each range. Try to keep it in the same /24, ie `192.168.50.`5 and `192.168.50.99` or whatever. You can confirm it is working with `busybox ps | grep dnsmasq`, or if you don't have busybox `ps dnsmasq` then use the pid in `cat /proc/pid/cmdline`. You should get (or similar):

> /system/bin/dnsmasq --no-daemon --no-poll -no-resolv --dhcp-range=192.168.50.5,192.168.50.99,1h

FWIW, my WiFi tethering uses the default `dnsmasq` ranges, yet my computer was assigned `192.168.43.147/24` and gateway `192.168.43.1/24`. Not sure why yours defaulted to a `42.x` address.
> 25 votes

# Answer
It appears some manufacturers and versions of Android now DO allow for the changing of the IP subnet range for the DHCP server through the UI when using the WiFi hotspot feature. Here's where to find it on an HTC One M8 running Android 6.0. YMMV.

From the Mobile Hotspot screen, click the 3 dots icon (more), go to Advanced, then LAN settings. Under "Local IP" change the IP address to your desired IP. Under "Local DHCP" change the starting IP to match the subnet of your IP address.
> 5 votes

# Answer
Default DHCP IP address range is hard-coded, so you can't change it without rebuilding ROM with modified source code. Or use a little hack. Replace `/system/bin/dnsmasq` (the DHCP/DNS server up to Android 9) with a custom shell script which replaces old subnet with new one before executing actual `dnsmasq` binary.

For detailed steps see How to change the default DHCP IP address range?
> 2 votes

# Answer
Now they're dynamic. I have a device that when connected to the phone hotspot gets the address 192.168.XXX.85 where XXX changes all the time, possibly daily or with every reboot.
> 1 votes

---
Tags: networking, wifi-hotspot, wifi-tethering, ip-address
---


# Question
Title: Clear cache for specific site on Chrome for Android?
How do you clear the cache for a specific site on Chrome for Android?

I've already tried going to the site's settings and pressing the "Clear & Reset" button, but the site's cache still hasn't been cleared (the JavaScript file that's loaded is still the old version).

So how do I do this properly?

# Answer
> 11 votes
From the overflow (3 dots menu)

Settings → Site settings → tap `All sites` → choose your site →`clear and reset`

From Chrome help

> Cached images and files: Chrome remembers parts of pages to help them open faster during your next visit. Text and images from pages you've visited in Chrome are removed.

You will also lose browsing history, cookies and site data

# Answer
> 0 votes
I use this decision (but it applies to all sites): Settings -\> Privacy -\> Clear browsing data. Then chose time range -\> Clear data

# Answer
> 0 votes
The option that worked for me was:

1. Go to Settings → Privacy and security → Clear browsing data
2. Check "Cached images and files".
3. Optionally select a time range if you know when the cache was created.
4. Click on "Clear data". You are then able to select your specific site. This step is made easier by the previous step because then the list will be shorter.

# Answer
> 0 votes
Under the overflow menu, click the "i" in a circle, and then "Cookies." You can then click the trash can to clear all data for just the site (Chrome calls it all "cookies").

---
Tags: chrome-for-android, cache
---


# Question
Title: How to run bluestacks emulator in slow motion?
I can run bluestacks emulator fine, but for some games which require dodging, it would be easier if I had more time to think. That said, is there a feature that allows me to explicitly reduce the fps or make it slow motion?

# Answer
> 0 votes
Probably not, or if it was "slower" it would be "laggy" and have poor input performance, i.e. touch a button but takes to long to respond, or have jerky rendering performance.

Games are typically designed with a minimum performance requirement so they can run the physics and graphics engines for their content. The games are play tested at a standard frame rate (most likely 30 or 60 fps on Android) and would only have "easy modes" like "slow-mo" or "bullet time" modes if designed from the start.

If the game developer used an existing third-party engine with standard input, there may be settings which can change touch lag performance externally but basically would mean hacking the game.

While there are various articles online on how to make Bluestacks NOT lag and you could do the inverse, I doubt it would be fun experience. Reaction time games are just that, reaction time games. Given that most are designed by a younger generation, all I can suggest is to provide feedback to those developers to provide some accessibility options which may/may not make sense for any particular game.

---
Tags: android-emulator, bluestacks
---


# Question
Title: Stuck in boot after changing dpi - Lenovo a7000
I used Texdroider DPI to change the dpi from `320` to `300` and after the reboot it gets stuck at the lenovo logo. I could just flash it again but i don't have the rom on this pc, and it will take 10h to download it.

Is there any faster way to reset the dpi? I have TWRP installed. With android 5.0.1.

Edit: Output of `cat /system/build.prop | grep density` is `ro.sf.lcd_density=300` Tried editing build.prop back to 320 with Sublime Text. Now the command returns `ro.sf.lcd_density=320` but it still gets stuck.

# Answer
> 1 votes
**Note:**

* Parts of this answer didn't work for OP, but nevertheless, they worked in all of my test cases with different ROMs, hence, the answer would certainly prove to be useful for some users.
* Device should have a custom recovery installed.
* should be setup in PC and USB debugging be enabled and authorized in the device.
* Anything mentioned next to `#` anywhere in a line is a comment.

---

More or less, the changed DPI value would either be in `settings.db`, `/data/property/persist.sys.lcd_density`, `/system/build.prop` or in memory only. I've covered instructions for all of these cases and they should prove to be helpful when the device gets stuck at boot animation.

* If it is an Xposed module which changed the DPI and caused boot issue, then try disabling the module or the framework, or, remove the former or both. See my answer here for more info on that.
* If you used command-line to change DPI (`am`/`wm`), then when the device gets stuck at boot animation (past the OEM logo), execute

```
adb shell am display-density reset    # For Android 4.2.x
adb shell wm density reset            # For Android 4.3.x and above
adb reboot

```
* In my Android 4.2.1, custom display density is saved as a value for the key `display_density_forced` in the table `global` of `/data/data/com.android.providers.settings/databases/settings.db`. If you've used command-line (am) or an app used this key, follow these steps:

+ When booted into recovery, mount data partition, pull the said file into PC and use an sqlite editor to either remove the key or change the value to a better or default DPI. After that, push the file back to its place.

    ```
    adb pull /data/data/com.android.providers.settings/databases/settings.db LOCAL_PATH     # to pull the file into PC
    adb push LOCAL_PATH/settings.db /data/data/com.android.providers.settings/databases/    # to push the file into Android
    adb reboot

    ```

    Replace `LOCAL_PATH` with the directory under which `settings.db` is to be saved and is saved, respectively.

In Android 4.3 and above, custom display density can be found under `/data/property/persist.sys.lcd_density` or by executing `adb shell "getprop | grep density"`. If you used command line (wm) or an app used that property to change DPI then follow these steps:

+ When booted into recovery, mount data partition and do

    ```
    adb shell rm /data/property/persist.sys.lcd_density                      # this will cause Android to fall back to default DPI
    adb shell busybox printf "DPI" > /data/property/persist.sys.lcd_density  # change DPI with your custom DPI value
    adb reboot

    ```
* Finally, the easiest but a dangerous and extreme approach you or an app would take is to change the DPI for the key `ro.sf.lcd_density` inside `/system/build.prop`. The DPI in the said file is considered the stock DPI of that ROM.

When booted into recovery with data partition mounted,

+ You can choose to override the stock DPI by doing

    ```
    # replace DPI with your custom DPI
    adb shell am display-density DPI   # For Android 4.2.x only
    adb shell wm density DPI           # For Android 4.3.x and above only
    adb reboot

    ```
    + If that doesn't work for some reason, do

    ```
    adb shell sed -i 's/.*ro.sf.lcd_density.*/ro.sf.lcd_density=DPI/g' /system/build.prop      # sed is replacing the DPI with your custom DPI value
    adb reboot

    ```
    + If none of the solutions work then your only option is to replace `build.prop`. If you've a clean backup of system partition or `build.prop` then use it to replace original file, else flash the ROM as OP did.

**Note:** I personally did not test, but it has come to my notice to not edit any file of Android using any native text editor of Microsoft Windows OS. Instead, use Notepad++ or altogether do all the editing using command line in recovery.

# Answer
> 1 votes
This is a small updated answer since android no longer stores one single settings database & editing build.props doesn't seem to work on a number of newer phones. Also "shell wm" commands don't work on twrp recovery.

At least in my case (xiaomi Redmi9 with android10) settings are stored in:

```
/data/system/users/0

```

These are the 2 values that need to be edited:

```
"display_size_forced" in settings_global.xml
"display_density_forced" in settings_secure.xml

```

You need a custom recovery installed and a way to edit the files, either on your PC or directly on the recovery by using Nano Editor. Once done just reboot and that's it!

You don't need the exact values for resolution or density just something close enough to be able to boot, then reset to the devices default by using ADB.

I hope this helps anyone stuck in recovery boot after editing dpi or resolution.

---
Tags: root-access, unbricking
---


# Question
Title: Screenshot always turns out dimmed on MIUI
When I take a screenshot on my Android Smartphone, it always turns out dimmed. For example, if a pixel is completely white (i.e. `#ffffff` in color) it is light gray in the screenshot. See the example screenshot below for reference. As you can see, all the bright areas are light gray instead of white, when they should be white. What can I do to fix this problem?

Additional note: The dimming is not permanent, it happens only when creating a screenshot for the time of the screenshot and vanishes right after. **Moreover, the same erroneous effect occurs when taking a *recording* of the screen *for the whole time of recording*!**.

###### System Specs:

* MIUI Version 12.5.7
* Android Version 11

# Answer
Found the solution myself: Navigate to `Settings` \> `Display` \> `More Dark mode options` then disable `Adjust text and backgrounds automatically`.
> 1 votes

---
Tags: android-11, miui, screenshots
---


title: Where are edited photos stored?

text:
# Question
Title: Where are edited photos stored?
The Camera app stores photos in some DCIM folder, and these can easily be accessed to attach to an email message, or to download to a pc over an USB cable.

In the Photos app, I can edit a photo, and save it as a separate photo file, and can see it among the unedited photo's and attach it to emails.

However, those edited photos are not visible over the USB connection, and cannot be downloaded to a pc.

It seems as if only the Camera app can store in the DCIM folders, but other apps can read files from that folder. Is it true that other apps cannot store in DCIM? Is the photo editor part of the Camera app? I did not yet try other photo editor apps.

Related problem is that the app Kopie ID from the dutch government cannot store the edited photo of an ID in DCIM so that you cannot upload it in a browser web app. (Purpose of this app is to be able to black out unneeded sensitive info, and to add a watermark)

I guess that android tries to play it more safe than good old unix / dos, where the file is the basic unit of info and the directory structure allows for very flexible file sharing between arbitrary apps.

Thanks for any hints on sharing files between phone and pc, and between apps.

# Answer
This is what I found out recently. Android has the concept of app specific storage versus shared storage, see: https://developer.android.com/training/data-storage . Apparently, apps have a preference of storing in app specific storage. A reason might be that using shared storage may be harder, because cooperation with other apps may be needed.

But there is a way to move or copy your photos from app specific storage to shared storage, in order to make those accessible to your PC over an USB cable. When viewing your screenshot image, just move it upwards to see the information block below the image, where you can add a description, view details, but also select options like Back Up Now, Move to folder, Copy to folder, Add to album, etc.

When selecting Move/Copy to Folder, click `SD Card Folders` , where you can create a new folder, or select an existing folder. These are shared folders that you can access from the PC over USB.

On the phone, the shared folder 'myscreenshots' on the SD card is internally known as this, by clicking the SD-card icon in the header when showing this folder:

```
file://storage/CA26-07E6/Pictures/myscreenshots

```

On the (linux) PC, this folder shows up in the file explorer as:

```
Unisoc Phone / Pictures / myscreenshots

```
> 0 votes

# Answer
Photos edited via `com.google.android.apps.photos` aka Google Photos are stored directly to your Google photos (cloud) storage, that's the reason it doesnt appear over MTP or via file managers.

On PC, open https://photos.google.com/ on a web browser to access them.

Any app could technically store data in `/storage/emulated/<user-id>/DCIM`

> I guess that android tries to play it more safe than good old unix / dos, where the file is the basic unit of info and the directory structure allows for very flexible file sharing between arbitrary apps.

See, you must understand that unlike UNIX/Linux the majority of Android users aren't powerusers so Google definitely has some directory-level restrictions for users as well as apps and this is done for security purposes. However as I stated above, to the best of my knowledge, no restrictions have been imposed over `/storage/emulated/<user-id>/DCIM`
> 3 votes

---
Tags: photos, file-sharing, editing
---


# Question
Title: Unable to open downloaded PDF files directly from Opera browser
I'm using Xioami's MI 9 SE phone.

I have several PDF viewer apps installed: Mi Doc Viewer, Pdf Viewer Plus, MuPDF viewer...

However - whenever I try to open a PDF with one of these, or even with a file manipulation app, from a browser - I either get some error message (e.g. lack of permissions which I can't change, or some blurb in Chinese) - or just an empty screen.

Here are two screenshots, of the errors with two apps, when I try to open a file via my (Opera) browser Downloads screen. The file I try to open is `desktop.pdf`; when pressing it, I'm presented with an app selection dialog, and whichever app I choose, it doesn't work.

**With "MI Doc Viewer (Powered by WPS)"**:

**With "Document Viewer"**:

What might cause this problem, and how can I circumvent or fix it?

PS - I don't get this for other file types (at least, not that I've noticed).

# Answer
(@AndrewT.'s comment is correct:)

It seems that the problem is with my default browser, Opera. Somehow, the "content provider" it exposes to PDF viewers is flawed, whatever that means; and if I downloaded and view a file in Firefox, it works.

This is rather strange, since the viewing should get the location of a properly downloaded file, but I guess that's not how Android works.
> 1 votes

---
Tags: pdf, download-manager, opera-browser
---


# Question
Title: Samsung A50 user data partition downsized from 128GB to 3.7GB after rooting and flashibg android 11
I have a Samsung A50 (A505F). I flashed it with stock Android 11, then rooted using Magisk, then flashed again, using the magisk patched AP.

How can I restore this user data partition to maximum size again?

There's no GParted for android.

I don't mind to delete and recreate this partition. The data is fully backed up.

Before the whole process the storage space was 128GB. Now it's only 3.7GB.

```
~ $ df -h
Filesystem                                        Size  Used Avail Use% Mounted on
tmpfs                                             1.7G  1.2M  1.7G   1% /dev
tmpfs                                             1.7G  3.6M  1.7G   1% /dev/5Q1
...
/dev/block/platform/13520000.ufs/by-name/userdata 3.8G  2.8G  923M  76% /data
tmpfs                                             1.7G     0  1.7G   0% /system/bin
/dev/5Q1/.magisk/block/system_root                5.0G  4.8G  191M  97% /system/bin/abb
/dev/fuse                                         3.7G  2.9G  903M  77% /storage/emulated

```

OTOH:

```
phone:/mnt/big # fdisk -l /dev/block/sda
Disk /dev/block/sda: 119.2 GiB, 127943049216 bytes, 31236096 sectors
Disklabel type: gpt

Device             Start      End  Sectors  Size Type
/dev/block/sda1     1024     2175     1152  4.5M Microsoft basic data
/dev/block/sda2     2176     4095     1920  7.5M Microsoft basic data
...
...
...
/dev/block/sda30 1863168  1864447     1280    5M Microsoft basic data
/dev/block/sda31 1864448  1869567     5120   20M Microsoft basic data
**/dev/block/sda32 1869568 31234815 29365248  112G Microsoft basic data**

```

I mounted that partition: `mount /dev/block/sda32 /mnt/big`

but the size was still 3.7GB !

```
phone:/mnt/big $ df -h
Filesystem                         Size  Used Avail Use% Mounted on
tmpfs                              1.7G  1.2M  1.7G   1% /dev
tmpfs                              1.7G     0  1.7G   0% /mnt
/dev/block/sda27                   387M  136M  251M  36% /product
/dev/block/sda26                   775M  412M  363M  54% /vendor
tmpfs                              1.7G  3.6M  1.7G   1% /dev/5Q1
tmpfs                              1.7G     0  1.7G   0% /apex
/dev/block/sda29                    45M   24K   45M   1% /omr
/dev/block/sda28                   390M   60K  390M   1% /cache
tmpfs                              1.7G     0  1.7G   0% /mnt/sde
/dev/block/sda7                     16M  0.9M   15M   7% /efs
tmpfs                              1.7G  1.2M  1.7G   1% /system/bin
/dev/5Q1/.magisk/block/system_root 5.0G  4.8G  191M  97% /system/bin/abb
/dev/fuse                          3.7G  2.9G  880M  78% /storage/emulated
/dev/block/sda32                   3.8G  2.8G  900M  77% /mnt/big

```

# Answer
> 1 votes
I have solved it by reflashing *all* the available images, at the same time, instead of flashing *only AP image* (in Odin).

The explanation I had read, is that flashing only a single partition can cause incorrect filesystem sizes.

Others (like @alecxs who commented here) claim it's a bug in magisk.

thanks.

---
Tags: rom-flashing, partitions, odin
---


# Question
Title: What is this icon with a square border containing lines that look like text?
When I use the volume keys on my Samsung Z Flip4 I get the volume bar for media/ringtone volume. When I tap on **...** I get the following advanced volume settings menu:

What is the purpose of the small icon (marked red) on the top left? If I tap on it its gets strikethrough. Another tap reverses that, and so on. Seems like a toggle button for something but I cannot figure out its purpose.

# Answer
This seems rather odd placement of a functionality in Volume panel, not to mention it causes a very bad user experience since the icon is not intuitive enough to be self-explanatory, nor does it explicitly instructs about itself to the user. Even the user manual from Samsung doesn't mention anything about this icon.

That little icon is for toggling *Live Caption*. Dallas Thomas of Gadget Hacks has dedicated a whole article for Live Caption. That article showed up in Google Images search for the query "*samsung one ui volume panel*".
> 4 votes

---
Tags: volume-control, samsung-one-ui
---


# Question
Title: What do the TalkBack reading controls do?
I am trying to use TalkBack on a Realme 6 Android 11 phone.

When I activate TalkBack by pressing the volume up and volume down keys simultaneously, I can then iterate through the following entries by swiping up then down to move forward, or down then up to move backwards:

* Spoken language
* Speech rate
* Windows
* Links
* Controls
* Headings
* Paragraphs
* Words
* Characters

However, I don't understand what these entries are. What are they, what do they do, or how do I use them, using TalkBack?

Thank you for your replies.

# Answer
After selecting the desired entry by swiping up then down to move forward, or down then up to move backwards, you can select subentries (for instance, for spoken language), by swiping your finger up (to go back), or swiping your finger down (to move forward). In the case of spoken language selection, this will select the language used to read the text. You can then tap on the screen to read the text under the finger, with the language in the selected voice, or move the finger forward or backwards to read the previous or the next entry.

Other settings in the swipe up/swipe down menu can be activated similarly.
> 0 votes

---
Tags: accessibility, talk-back
---


# Question
Title: How can I bulk install apps with Play Store or App-Brain?
I'm trying to restore a new device with apps from my old device, but neither Android Market nor AppBrain seems to automatically bulk install them? When I use the Execute method in AppBrain it seems to only send me to manual install of all apps, which probably would take a long time since I use a number of apps.

Is there some way to make AppBrain bulk install a list in a batch or is it possible to move the apps from my old device to the new one?

# Answer
> 6 votes
Assuming you've previously installed AppBrain and synced your device, you can do the following:

1. From Google Play Market download and install AppBrain and Fast Web Installer apps.
2. Open the Fast Web Installer and sign in with your Google account (same one you are using on Play Store).
3. Open the AppBrain app, and sign in with your AppBrain account.
4. Go to Preferences, and then use the "Enable Fast Web Install" option.
5. Under Menu go to "More lists..." option, select the previously synced list, tap the "Add all apps" button, and tap the back button.
6. Tap the "Execute" button, and after reviewing the permissions tap the "Install" button. This should download and install apps in batch, without having to confirm each one separately.

You can also create lists of apps via AppBrain's site, and these lists should show up in the app.

# Answer
> 15 votes
This might be a new feature of newer versions of Android (I'm using 4.4), but I can easily mass install apps from the `Play Store`.

How to mass-install apps with the Play Store:

1. Open the Play Store
2. Go to My Apps
3. Go to All
4. Keep your finger pressed on an app that has not been installed yet for a second or so.
5. Now the play store goes into selection mode, you can simply select all the apps you want and press the "Install" button at the top when you re done.

# Answer
> 11 votes
I don't know of a way to do this. I recently bought a new phone, and to save myself the tedium of manually installing 40 odd apps, I went to the Google Play Store using a desktop browser. It will already have a list of apps you have installed under My Apps, so you can quickly spin through the list and install them - you don't need to wait for each app to install.

# Answer
> 1 votes
The Google Play Store app itself can send and receive applications to a local device (over the internet, not Bluetooth).

On each device:

1. Open Google Play Store
2. Tap your profile icon
3. Tap Manage apps & device
4. Under "Share apps" select Send or receive
5. Approve the location permission dialog
6. Select apps and confirm the pairing code.

On both the sending and receiving side there's a button to select-all.

# Answer
> -2 votes
You can install Titanium Backup in your old device and backup all "user installed" apps + data to SD card. In your device, put this SD card and install Titanium Backup again and restore "user installed" apps + data.

Though I have not tried this across devices, I had tried this with same device using different ROM. I had backed up from a stable ROM and whenever I install a new ROM I would use the above method to install all my apps with its data.

I had already asked this question and it has been answered referring Titanium Backup.

---
Tags: google-play-store, installation, app-brain
---


title: How to backup Whatsapp images proparly?

text:
# Question
Title: How to backup Whatsapp images proparly?
I bought a new phone (OnePlus Nord 2 5G) and to my surprise, the WhatsApp backup restore my images but without dates.

I think the best solution for backing up images is to drop WhatsApp backup (for images only) and use Google Photos backup as I did for my camera images.

I saw a way to disable WhatsApp images backup which involved renaming the images folder but I am not sure what consequences this will have.

Any idea? how do you guys back up your WhatsApp images?

# Answer
I use Wifi FTP Server on my Android device with FreeFileSync on my laptop to backup any files I need.
> 0 votes

---
Tags: backup, whatsapp-messenger, google-photos
---


# Question
Title: Phone call: Audio works only with speakerphone or wired headset
The following issue with my Sony Xperia ZR (running CM 11-20141112-SNAPSHOT) started a few days ago:

* When I initiate or receive an ordinary phone call, I can't hear the other side through my earpiece and the other side can't hear me either.
* When I plug in the wired headset, I can use that without problems.
* When I activate the speakerphone button during the call (without the headset plugged in), I can communicate with the other side.
* I also have a "click" sound effect for locking and unlocking the phone and this sound effect is now also only audible through the headset.

Here is what I tried:

1. First of course, I checked my profile and volume settings to make sure they are on Default and the in-call volume turned up.
2. I re-started my phone multiple times, sometimes with, sometimes without the headset being plugged in.
3. I thought that the headphone jack might be broken, i.e. that it thinks the headset is always plugged in - especially since I use the headset a lot for listening to audio while walking. **But** as soon as I plug in the headset, the Apollo audio player app starts, suggesting that the headphone detection works fine. Unfortunately, I haven't found a way to see if the software thinks that the headset is connected or not - is there a headset icon or similar I could enable?
4. So I thought it might be a software issue.
    1. I installed the Sound Manager app which allows to adjust all volume settings and
    2. found that it behaved a bit strange when I touched the In-Call Volume slider, causing a sound blip coming out of my earpiece. Also the volume "overlay" (or whatever you call that window that pops up when pressing the volume rocker) became visible, but sometimes only its icon, not the slider itself.
    3. After adjusting the volumes through that app, I could make a test call without headset and without the speakerphone enabled which worked fine. Also the phone (un-)locking sounds were working again.
    4. **However** a couple of hours later, when I unlocked my phone again, I didn't hear the click and doing a test call I realised that the problem had re-appeared.
    5. So I went back to the Sound Manager and adjusted the sliders once more, this time no strange effects as in 4.2 before. And no click when locking/unlocking and no audio through the earpiece & mic during my next test call.

Short of completely re-setting my phone (which I'd like to avoid), is there another way of debugging this issue? Does CM have a way to tell the headset detection status?

Any other things I could try?

# Answer
Andrew T recommended to answer my own question properly, so here it goes:

The problem turned out to be a hardware defect - the plug detected the headset as being connected, even when it wasn't.

To work around the issue, I created a tiny app that allows forcing the audio through the earpiece/mic even when the phone thinks the headset is plugged in. Find the Github repository here: https://github.com/FriendFX/android-audioswitch

As I have since replaced my phone and it has been years since I've had the need for it, I am not sure this would still work on a recent Android version, but it may be a start if someone likes to create something similar for their phone... it'd be a shame to cause phones going to landfill just because of a tiny broken earpiece detector switch!
> 0 votes

# Answer
Similar issue in OnePlus One (running CM 12.1). Check TTY Mode. If its off turn it back on and restart phone. Go back to TTY mode again and turn off and restart. It worked for me on OnePlus.
> 0 votes

# Answer
I had the very same problem with my Xperia SP. I also tried everything, but in the end it was the broken headphone jack.

My explanation why your audio player app starts automatically as you described in point 3 is the following: You are sliding the phone connector with its 3 or more contacts separated by some non-conducting material over the contacts inside the jack. This closes and opens some circuits several times while plugging in, which is actually the same as plugging the connector in and out several times. So the phone recognizes that something was connected. What is broken, so that it doesn't recognize a proper disconnect any more, I don't know.

I sent it to the service and they confirmed a broken jack. I got a new phone for free! (Maybe because of the German laws) Afterwards my problems were gone.
> 0 votes

# Answer
Here are a few things you should try:

* Delete or Deactivate all apps that could use audio, especially the app that turns on automatically(Apollo).Then check for the problem again. If the problem is gone, install the deleted apps one by one to see which app is the defaulter. If the problem persists try the next step
* Use both a earphone and a earphone + microphone auxiliary connector. This could be if your phone is too old (though it is from May 2013) or if the aux connector in the phone is broken.
* Try using the inbuilt or 3rd party Hardware test app.
* *RESET*
> 0 votes

---
Tags: cyanogenmod, 4.4-kitkat, audio, headset, speakerphone
---


title: stuck on boot-loop

text:
# Question
Title: stuck on boot-loop
I experimented with custom roms, my phone cant load system, i get the start vibration with redmi screen looped. I have redmi note 9 pro max, i got lineage os 18.1 working for month, i tired upgrading to 19.1, i suspect that it could have been Magisk ive tried to flash on my phone that caused it, ive been for hours downloading different roms and magisk versions to try to find combination thats working, i need help, i think i want to reset the phone to how it was before the magisk but i dont know the words that i need to google for solution, my guess is something wrong with boot image- but i dont know what it means. i tried looking online how to uninstall magisk, but tutorials are outdated, i cant use TWRP because theres no version for my phone

# Answer
First of all is your device boot into recovery mode or not ? if it is then, just wipe data, system, cache, meta and whatever then connect your device to pc copy paste your customrom.zip then flash. If your device didnt boot into recovery then download miui fastboot rom and mi flash tool install necessary drivers and then, extract the rom zip in pc, goto fastboot mode into your mobile. Connect usb cable to your laptop, then run mi flash tool as admin select the extracted folder path in miflash tool, refresh to check if th device is connected to your laptop. The flash. It will erase all your data and install official stock rom to your device.
> 0 votes

---
Tags: adb, boot-loop, unbricking, xiaomi, magisk
---


# Question
Title: Moto G8 Power/sofiar softbricked, TWRP sees encrypted files
I got a hold of a Moto G8 Power, it has no working OS (slot A is Lineage, slot B is arrow OS, neither works). Bootloader works, TWRP recovery works, bootloader is unlocked. The issue is anytime I try to wipe in TWRP or sideload a ROM, it fails half way with error “operation not permitted”. If I try to install ROM through TWRP, it fails trying to mount anything and if I try to browse files in TWRP, all I see is files/folders with hash names.

I don’t know what to do with this, so it’s a last resort post before I throw it into ewaste bin. I’m not skilled at all with ROM loading on Android, please ELI5. Official ROM would be nice, too.

# Answer
I think it is because of your device is encrypted try, formating your data partition.
> 0 votes

---
Tags: unbricking, aosp
---


# Question
Title: I recorded a few videos in 4K 30 FPS and 60 FPS on a Pixel 6 but the actual FPS is 29.XX and 59.YY. Why?
I use a Pixel 6 running Android 12. I recorded a few videos in 4K 30 FPS and 60 FPS. Why does Windows Explorer shows a slightly different FPS? VLC agrees with Windows Explorer. I used Google Camera.

# Answer
> 1 votes
I found the answer on https://www.reddit.com/r/VideoEditing/wiki/faq/vfr (summary: it's because most phone video recording apps use a variable frame rate):

> Chances are if your video came from either a cell phone or a screen recording of some kind, it's variable frame rate. Most video editing tools expect constant frame rate, and thus don't cope will with variable frame rate.
>
> **In order to edit the video you will need to convert it to a constant frame rate video** using a tool that can cope with VFR, like Handbrake or ffmpeg. Note that if you are a Creative Cloud subscriber you can't use Adobe Media Encoder for this task, as it relies on all the same video access libraries that Premiere does, hence if Premiere doesn't like it neither will AME.
>
> If you are a Premiere Pro user, read this
>
> You can verify whether or not your video is actually variable frame rate by using MediaInfo. In the MediaInfo report you should look for Frame Rate Mode, which will either be Constant or Variable.
>
> Note that every time you re-encode your video you can lose some quality, partially through a phenomenon called generational loss, partially dependent on your encoding parameters. Re-encoding your video to H.264, which is what Handbrake can do, can incur quality loss if you don't set the bitrate or CQ factor high enough. Alternatively you could use ffmpeg transcode to a mezzanine, or editing, codec like ProRes or DNxHD/DNxHR, which are designed to lose as little quality as possible, but at the expense of very large file sizes.

I used MediaInfo (5 MB, crossplatform, has a portable version on Windows, gratis) to confirm that the video has a variable frame rate:

---
Tags: camera, android-12, video-recording, google-pixel-6, frame-rate
---


# Question
Title: Booting twrp.img with fastboot doesn't work "FAILED (remote: unknown command)
I am trying to boot twrp.img on my LG G6 ThinQ using adb and fastboot. I reboot into fastboot mode and do:

`fastboot boot ../users/******/downloads/twrp.img`

and then it says

```
downloading 'boot.img'...
OKAY [  0.500s]
booting...
FAILED (remote: unknown command)
finished. total time: 0.524s

```

My phone doesn't have root or bootloader unlocked and platform-tools is version r26

Note: `fastboot -c "lge.kcal=0|0|0|x" boot ../users/******/downloads/twrp.img` also doesn't work

# Answer
I ran into the same issue. Turned out I was actually in `fastbootd` mode. Once you reboot into `fastboot` (without the "d" at the end) the problem is solved.
> 0 votes

---
Tags: adb, twrp, fastboot, lg-g6
---


# Question
Title: ADM (Advanced Download Manager) is not grabbing links automatically
In my previous Android phone, when I to copied any link, there was a popup window of ADM asking whether I wanted to download the specific file or not. It required that ADM should be running in the background.

But now, there's no such pop-up. I've to manually paste links. Although I've enabled the pop-up permission of the app in phone settings.

Is there some other android permission, or ADM setting that I'm missing?

EDIT : I've also checked for auto intercept links, I've enabled it. Still not working.

# Answer
I haven't used this feature of ADM before, but what you're describing reminded me of a change Android 10 has for security reasons.

In Android 10 apps that are not in focus cannot access your clipboard, not even Google's own Translate app.

Source: https://developer.android.com/about/versions/10/privacy/changes#clipboard-data
> 0 votes

# Answer
You can do this:
Choose ADM as your default browser. When open a link, the ADM editor will open.
> 0 votes

---
Tags: downloading, download-manager
---


# Question
Title: OpenCamera is configured to record in 60 FPS, however the recorded videos are in 30 FPS. Why?
OpenCamera is configured to record in 60 FPS, however the recorded videos are in 30 FPS. Why?

I use a Pixel 6 running Android 12. I don't use slow motion video. I can record videos in 4K 60 FPS with Google Camera.

# Answer
Answer from rmendez011:

> You probably have to change Camera API to "Camera2 API", you can find this option if you press the gear icon, and scroll all the way to the bottom, press "Camera API".
>
> Not every device supports 4K 60fps recording on anything other than the stock cam.

Change Camera API to "Camera2 API" allowed me to record at 60 FPS on my Pixel 6.
> 0 votes

---
Tags: camera, android-12, video-recording, google-pixel-6, frame-rate
---


# Question
Title: Copy private key from OpenKeyChain to tails GPG?
I have a private PGP key on OpenKeyChain that I'd like to move to tails.

There only seems to be one way to export from OpenKeyChain - choose to make the encrypted backup file? But I can't get the process to work.

* I made a backup from Android, "backup.sec.pgp" (Noting the passphrase of hyphenated numbers)
* Transferred it to tails
* Ran 'gpg --decrypt backup.sec.pgp | gpg --import backup.sec.pgp'

It returns:

```
gpg: unknown armor header: Passphrase-Format: numeric9x4
gpg: unknown armor header: Passphrase-Begin: 96
gpg: AES256 encrypted data
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0

```

Then I enter in the long hyphenated numerical passphrase and it spits out:

```
gpg: encrypted with 1 passphrase
gpg: decryption failed: Bad session key

```

Advice would be hugely appreciated

# Answer
Just a typo, I got confused as well. The right command is:

```
gpg --decrypt backup_YYYY-MM-DD.pgp | gpg --import

```

you typed the file name twice. Hope it helps.
> 2 votes

# Answer
this may sound "extra" but. I believe it will get the job done. try using this method on pc or a Mac with this

https://www.openkeychain.org/faq/#how-to-import-an-openkeychain-backup-with-gpg

then make a backup and move it to tails.

if You've found a better way I'm all ears as I currently have to go through this pain in the ass. such a pain but both, wonderful services.

gl
> 0 votes

---
Tags: encryption
---


# Question
Title: Not receiving emergency alerts for the Ukraine test broadcast on September 7th
Recently, I received an SMS that the State Emergency Service of Ukraine will test the new Cell Broadcast notification system, and that test notifications will come from September 7th. Why don't they come? All emergency alerts in notification settings are enabled, and airplane mode is disabled.

SMS:

> З 07.09.22 розпочнеться тестування нової системи інформування про надзвичайні ситуації. ДСНС надсилатиме тестові повідомлення зі звуковим сигналом на телефон. Тестування не потребує дій з вашої сторони. Ознайомтесь з деталями за посиланням: https://dsns.gov.ua/test

Settings:

Phone: Samsung Galaxy A10s, Android 11, all updates installed. I live in Dnipropetrovsk region.

# Answer
September 14, 14:28 received a test alert.
> 0 votes

---
Tags: samsung, android-11, cell-broadcast
---


# Question
Title: Is there an "Inspect Element" option on any browser on Android?
I often find myself missing the option of "Inspect element" in Android version of the popular web browsers. Do you happen to know any alternatives or workarounds that you could implement to have access this option?

There is of course the line below but that returns all of the page source and not the interesting parts.

```
view-source:webpage

```

# Answer
> 2 votes
You can use Dago Browser (Web Inspector). It allows you to inspect webpages and works flawlessly on my MIUI8.

From its description,

> Dago Browser is a web browser with web inspector that can be opened by swipe right from a web browser page and choosing Inspect Element. Once open, it highlights the node on the page as it is selected in the hierarchy. \[...\]

# Answer
> 2 votes
You can connect your phone to a PC or Mac and inspect the device from there. For example if you have Chrome open on your device and you connect it to a PC, open Chrome on the PC and from the development tools you can click on the three dots menu (on the top right, next to the X that closes the dev tools) and then click 'more tools' --\> 'Remote devices'. From there you can inspect what you see on your device.

Similar methods exist for other browsers.

# Answer
> 1 votes
Kiwi browser has added the Chrome dev tools to its Android app.

It allows you to view and inspect webpages from a different tab. Unlike viewing the HTML source, you can view page updates in real-time.

It also has a JS console and other features.

You can use Android split screen and move a tab to another window to see both the inspector and page at the same time

>

>

>

# Answer
> 0 votes
There is this one recently released, focuses on features for developers. You can visually inspect elements: Dev Browser.

From its description,

> **Inspect web elements**
>
> * Inspect and edit individual web elements and their attributes with the built-in web inspector

# Answer
> 0 votes
If you want to inspect HTML, CSS or maybe you need JS console in your mobile browser . You can use eruda tool which provide ability to use the same Developer Tools on your mobile browser as in your desctop device. Dont forget to upvote :) Here is a link https://github.com/liriliri/eruda

# Answer
> 0 votes
Bookmark these lines of codes:

```
javascript:(function () { var script = document.createElement('script'); script.src="//cdn.jsdelivr.net/npm/eruda"; document.body.appendChild(script); script.onload = function () { eruda.init() } })();

```

and do the following steps shown in the screenshots. That's it

# Answer
> 0 votes
You could use Javascript on Opera Mini.

1. Reset the console output by opening a new tab with the address: `debug:resetconsole`
2. Open a tab on the page on which you want to do the inspection:
3. Run JavaScript code on the page by replacing the address in the address bar with the following address: `javascript:var%20n%3Ddocument.firstChild%3Bwhile%28n%20%26%26%20n.nodeType%21%3DNode.ELEMENT_NODE%29%20n%3Dn.nextSibling%3Bconsole.log%28n.outerHTML%29%3B`
4. Retrieve the output by opening a new tab with the address `debug:console`

---
Tags: browser, firefox-for-android, developer-options, html
---


# Question
Title: How do I resize internal storage of an Android Studio AVD image that's stuck at 200MB?
When I try to resize the internal storage partition size in AVD (Android Virtual Device) manager to anything larger than 200MB, the darn thing stays at 200MB. This mounts to `/data` directory. The problem rears it's head with Android API 19 / KitKat 4.4.x images and possibly others.

I'm on a Mac.

# Answer
> 1 votes
This is a known problem. I imagine that nobody has made the investment to fix because it affects an earlier API version/build. But, if you're on a Mac, here's your fix.

1. Go into AVD and set the Internal Storage size to 1GB (or whatever size you need -- I've only tested this to 1GB).
2. Run the image to make sure that it boots up okay. (this is just to rule out any other problem that might be ailing your image) If you look at the image partitions, it should still be only 200MB.
3. Stop the image from running.
4. From the command line, run: `gtruncate --size 1g userdata.img`. If you don't have gtruncate, install it with `brew install coreutils`.
5. From the command line, run: `tune2fs -e continue userdata.img`. If you don't have tune2fs, install it with `brew install e2fsprogs`. If you still can't find it after installing, check `/usr/local/Cellar/e2fsprogs/{whateverversion}/sbin/tune2fs`.
6. If you also have a `userdata-qemu.img` file, you can repeat steps 4 and 5 for that image file. If you get an error, best bet is just to delete `userdata-qemu.img` and let AVD automatically recreate it.
7. Run the image. Verify that your partition is 1GB. Celebrate.

# Answer
> 1 votes
If you want to change the memory size then just edit the emulator from Android Studio, then "Show Advanced Settings", then change the internal memory size.

---

then

then

---
Tags: storage, partitions, avd-manager
---


# Question
Title: Phone calls rejected automatically from a specific contact
I have a Redmi Note 7 phone, from Xiaomi.

Since some time, one specific contact cannot call me directly. Phone calls are automatically dropped and I only get a notification of a lost call. I can call him, but he cannot call me.

I checked and this contact is not in the block list and I tried to remove the phone permission from all apps, but still, the contact cannot call me (so it is not actively blocked by an app).

How can I solve the problem?

# Answer
> 1 votes
After investigating, using `adb` to read the logs of my phone, I found out that it was an exception which was thrown that would make the call to be rejected.

It is actually a known issue, called Unbind Exception related to dropped calls (here I found info about it).

**How to solve it:** for people who are not experts, it is almost impossible to find out the cause of the issue. But it is pretty simple to solve it, without having to reset the phone. You just need to delete the contact and create it again. This solved the problem for me.

I thought to share the solution, since I could not find anything about it online. I hope this might be helpful to some!

---
Tags: bugs, call-screening
---


# Question
Title: Where do I turn route highlighting on / off in Google maps?
How can I show / hide the blue line representing the current route in Google Maps route planning and navigation screens? Essentially I want to toggle between the two views below:

Background: I somehow managed to switch route highlighting off and now I want it back. It doesn't seem to be a bug in Google Maps, at least a phone restart doesn't restore the highlighting. I know I can just wipe Google Maps user data, but I prefer to learn how to do it properly.

# Answer
> 1 votes
The route highlighting reappeared when my phone went back online, so apparently it's not something one can configure. Note that simply being offline is not enough to make the highlighting disappear: I have used Google Maps with offline maps many times, and it was never disabled before.

---
Tags: google-maps, user-interface, navigation
---


# Question
Title: How to change sync frequency in Outlook app?
By default Outlook for Android gets the emails immediately when they are received (push).

Is there a way to set the sync frequency either individually for each email account or at least globally ?

If it matters, my email accounts are all Exchange ones.

On the stock email app (Samsung) it is possible to choose the sync frequency and even set manual syncing, but I can't find any similar option in Outlook for Android.

# Answer
Unfortunately, it is not possible to change the frequency of emails sync using Outlook for Android (see the thread Set sync frequency and quiet times on outlook app).

From the link above:

> There are no such settings in the Outlook or OWA apps from the play store

Outlook for Android users have requested the feature on Uservoice. However, it has not been yet implemented (as of Nov. 2018).

If you are using an another app to check your Exchange emails (I use the Gmail app) then it is possible to change the sync frequency.
> 10 votes

# Answer
It looks like this feature has been added to the Android Outlook app: https://supertekboy.com/2018/07/21/do-not-disturb-in-outlook-mobile/
> 0 votes

---
Tags: email, outlook
---


# Question
Title: Couldn't pair with XXX because of an incorrect PIN or passkey
I'm trying to connect a bluetooth headset to my phone ( Poco X3 Pro ) but I end up with this error instead.

Things that I have tried:

* Rebooting device
* Killing bluetooth app and clearing all of its data ( user settings and cache )
* Cleared cache from the Connectivity settings ( clears wifi, bluetooth etc )
* Tried to download a Bluetooth app from the Playstore and connect through it, same error
* Tried to manually "Forget" or "Disconnect" the device from the Bluetooth settings, but the android version doesn't even have these buttons ( long pressing or swiping on the device doesn't do anything )

Is there some sort of incompatibility between the devices where they just would not get along?

When I put the headset into pairing mode ( holding its button for a few seconds ) and I click on "Pair" from my phone, it hangs for around 5-7 seconds and then displays the error from the title.

The headset connects just fine to my older phone and doesn't require any additional inputs, apart for OS permissions.

# Answer
> 1 votes
So, none of the things mentioned above worked for me.

I ended up holding the connectivity button for like 10 seconds until it powered off and then held it for longer than the manual recommended, then it connected properly.

On two other phones it didn't matter how I turned it on, it would connect instantly, but on mine it didn't for some reason.

---
Tags: bluetooth, bluetooth-pairing, headset
---


title: Fastboot poweroff command

text:
# Question
Title: Fastboot poweroff command
Is there a way to shutdown my Mate7 from fastboot? Long pressing the power button makes the phone restart again. I need to shut it down so I can recharge it then restore to stock.

# Answer
There is no Fastboot Command that does this.

However you could try holding the power button down until the screen goes blank and then letting go off the power button before the device starts to boot (before the vibrate). This is the only viable way... The list of available Fastboot commands are:

```
usage: fastboot [ <option> ] <command>

commands:

  update <filename>                        reflash device from update.zip

  flashall                                 flash boot + recovery + system

  flash <partition> [ <filename> ]         write a file to a flash partition

  erase <partition>                        erase a flash partition

  format <partition>                       format a flash partition

  getvar <variable>                        display a bootloader variable

  boot <kernel> [ <ramdisk> ]              download and boot kernel

  flash:raw boot <kernel> [ <ramdisk> ]    create bootimage and flash it

  devices                                  list all connected devices

  continue                                 continue with autoboot

  reboot                                   reboot device normally

  reboot-bootloader                        reboot device into bootloader

  help                                     show this help message

options:

  -w                                       erase userdata and cache (and format

                                           if supported by partition type)

  -u                                       do not first erase partition before

                                           formatting

  -s <specific device>                     specify device serial number

                                           or path to device port

  -l                                       with "devices", lists device paths

  -p <product>                             specify product name

  -c <cmdline>                             override kernel commandline

  -i <vendor id>                           specify a custom USB vendor id

  -b <base_addr>                           specify a custom kernel base address

  -n <page size>                           specify the nand page size. default:

2048

  -S <size>[K|M|G]                         automatically sparse files greater th

an

```
> 9 votes

# Answer
If you are planning to charge your phone enough so that you can flash again, try this

```
@echo off
:start
fastboot getvar battery-voltage

fastboot reboot-bootloader

ping /n 6 localhost >nul

goto start

```

save it as a batch file and place it in adb and run it.

This will basically make your phone to reboot the bootloader continuously until you reach a safe battery level for flashing.
> 2 votes

# Answer
ok i got it .. also problem fixed and phone working now .. all i had to do is to put phone in SD Update Mode where it says "Battery Level is Low" then i connected charger and left it for 2 hours then Update process started.
> 1 votes

# Answer
try this

```
fastboot oem poweroff

```
> 1 votes

# Answer
You can do:

*fastboot reboot-bootloader*

At which point you can use the bootloader menu to shut it down. I believe in pretty much all, if not all, Android bootloaders you can select to power down by either pressing volume down 3 times or volume up 1 time. Pressing the power button should then select to power down. I'm not sure this will work for Mohamed Shibo's original scenario, but it's what I had to do recently to shut down a Droid Turbo that was stuck in continual boot with a broken screen.
> 0 votes

# Answer
Had an issue with Motorola X4 where power button was not working. Have started phone into recovery mode by pressing volume down button and plugging in the USB cable. After entering `fastboot devices` my device was listed. Using commands `fastboot reboot` or `fastboot continue` I've got next error:

```
ERROR: could not clear output pipe; result e00002ed, ignoring....
Resuming boot

```

To accept `fastboot continue` command I've needed to disconnect USB cable, enter command, confirm it, and plug in USB cable back into the phone, and it booted.

Steps:

1. Boot phone into recovery mode (Press volume down button and plug in USB cable connected to charger or PC)
2. Disconnect phone from PC
3. Enter `fastboot continue` press enter
4. Connect phone to PC
> 0 votes

# Answer
Not all recovery have a poweroff.

Good time to install TWRP.

Some phones will overwrite once started, but should give you a chance to install it.

You don't need to write anything else but that new recovery (different partition than System) to phone and TWRP alone will not root your phone or remove your data (but be sure to write to recovery part of phone and use correct version, consult forums esp. on xda-developer and twrp.me). It have a nice interface and should allow you to turn phone off among other stuff.

( --

My Xiaomi started asking to activate and then failing doing it, so close to bricked.

Planning to go away from stock ROM and root the phone, but missing paperclip and phone have decided to encrypt the SD-card, so looking for a shutdown too which broght me here :P.

Until I can go to a local store to exchange the card with a card I just written various stuff to.

\**** Xiaomi :P .. It overwrites TWRP, encrypt, require verification and generally takes a long step towards bugging me.

Screen also got a crack from very little (was protected with a overlay and casing.

--)
> 0 votes

---
Tags: fastboot, command-line
---


# Question
Title: Viber deleted, but my account is still shown on my friends' Viber contacts!
I have deleted Viber app from my phone, but my account is still shown on my friends mobiles as a Viber user.

Is it a bug? What do I have to do to remove my account from my friends mobiles?

# Answer
> 2 votes
Uninstalling the app won't deactivate your Viber ID. If you want to deactivate your Viber ID, you have to reinstall Viber and do the following procedure:

> 1. Open **Viber** on your **Phone**
> 2. Tap on **More**
> 3. Tap on **Settings**
> 4. Tap on **Account**
> 5. Tap on **Deactivate account**
> 6. Enter your phone number
> 7. Tap on **Deactivate account** again
> 8. If you have a PIN enabled, you will be asked to enter your PIN
> 9. Tap **Deactivate** to confirm

More information: Viber Support Knowledge Base - Deactivate or Uninstall Viber on Your Phone

# Answer
> 1 votes
When you register a Viber account, that account is directly associated with your phone number (same case with Whatsapp) If another person who has Viber installed on their phone has you in their contacts, Viber will scan the contacts (which is why it needs accessing to your contacts as a permission) crosscheck them with the database and match your number with your account.

**In shorter words: You deleted Viber application, not your Viber account.**

If you want to delete your account then do as following:

*Viber \> More Options \> Settings \> Privacy \> Deactivate Account*

# Answer
> 0 votes
### This is proper behavior. Account deactivation would impose a flaw.

In addition to what was said in other answers there is a normal scenario that you may want to ***continue using*** the same Viber account in other phones, tablets or PCs (Windows, Linux).

Therefore expectation that Viber should deactivate your account when you remove the app from a device is what would be unacceptable for practical use. It is like deactivation of your mailbox when uninstalling your e-mail client.

---
Tags: viber-messenger
---


# Question
Title: Androids 8,9, 12 format SD card to "read only" - only for non-android devices
I formatted two different SD cards with Android 8, 9 and 12. In all cases, the SD cards are write protected for my laptop (SD card reader) - but not for the Phones, or when connecting phone via USB. In those cases I maintain write access.

Any pointers on how to undo that?

# Answer
Turn's out, it's not Android but Arch Linux based systems (Arch and Manjaro). On Linux Mint, all is well...

Marking this as answer, will look for solution elsewhere.

**EDIT** If sbdy stumbles accross this: the actual solution was to ... reboot after Linux Kernel updates. So much time wasted -\_-" (source)
> 0 votes

---
Tags: sd-card, 9.0-pie, 8.0-oreo, android-12, formatting
---


# Question
Title: WhatsApp is not initializing and not connecting
I restore my mobile and try to reinstall WhatsApp. It is not initializing, but I am getting notifications. In a pop-up, it shows "unable to connect".

I have cleared my data. My internet connection is very fast.

How to fix it?

# Answer
> 1 votes
I managed to resolve it by doing the following for my android phone:

It seems to be a contacts sync issue.

For my Android phone (Note 20 Ultra from Samsung), what I did was the following:

1. Unlinked my google account that had contacts
2. Uninstalled and reinstalled whatsapp (might have done this first before step 2 also)
3. Went into the phone's settings --\> accounts and backup --\> manage account --\> Whatsapp --\> then proceeded to 'unsync' my account
4. Went through the login process again and somehow it did not need verification or it autoverified or something (can't fully recall)
5. It started initialising again and I am logged in
6. Had to link back my account to google to sync back contacts thereafter and turn on the 'sync contacts' settings again

There might be some backend issue on whatsapps end that doesn't sync well with the phones contacts on android.

Searched multiple online forums and a few suggested that it might be the contacts settings thus I trialed and error regarding the various settings.

Hope this helps if you have future people who encountered the same issue (i see multiple people online expressing it)

# Answer
> 0 votes
Ensure that you have a fast and reliable internet connection.

If that doesn't solve the problem, try clearing App Data from `Settings -> Apps -> WhatsApp Messenger -> Clear Data`.

---
Tags: whatsapp-messenger
---


# Question
Title: Issue with the "open with" option Miui13/Android12
I have an issue with my smartphone, the "open with" option doesn't work properly, so when I click on a link (from gmail for example or to open a file) normally I am given the choice to choose on which application I want to open it, but since the last update (miui 12.5 to 13 / android 11 to 12) I can't choose , when I click on "plus" or "more" in the "open with" window to have the choices it doesn't show any suggestions and select randomly an application (sometimes chrome, other times tor/edge/mi browser ... etc).

* device : xiaomi poco f2 pro
* miui version : 13.0.2 stable
* Android version : 12 SKQ 1.211006.001

Issue in the android framework(I think): `com.android.internal.app.MiuiResolverActivity`

What should I do? Please help me up.

# Answer
Head over to Settings\> Default Applications and see what your default Browser app is set to.

Then clear the "open with default" options under that respective app's "app info" section
> 0 votes

# Answer
I had the same issue with a Mi11 gadget. I removed some apps (MiBrowser that I never intended to use + Samsung printer driver + Samsung printer app) and it went OK again. Do you want to give it a try? Please share your experiences too :)
> 0 votes

---
Tags: android-12, miui-13
---


# Question
Title: How to play FM Radio app without earphone?
I would like to play my default FM Radio app. But it always asking to connect an earphone.

Is it possible to play FM Radio app without an earphone ?

# Answer
> 3 votes
No. You need an earphone, or anything that can plug into the earphone jack, with a trailing cable.

This is to provide the phone with an antenna. Because space inside the phone is highly limited, it's usually insensible to have a built-in FM antenna.

Usually, you can still instruct the phone (or at least the FM app) to output audio to its speaker, even when earphone is plugged in, as it's primary function is to serve as antennae.

# Answer
> 0 votes
I use Tecno LC7 and I don't use antenna to listen to radio. So it's possible to have it as built-in

---
Tags: fm-radio
---


# Question
Title: What type of data is excluded from the "media only" file permission in Android 12?
Starting from Android 11, there are 2 levels of file access permission, i.e., "files, media, and everything" permission and "media only" permission.

What is the difference between the two, and what is excluded from the "media only" permission?

# Answer
> 0 votes
Let's try to answer this question, may be with the combined experience of the community we can verify if the following is correct:

According to media store documentation there are four different media categories:

> * Images, including photographs and screenshots, which are stored in the `DCIM/` and `Pictures/` directories. The system adds these files to the MediaStore.Images table.
> * Videos, which are stored in the `DCIM/`, `Movies/`, and `Pictures/` directories.
> * Audio files, which are stored in the `Alarms/`, `Audiobooks/`, `Music/`, `Notifications/`, `Podcasts/`, and `Ringtones/` directories. Additionally, the system recognizes audio playlists that are in the `Music/` or `Movies/` directories, as well as voice recordings that are in the `Recordings/` directory.
> * Downloaded files, which are stored in the `Download/` directory.

To my understanding the first three media types should be included in "media only" category. Not sure about the Downloade files type.

---
Tags: file-system, permissions, file-permissions, android-12
---


# Question
Title: How to download ebooks from Google Play Books for offline reading on other ebook reader apps?
I use Ebook Reader. I attempted to use the download option on the MyBook list (the three dots). The file that came was incompatible with my ebook reader.

It was: Warriors\_2\_Fire\_and\_Ice-epub.acsm

I tried renaming the book in various ways such as:

* Warriors\_2\_Fire\_and\_Ice-epub
* Warriors\_2\_Fire\_and\_Ice.epub

However, I couldn't import either of those files into my ebook reader.

The extension .acsm might be the offline extension for ebooks. I thought I had seen it as an epub before.

So if that is the case, can someone advise me on how to convert the downloaded book to a way that I can import it into my ebook reader library?

# Answer
> 3 votes
As the answer to Are Google Books DRM protected? explains, ACSM files are DRM-protected, so you can only read them in the Play Books app itself, not in another ebook app. Once you've "pinned" the book and it has downloaded, you can read it offline in the Play Books app.

# Answer
> 0 votes
As mentioned in the other answer, the ACSM files have DRM so one method is to just read in the Play Books app. It sounds like you'd prefer to use another reader though. So, another solution is to remove the DRM using a program I wrote called Knock. This will spit out a DRM-free EPUB or PDF file that you can read in any reader.

# Answer
> 0 votes
According to the 2nd revision of the OP's question (with copyedit),

> This is a clarification of the answer provided by Dan Hulme.
>
> Important components of the answer:
>
> 1. The book is automatically downloaded and readable offline when reading it online.
> 2. The download works the ACSM is a package of the download which can be loaded on authorized machines for reading (via authorized readers).
>
> You can get the program for your Mac or Windows at:
>
> http://www.adobe.com/products/digital-editions/download.html
>
> For Linux, you have to install Wine and run the Windows Version.
>
> At present, the latest Windows release doesn't work with Linux (Wine) you have to use version ADE17 for Linux:
>
> Install Adobe Digital Editions on Linux
>
> For the Android so far I find:
>
> Aldiko Book Reader
>
> I agree with Izzy's brilliant reflection that in the future I'll have to search for books that don't have this restriction.

---
Tags: downloading, offline, ebook-reader, google-play-books
---


# Question
Title: Block 'Explore' feature on Google Docs for users under Google Family Link
I tried to put my boy under my supervision on Google Family Link. I put a limited number of apps on his phone, only what he needs without a browser at all. One of the apps it has is Google Docs. Google Docs on smartphones has an option called 'Explore', where you can search the Internet, and it simply links you to Google and acts as a real browser.

To try: open a sample document \> enter edit mode (when the cursor is flashing) \> click on the drawing of the three dots \> Explore

The whole idea was to block the browser so that it would be impossible to surf the Internet, but Google forgot a small hole in their security.

I haven't even found a way to contact Google themselves, but I think that even if I contact them, no one will really care about me.

Does anyone have an idea how to block it?

# Answer
I tried this on my Pixel 6, and it works, I guess you should have a proxy set up on the browser. You should also be able to see what he is searching and looking at through your Family Link app, so you will still be able to see what sites he goes to.

Hope this helps!
> 0 votes

---
Tags: parental-control, google-family-link, google-docs
---


# Question
Title: Can a school wifi certificate track me at home?
At my school, when logging into wifi for the first time, we enter our ID & password into a normal wifi login page, then we download a certificate. I cannot confirm if the certificate changes depending on which student logs in. After downloading the certificate, we must install it as a **Trusted Root CA Certificate**. My Samsung phone says that "your network may be monitored" after installing this certificate.

My main question is if this can:

1. Allow the school to see what websites i visit
2. Cause security vulnerabilities
3. Slow down my web browsing
4. Route my internet traffic through a middle man

Thanks everyone for the help

# Answer
It is unclear what the school says the certificate is for. It may be for WPA-Enterprise Wi-Fi authentication. It may also be for HTTPS interception. Please expand on that. Surely there’s some information on why you’re supposed to install the certificate…?

I will provide an answer about installing a CA certificate in the trusted root CA store. Going by the fact that it goes into the trusted root CA store, the certificate would not be unique per student.

---

There are two environments to consider. Your school network and other networks.

When you are connected to the school network, your school

* can intercept your connections, even when encrypted (see also last bullet)
* could accidentally leak the certificate’s private key
* can slow your web browsing either way
* can route your traffic any way they like, middle man or otherwise

Routing is unrelated to any certificates. Certificates are for *trust*. Having a CA certificate provided by the MITM installed makes security warnings go away, because you now trust the MITM.

When *not* connected to the school network

* the school cannot see where you browse
* the CA makes you more vulnerable (see above)
* browsing speed is unaffected
* the school cannot redirect or intercept your traffic

---

If you do not trust the school to properly manage this security-critical data, you should not *trust* their CA. This will probably make using their Wi-Fi impossible.
> 3 votes

# Answer
The school certificate is probably to authenticate the connection. The school can't do anything other than that unless it has been enrolled in the organization.
> 0 votes

---
Tags: networking, wi-fi, security, https, certificates
---


# Question
Title: How to adjust ring volume on built-in speaker separately from ring volume on headphones?
Currently, if I receive a call, it rings in both my (wired) headphones *and* out of my built-in speaker. I don't want rings to ever come out of my built-in speaker. I only want to hear rings in my headphones. I don't want other people to have to hear my ringer, but I want to hear it in my headphones!

It seems all other audio is handled correctly. For example, if I am listening to a podcast using my headphones, no audio comes out of my built-in speaker (which is great!) Using the volume buttons only adjusts the headphones volume. If I unplug my headphones, it switches over to using the built-in speaker automatically. Moreover, changing the volume while the headphones are unplugged only adjusts the built-in speaker volume; it doesn't forget my headphones volume. This is exactly how I want my call ringer to work.

Basically, I want to set my built-in speaker ring volume to be 0, and my headphones ring volume to be 100. How can I do this?

I have a Moto G Power 2022 with Android 11.

Edit: I'm surprised that even with a bounty, no one has any advice. Is what I want unclear? (I want the ringer to play in my headphones but **not** from my built-in speaker.) Is it really that unusual of a desire that it is impossible to accomplish? Is my problem specific to my particular phone and not Android 11? Even if you have a partial solution, please let me know what you know. I'd be happy with a solution that involves an app, as long as it fixes things.

# Answer
> 0 votes
Technically speaking, this cant be done unless you have your headphones in all the time, and plus the notification sound should always play through the headphones if there plugged in

---
Tags: calls, volume-control, headphones, volume, speaker
---


title: Which factory reset should I use?

text:
# Question
Title: Which factory reset should I use?
I have the motorola droid 3 and it can be factory reset from either the settings menu or the recovery menu. What is the difference between the two?

# Answer
Results should be the same, so you can use either.

The item in the recovery menu you could count as a "backup switch": How else could you reset a device which refuses to completely boot up? That would otherwise be a "vicious circle": In order to boot up you'd neet to factory-reset – but in order to factory-reset, you'd need to boot up. So with the recovery menu, you've got a "reserve switch" for cases like that.

The switch in settings, on the other hand, is easier to find for "novice users" not aware of those "Vulcan nerve pinches" (or "three finger salutes", whatever you prefer) to boot the device into "special modes".
> 2 votes

# Answer
If you wanted a complete out-of-the-box experience, i would suggest using the factory reset option in the boot menu. This can be accessed like so; With the device powered off, press volume up and down and the power button all at the same time. Then using the volume down key to scroll down to the factory reset option and select using the volume up button. ***BE AWARE: This method will erase all personal storage and the sd card, back up data and remove the sd card before starting this process***
> 0 votes

---
Tags: factory-reset, motorola-droid-3
---


# Question
Title: No dating social apps in the Play Store?
I installed Android Studio for testing purposes and checked the Nexus 5 and Nexus 5X device images for the emulator. One thing I've noticed is that there are no dating social apps available in the Play Store like Badoo, Tinder, OkCupid, etc. you get the idea.

Is this because of some settings that I haven't configured or are these apps blocked for some reason?

# Answer
> 1 votes
Never mind, it was an issue with the Google account I used in the emulator. It didn't have permissions to 18+ content.

---
Tags: applications, google-play-store, android-emulator
---


# Question
Title: Can't Send Texts to Some Phones unless Internet Turned on on my Pixel 5
I have a Google Pixel 5 phone, am running Android 13, and use Verizon as my carrier. I'm trying to use the internet less so I usually keep my internet off, including turning off my data and wifi connections.

I've noticed that when my internet is turned off I can't send texts to some people until I turn my internet back on. The send text message button on my phone is grayed out when trying to text some people until I turn the internet back on. I can send text messages to some people with the internet turned off, including to some iPhone users.

**Is this issue most likely caused by trying to send texts to a person's iPhone and they have iMessage turned on?**

I'm aware that if an iPhone user turns on iMessage then they must keep their internet connection on or they can't send texts from their phone.

# Answer
> 0 votes
The **internet** of most phones usually will include cell connections, too. If your trying to email other users on Iphone, **it uses a standalone service specific to apple and its cell network** thus not requiring verizon's cell service hece apples own cell service can process the request at much higher speeds. But if whom you are sending to isn't on apple's own network or icloud, **It cant use the apple servers because they are not built to communicate with other clients directly and has to use another server which requires a cell connection / wifi to connect with those client servers**

---
Tags: sms, google-pixel
---


# Question
Title: Relocking bootloader on Asus Zenfone Max Pro M1 (ZB601KL/ZB602KL)
After a few dozen unsuccessful attempts to make TWRP recovery work and almost bricking my Asus Zenfone Max Pro M1 (ZB601KL/ZB602KL), I gave up and decided to relock the bootloader. But this turned out to be a problem on its own. Rigorous googling didn't yield any solution. No fastboot command helped.

How to relock its bootloader?

# Answer
> 1 votes
I stumbled upon relock\_bl.cmd file. After trial and failure with different command lines, I found the remedy. Here is what helped in my particular case.

```
fastboot -s !deviceId! flashing lock
fastboot -s !deviceId! flashing lock_critical

```

---
Tags: fastboot, bootloader
---


# Question
Title: Firefox for Android refuses loading any website
I wanted to give Firefox for Android a try (I'm a long-time Chrome user), but after installing it from the Play Store, I discovered it refuses to load any website, always showing this security warning that cannot be ignored:

This happens on all sites and only on Firefox for Android, the same sites load correctly in Chrome and also load correctly in Firefox running on a Windows computer that is on the same network as my Android device.

Any clues as to why this is happening? I'm running Firefox 105.1.0 on Android 12.

# Answer
After doing more digging, it seems the problem was my adblocker (AdGuard). It uses a locally installed CA certificate in order to filter HTTPS traffic. By default Firefox ignores local CA certificates, it has its own list of trusted CAs. Quite dumb in my opinion, but luckily local CA certificates can be enabled by following this guide:

https://kb.adguard.com/en/android/solving-problems/firefox-certificates
> 4 votes

---
Tags: firefox-for-android, android-12, https
---


# Question
Title: How to download raw files from Google Play Store using my account?
Suppose I want to download any apps from Google Play Store, but what I want is not "automatically installed" but instead, I will get output files directed to the choosen storage, for instance whether it's the internal storage or using an SD card.

So, basically, I'm expecting to be able to get the raw "apk" file or any other extensions if it's a bundled app that can be installed manually.

Also as I've mentioned in the title i.e. using my account, so if I join the beta system, I will still be able to enjoy the beta feature before anyone else and always receive the latest version and download the "apk" or "apks" file or whatever from Play Store.

Is that possible? Evozi doesn't work, I've tried that.

# Answer
Google Play Store has no official interface for downloading apps to storage instead of directly installing it.

### Backup app from device

The only workaround is to install an app and then copy the APK files using an app like Amaze File manager (the built-in "App Manager" supports a backup functionality for apps). However this way has one major disadvantage: Modern apps consist of multiple APK files that allows to adapt the app to the device (CPU architecture, display density, language...). The backup will thus only contain the APK files that match your device. Compared to APKs files you can download from various app download pages like apkmirror.com which often contain APK files for all architectures, display density and language.

### Direct download from Play Store using third party programs

But there are unofficial tools which simulate an Android phone that has your selected Google account installed. One of those tools is Raccoon4 a Java program which has to be executed on a PC (does not work directly on Android). Registering a certain phone model with your account can work or not (Google is constantly changing something on backend side).

As Raccoon4 uses the configured Google account it might be possible to download even beta apps you are registered for, but I am not sure if anybody has ever tested this. So this will most likely only work if downloading beta software does not require using a special API on backend side.

See also this old question How can I download an APK file from the Play Store?
> 2 votes

---
Tags: applications, google-play-store
---


# Question
Title: Would I break anything by installing another build of the same custom OS, but with a different signature, using a custom recovery tool?
I am about to get a device for which, so far, only an unofficial LineageOS build exists. A merge request to officially support this device is underway, but as always with LineageOS, no ETA.

A bunch of forum posts mention that there may be issues when signatures do not match. I remember that, when moving from CyanogenMod to its successor LineageOS, there was a special migration process (as the migration implied a change of the OS signature iirc):

* Install a special, migration-only build of LineageOS (intended only for migration from CyanogenMod, not for permanent usage)
* Boot up LineageOS once
* Install a regular LineageOS build over it

Also now, I am seeing discussions about migration paths from an unofficial build of LineageOS to an official one (again, with different signatures). However, I have not yet seen a clear explanation as to what the signature does and what would break if the signature does not match. Presumably any update tool would reject an update with a different signature. However, custom recovery tools (TWRP for sure) allow for signature checks to be skipped, hence this would not be an issue. Anything else I am missing?

My planned update path is the following:

* Using TWRP (or possibly, LineageOS Recovery), create a backup of the data partition on my present device.
* Unlock the bootloader of the new device.
* Install either TWRP (if available) or LineageOS Recovery on the new device.
* Install the still-unofficial LineageOS build on the new device.
* Using the recovery tool, restore the data backup on the new device.
* Use the new device.
* When an official LineageOS build becomes available, reboot into recovery and install it.
* Continue to use the new device, now with an official LineageOS build.

When switching from Nexus S to OnePlus One, I followed the first six steps and this worked without any issues. Both devices were on the same CyanogenMod version, albeit both were official builds, presumably with the same signature. Thus, as long as the OS signature does not change, the above process is proven to work – save for individual apps doing some extra verification, the effects of which would only affect that particular app.

Would I be able to use the same procedure to upgrade to a build of the same OS but with a different signature? If not, what would be broken by the signature not matching?

# Answer
Moving the entire `/data` partition to a different device no longer works with modern Android devices, as that partition is now encrypted. As far as I found out, the encryption method varies from device to device – either full disk encryption or file-based encryption. The recovery tool would therefore be able to either decrypt the partition, or back up the encrypted data and its keys. The second option would only work if both devices use the same encryption method.

As of September 2022, TWRP does not seem to be able to back up, or restore, encrypted partitions, and LineageOS Recovery does not include backup functionality at all. I am not aware of other Android recovery tools, so currently I am not aware of a way to move the `/data` partition to a different device.

That means the only way to back up `/data` would be from within the OS. If you are root, you could try `tar`ing the directory on one device (storing it on the SD card), then restore it on the other, though I have no idea if that works. Otherwise, NeoBackup (available on F-Droid) can do a batch backup of all installed apps with their data.

For the signature part, that leaves us with upgrading between official and unofficial builds. Examining a key migration script for LineageOS reveals that it modifies two files: `/data/system/packages.xml` and `/data/system/packages-backup.xml`. These contain a list of all installed packages and, among others, their signatures. According to the instructions on the LineageOS wiki, the signatures need to be changed before updating to an OS image with different signatures.

Admittedly, that still doesn’t fully answer my original question. Presumably either the recovery tool will refuse to update if signatures do not match, or the new OS will throw tons of errors on boot because all of the system app signatures have changed, possibly forcing you to revert to the old OS or even wipe your data partition. However, there is a migration path if you really need to move to an OS image with different signatures.
> 1 votes

---
Tags: recovery-mode, twrp, custom-roms, lineageos
---