title: Where do the <unknown> items come from?

text:
# Question
Title: Where do the <unknown> items come from?
At the quick settings dropdown are some items that have no icon and just a label . They cannot be re-arranged and are obviously useless. Please have a look at the Screenshot

.

I would like to know how I can find the apps or files that are responsible for those and/or a way how to get rid of them.

It is an Android Oreo with some EMUI on top.

# Answer
Do you use Automate app? Those are for making a custom quick settings functions. You can customize them from the app by adding a "quick settings" block and defining its action.
> 2 votes

# Answer
**How can I find apps responsible for creating these tiles?**

* Check in the manifest of each app for Tile Service. It will have `android:name=".MyQSTileService"` & `android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">` & service as `action android:name="android.service.quicksettings.action.QS_TILE"`.

Since you don't know which app created this checking the manifest is going to be painfully slow. I used this app apk analyser to check for service and found for example `eu.faircode.email.ServiceTileUnseen` (it's an email app and the tile corresponds to unseen mails).

**How to hide them?**

I am not conversant with EMUI but here are things you can try to get them out of sight:

* Customize tiles by

+ swiping down from the Status bar to open the notification panel.
    + Touch the pencil icon on the top right corner.
    + Drag Icons from the top part to the bottom part
* Or use an app like Quick Settings to delete those bothersome tiles
> 0 votes

---
Tags: applications, quick-settings
---


# Question
Title: Downloading from Play Store gives error 491
When I try to download anything from the Play Store it shows error 491 and can't finish the download. I have a Samsung Galaxy S 7582. How do I fix this?

# Answer
> 1 votes
You will need to do the following:

1. Open Settings
2. Go to Apps
3. Scroll down to Google Pay Services and open it
4. Clear data and cache
5. Do the same thing for the Google Play Store
6. Restart your phone
7. Open Google Play Store, let it sync, and you should be able to download whatever app was giving you error 491

# Answer
> 0 votes
Try to go to play store properties page in your phone settings, and delete it's cache there, then reboot your phone, it should ask you to accept again terms of use when you start play store again.

# Answer
> 0 votes
Go to Settings-Accounts-Google account- Delete or Remove your account

Then go to Settings-Apps-All-Google play store Clear Cache and Clear data

Reboot, Enter your account details again..

# Answer
> 0 votes
If nothing of the aforementioned worked for you, try to install APKpure or something similar. Then update Google Play and try to download the app you wanted. This was enough for me(htc desire 610, android 5.1.1, custom build), but you might consider mix of this solution and others, if that's not gonna work in your case. Credit goes to Frank Innocent's answer

---
Tags: google-play-store
---


title: Recovering from forgotten lock pattern

text:
# Question
Title: Recovering from forgotten lock pattern
My son has an impression tablet 10 and has forgot the lock pattern. How can we reset it without knowing the code?

# Answer
If you entered your pattern incorrectly 5 times, Android would lock the lock screen so you cannot draw any more pattern for 30 second (this is to prevent brute forcing) and a button will show up that will allow you to reset the pattern by entering your Google Account email and password.

The image on the left is what the lock screen normally looks, after entering the pattern incorrectly 5 times, another button appear on the bottom.
> 31 votes

# Answer
You may be able to figure out the lock pattern by looking at the phone screen in the right light, or taking a picture and perhaps performing simple contrast adjustments on the picture. See “Smudge Attacks on Smartphone Touch Screens” by Aviv et al (presented at WOOT 2010).
> 5 votes

# Answer
Unfortunately you're probably going to have to do a factory reset, which will wipe all the data on the device (it should leave the SD card alone if there is one, though).

You may be able to do this from recovery mode, which you get into by holding some of the buttons on the device while it boots up. I don't know what buttons the devices has though.

Another method is to install the Android SDK and the tablet's drivers on your computer, connect the device, and do something like the following from a command prompt (the path may vary):

```
cd C:\Program Files\Android\android-sdk\platform-tools
adb shell wipe data

```

**Edit:** From looking online it appears that there is no button combination to get into recovery, though `adb reboot recovery` might work. If you're going to install the SDK though you might as well just use the wipe command I posted above.
> 3 votes

# Answer
To do a factory reset, push the volume down button and the power button at the same time, then follow the on-screen instructions.
> 1 votes

# Answer
On my Motorola Cliq (an older phone), I was able to reinstall the firmware, and my phone became completely unlocked. It erased some of my system settings, but all of my apps, data, and files on the device were still there.

As a test, I also re-flashed my newer phone (LG Motion 4G, Android 4 ICS) and it kept the password lock. Though, my guess would be that I could probably find a way to erase the password with a specially crafted update.zip file. (Here is a link of someone who created an update.zip to erase the pin and gesture password in Gingerbread, and it looks like it would work for my ICS phone too).
http://www.garage4hackers.com/f54/reset-android-pin-pattern-lock-using-flashable-zip-tested-gingerbread-2630.html

If this makes some people paranoid, then the lesson here is to setup an app which allows you to remotely erase all your data. A knowledgeable person with physical possession of a device will not be stopped by the presence of a password.
> 1 votes

# Answer
Assuming one doesn't have a Google account (or doesn't have access to it) and one doesn't care about loosing the data, a factory reset will help.

For that

1. Turn off the device.
2. Press Volume Up + Power Button for at least 15 seconds.
3. Release the buttons and a recovery menu will pop-up.
4. Select "Wipe data/factory reset".

Just tested with a Huawei and it worked fine.
> 1 votes

---
Tags: lock-screens, locked-out
---


# Question
Title: Chrome, autofill, and biometric security
One of the recently added Android features is biometric-protected autofill. It *should* enable something similar to iOS, where credit card numbers and passwords are protected by a fingerprint or Face ID.

However, with Chrome at least, this feature seems to not work: even if biometric security is enabled, no such auth is requested when autofill login forms (ie: with password autofill).

So: is it possible to enable biometric-protected password fills in Chrome with Android 10?

# Answer
> 2 votes
At the time of this writing (v87, Dec 2020), Chrome for Android doesn't support biometric-protected credential autofill.

This has been reported on Chromium Issue Tracker #1139045 - Security Feature: Only auto-fill passwords after user provides fingerprint or PIN on Oct 16, 2020, and acknowledged by a Chromium contributor.

> Comment 4 by palmer@chromium.org on Tue, Oct 20, 2020, 5:36 AM GMT+7
>
> \[...\]
>
> we could potentially implement a feature where Chrome auto-fills passwords only after the user supplies their fingerprint or PIN. (Safari on iOS has this: https://support.apple.com/en-us/HT208109) I'll change this bug to a feature request.

---
Tags: security, chrome-for-android, android-10, auto-fill
---


# Question
Title: How to see all the apps I have downloaded from Google Play store?
Is it possible to see all apps I've downloaded on the Google Play store?

# Answer
> 2 votes
Yes, it is possible to see all Google Play Store apps you've downloaded.

**On your Android device:**

**1)** Open Google Play Store app

**2)** Tap the hamburger menu in the top left corner

**3)** Inside the menu, tap "My apps & games"

**4)** You will get a list of all the apps you have installed.

# Answer
> 1 votes
Current url to list online all installed Google Play apps is https://play.google.com/apps. There is option to filter by devices.

List of recently uninstalled apps: https://play.google.com/store/apps/collection/cluster?clp=ogoXCAYSC0FQUExJQ0FUSU9OKgIIAVICCAM%3D:S:ANO1ljJeyws&gsr=ChqiChcIBhILQVBQTElDQVRJT04qAggBUgIIAw%3D%3D:S:ANO1ljLsirA

List of recently uninstalled games: https://play.google.com/store/apps/collection/cluster?clp=ogoQCAYSBEdBTUUqAggBUgIIAw%3D%3D:S:ANO1ljKj8QE&gsr=ChOiChAIBhIER0FNRSoCCAFSAggD:S:ANO1ljL\_xzM

# Answer
> 0 votes
1. Open Google Play Store.
2. Swipe from the left edge of the screen to the right (to reveal a menu).
3. Select "My apps & games"
4. The "Installed" tab shows all apps currently installed while the "All" tab shows all apps you ever installed including removed apps.

Note: The names could be slighty different since my play store app is not in English.

# Answer
> 0 votes
Its possible to see all the apps you have installed in your android device using either the Google Playstore App or using the web interface of google on your PC using this link https://play.google.com/store?hl=en. Remember when using the WEB you need to sign in with the same google account as that in your device.

# Answer
> 0 votes
If you enabled *Google Activity*, you can do below

Go to https://myactivity.google.com/myactivity

On left side pane select *Other Google activity*

Under Google Play library, select *View Activity*

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


# Question
Title: Stop screen from dimming while on charger
How can I stop the screen from dimming when my phone is charging? (the same thing the screen does when it's about to turn off).

Note that my screen already stays on, but it gets darker after an idle period.

Nexus 6P, stock Mashmallow.

# Answer
I achieved this using Tasker. I created a Profile that, when plugged in, activates a task that sets the display timeout to a huge value. I accompanied it with an exit task that sets a normal-length display timeout.
> 3 votes

# Answer
I achieved this by adding a macro in macrodroid. Pretty simple and straight forward.

Like @spiffytech said when plugged in set the time out to never and when unplugged set the time out to 15sec.
> 1 votes

---
Tags: screen-brightness
---


# Question
Title: Contact with 2 phone numbers - how to distinguish between them on WhatsApp?
I have what I would think must be quite a common situation - a friend has 2 phones, one for work and one for personal, and I've created a single android (google) contact with the both phone numbers in, identified appropriately.

However, WhatsApp displays this as 2 contacts with the same name and no way of distinguishing between them. If I want to add them to a group I have to guess which one it is, then go into the group and select them, then I can view more details to see if I've picked the right one.

Is there any easier way to distinguish between them in WhatsApp?

# Answer
> -3 votes
Just save them as a separate contacts? Solves everything at minimal fuss.

---
Tags: whatsapp-messenger
---


# Question
Title: Why I don't need to provide boot-time PIN anymore?
**tl;dr:** *I have my Motorola Moto Z2 Play / A8.0 encrypted and I was forced to provide PIN during very early boot phase of my phone. Since about 1-2 weeks ago -- when my phone had a one-time accident of very long boot -- Android stopped asking for that PIN at boot time. How can my phone be still encrypted and no longer need that PIN to decrypt itself?*

---

About 2-3 years ago I have encrypted my Motorola Moto Z2 Play (now with Android 8.0). I used the same PIN for the encryption process, so starting from that moment, I had to use PIN three times:

* boot (encryption)
* startup (SIM card PIN) and
* startup (fingerprint unlock).

About 1-2 weeks ago my phone hanged badly. After force-restarting, it needed about 20-30 minutes (!) to actually start.

From that moment on, I am no longer needed to enter PIN to decrypt phone and start Android. The first time, I now need to provide it, is when unlocking my SIM card.

My phone was not reset after that one-time very long boot accident. After it finally got up, I had everything in places: all apps, accounts, settings etc., nothing changed, reset or removed.

I have double-checked that my phone is still encrypted:

There was no system update (phone stays at Android 8.0.0 from 1+ year and probably forever), no new application installed and no change in system configuration for long months.

My phone uses fingerprint + PIN screen lock. PIN in numeric, four digit.

From this answer:

> If the phone boots up without asking for a password, it is most likely not protected by encryption in the way you would expect. In theory, it might not be encrypted at all (...).

This answer explains that:

> The best way to tell if your Android device is encrypted (and the encryption is actually in use) is to reboot it and see if it asks for a password/PIN with a prompt on a black screen that says: "To start Android, enter your PIN" (...) The lack of prompt means the master key is not encrypted".

I don't see such prompt, so I now know that my master key is not encrypted (while the file system itself seems to be encrypted -- above screenshot). But this answer does not explain how / why my master key was encrypted for 2-3 years and stopped being encrypted two weeks ago after a very long boot accident / force-reset.

So, why or when my Android 8.0.0 can decide to decrypt my master key and no longer need me to enter startup PIN to decrypt it?

# Answer
In the settings where you choose a new PIN/pattern/passwords it said something like 'Because you enabled an accessibility feature you're PIN won't be used for enhanced encryption protection'.

I had to disable Lastpass auto-fill and my phone asked for my PIN at startup again.
> 2 votes

---
Tags: encryption, motorola-moto-z2-play
---


# Question
Title: I'm unable to toggle between Chrome Tabs
Earlier I used to toggle between tabs by swiping left or right and clicking on the tab I wanted to open. But know if I click on the change tabs icon, I can only see the list like this attached image. How to get back to toggling tabs?

# Answer
> 1 votes
**Check if some Android accessibility settings are enabled.**

Android accessibility settings can affect an app's behavior. In Chrome's case, some settings (e.g. Switch Access) change the behavior of the tab switcher: from showing the stacked preview tabs to a simpler list shown in the question.

Left: "Switch Access" disabled | Right: "Switch Access" enabled

When offending settings are enabled, Chrome will also add a new menu entry under **Settings - Accessibility - Simplified view for open tabs**. Toggling this will change the behavior of the tab switcher without needing to disable the global Android accessibility settings.

---

**Note**: it is still possible to switch to another tab by swiping *the address bar* to the left/right, even with accessibility settings enabled.

# Answer
> 0 votes
It sounds like you had multiple windows open in your browser and you would have to load each page you want to switch from in a new tab and restore them each this is something that I have been through thanks I hope I have been able to help you

---
Tags: chrome-for-android
---


# Question
Title: Pixel 3a XL repeatedly crashes and reboots when connecting to a specific Wi-Fi network
I ran into an issue with my Google Pixel 3a XL phone where it repeatedly crashed and rebooted. After looking into the issue, I remembered that the crashes started as soon as I connected to a specific Wi-Fi network.

The issue began as soon as I connected to it. I tried rebooting in Safe Mode to see if that fixed the problem, which initially disabled all networking features, but as soon as I switched them back on, the crashes started again. I was able to stop the crashes by disabling Wi-Fi immediately after the next restart, forgetting the network it was trying to connect to, then re-enabling Wi-Fi.

The issue seems to occur *only* when I connect to that *specific* Wi-Fi network; connecting to other networks doesn't create any problem. I was reading another help guide that said to reset the network settings to fix problems with it, but I doubt that will fix the issue as it just resets the saved networks. I already deleted the info about the problematic network by forgetting it, so I don't think this will resolve it.

The network is an unsecured network, and is a public network (so I don't have access to router info, etc.)

What could be causing the phone to crash and reboot when I connect to that *one specific* Wi-Fi network, and not any other network?

# Answer
This is a known, supposedly fixed but not yet pushed into production issue for Wi-Fi networks utilizing 802.11k:
https://issuetracker.google.com/issues/144381412

See also:
https://www.reddit.com/r/Pixel3/comments/f7mych/reboot\_when\_connecting\_to\_wifi/

It has been more than a year and still unresolved in end user devices. I don't understand why it is taking this long especially considering:

* That they have supposedly fixed it in the code.
* How widespread this must be, as all devices are affected (even if most people may not realize it has to do with Wi-Fi, it took me a while to connect the dots). I am personally experiencing the same on a Pixel 3.

Please upvote and comment on the Google Bug tracker link above so Google can finally take care of this.
> 2 votes

# Answer
I have the exact same problem with my Google Pixel 2 XL. It happens only in one (secured) network. I have tried "Network Settings Reset" but it didn't help. The workaround we have found:

1. Boot into safe mode
    1. Press and hold the power button
    2. Touch and hold “Power off” button until view “Reboot to safe mode”
    3. Press “OK” to boot into safe mode
2. Enable WiFi and connect to the problematic network
3. Restart to normal mode. It can connect to the network as long as it is remembered.
> 0 votes

---
Tags: wi-fi, reboot, crashes, google-pixel-3a-xl
---


# Question
Title: WhatsApp video doesn't play and has a warning icon (Video format h264 not supported)
Using WhatsApp version 2.20.206.24 on a Huawei Y9 2019 with Android 9.

Received the following video (i tested both forwarding and sending the video directly - on both cases i faced the same problem)

If I click play, the video looks like is going to start but the time is stuck

Checking the media associated with that chat and it appears a thumbnail with a warning icon in it

I'm able to play other videos, so it makes me think that the problem isn't with the media player of this phone. Tried also restarting the phone, searched for WhatsApp updates and system updates and all were in place. Also, I tested playing the video with two other different Android phones (one Samsung and another Huawei) and the video played well.

---

## Edit

When trying to play the video from the Gallery, I get the following error

> Formato video h264 não suportado. (Portuguese for "Video format h264 not supported").

---

## Edit 2

I installed VLC for Android to see if the video would play using it. The timer this time finished playing as well as the audio but the image was stuck in the same moment

# Answer
Assuming that the person that sent you the video has a Gmail account, ask to upload the video to Google Photos and send the link, that way you'll be able to see the video.
> 2 votes

---
Tags: whatsapp-messenger, huawei, video, media-files
---


# Question
Title: YouTube link preview not showing up in WhatsApp
Using WhatsApp version 2.20.207.12, YouTube version 15.47.36 on my Samsung Galaxy A30s with Android 10.

Previously (I remember this working in November) when I shared a link from YouTube in WhatsApp I'd get a preview containing an option to play the video

and clicking play would just play the video there

Recently, anytime I share a link from YouTube in WhatsApp, the message sent will only contain a link. This also happens if I use WhatsApp Web

I'm ok with not being able to play directly in WhatsApp, but how could I get a preview with at least a title pointing that the message is a video and showing its title?

# Answer
The best solution I could find was to adapt the URL copied in the share button

> https://youtu.be/bDPczGUovzE

to

> https://youtube.com/embed/bDPczGUovzE

This is basically substituting `youtu.be` with `youtube.com/embed` leaving the last part (in this video, `bDPczGUovzE`) untouched.

So now we can see already a preview before even sending

Once sending it we'll see

---

## Edit

As of today this issue is already fixed and Beta users of WhatsApp can already take advantage of it.
> 13 votes

# Answer
I actually asked this to their support team since this happens for last 3-4 weeks.

Their reply was this

> Hi,
>
> Thanks for your message.
>
> We're aware of the issue and are working on fixing it in a future update of WhatsApp.
>
> If you have any other questions or concerns, please feel free to contact us. We'll be happy to help!

My assumption is it's something related to some disagreement between Google and Facebook regarding to watching content from preview.
> 5 votes

# Answer
Created a preview generator for this purpose , here is a link (only works for youtu.be links) : boxcubegames.github.io/ytpgen
> 4 votes

# Answer
Kudos for @Tiago Martins Peres's answer.

Optionally, on computer, you can right-click / save the YouTube video thumbnail / drag it into Whatsapp Web (which will include it as a figure) and paste the original link in the figure description.
> 2 votes

---
Tags: whatsapp-messenger, youtube
---


# Question
Title: Does 'Battery Protection Mode' turn on automatically?
I'm the founder of a company that deploys Android tablets into a hospital

Making sure our tablets are plugged in is really important to us. When devices get unplugged we alert hospital staff to plug them back in.

Devices are showing up unplugged when they’re plugged in, reducing staff confidence in us.

What we know..

* Patients occasionally unplug cords to charge their phones
* We had a bunch of low quality cords that were falling out. We replaced most of them yesterday
* We’ve observed devices not charging when plugged in: the charging light flicks on, then immediately off after being plugged in
* We have not changed any default battery settings
* The problems have been mostly limited to a couple of devices
* Our MDM solution (Esper) shows us battery level graphs that level off at 60%

.. we suspect that like ‘battery protection mode’ is being enabled automatically somehow

Some (potentially) useful context

* Devices: Lenovo M8s running Android 9
* Devices are in kiosk mode running our single (low battery use) app with screens

# Answer
> 5 votes
I got a response from our support contact at Esper. This is apparently a Lenovo feature.

> Lenovo "Battery Protection Mode" will be automatically enabled if the device is continually charging for around 7 days.
>
> This is a feature designed by Lenovo to reduce excessive battery heat and degradation.
>
> While plugged in the device will stay at a charge level of about 60%, and will slightly vary at times but should dip no lower than 50%.

---
Tags: charging, lenovo
---


# Question
Title: Answer phone calls directly from computer (Linux)
When I'm on my work computer, I'd like to connect my phone via USB and have the possibility to answer calls or initiate calls directly from my computer, using a microphone handset directly connected to the computer, not the phone.

I Googled assuming something like this already existed, but I didn't find that specific use (I found GtalkSMS, EasySMS, AirDroid, but most of them are for SMS/MMS only).

How can this be done?

It would be great if this would be directly connected to Google+ (like initiating a Hangout that would automatically use my phone, or a GTalk call that would use my connected phone instead of a "web" phone number).

# Answer
> 3 votes
The only Linux application I know that could achieve this is 'HFP for Linux'. It works by implementing the Bluetooth HFP 1.5 Hands-Free Profile (PDF file), which basically makes your PC a remote control/headset for your Android phone.

# Answer
> 2 votes
There is a Java application which you can use to connect your Android device with your Linux/Windows installation. It needs ADB.

As part of your question, without a USB, you can use ADB's `tcpip` function so you won't need a USB cable all the time. Just connect it once, enable `tcpip`, and then connect over a wireless connection.

It won't forward your incoming calls, but you can use your Android screen. I have written a tutorial on its usage as well. Once connected with ADB, you can dial a number from the phone like this:

```
adb shell am start -a android.intent.action.CALL -d tel:+12345678

```

# Answer
> 1 votes
As far as I've seen, there's no solution aside from ADB and custom coding to perform call forwarding over USB that can be trusted; Bluetooth self-induced MitM, I don't consider it very secure for client calls. Side note here, "Bad USB" (AKA Rubber Ducky or HID) attacks are too easy to deploy if your device is infected with the latest generation of cross-platform malware; if one cares about their workplace security, phones shouldn't be plugged into the corporate network or computers. So, I'll suggest what I know to have worked for providing similar features you've requested.

The trick I've used in the past doesn't require the phone to be connected to a PC to answer calls but should still work as desired; look up Google Voice number to forward calls to your cell or PC; an additional benefit of using Google Voice is that groups of contacts or individual contacts can have their own custom voice mail greetings setup.

# Answer
> 0 votes
This is what one of Apple's "Continuity" features, "Handoff", does... yes? But Handoff's only good between Mac and iPhone, so I have used Google Voice to dial and answer calls to my Android phone on my Mac.

You can connect your phone to Google Voice or port your number to Google Voice and then you can use Hangouts to answer and make calls. (If you have Sprint, like I do, this works great! Just use your number as a Google Voice number and it's totally synced; unlike fully porting your number over, everything stays the same with your Sprint service except now you use Google Voice VM but it's better and more convenient anyhow and nothing changes from the phone-side).

Also, have you tried AirDroid (AirMirror)? I use AirDroid for controlling my phone from the computer (Mac App or Website \> computer and phone must be hooked to the same network); I also have it set up as security and to find the location, in case my phone is lost or stolen. And I use Pushbullet's Chrome extension for texting \[because it is easier and I discovered it first;)\].

AirDroid(AirMirror) is almost like Handoff except I don't know if it accepts incoming calls, but you can make outgoing. Check out: http://gadgets.ndtv.com/apps/features/how-to-make-calls-send-and-receive-sms-from-your-computer-using-an-android-phone-654766

There are a couple company's that I read about that are said to offer this exact solution but I don't have personal experience (except "Vysor", I have used as an Android mirroring app for presentations):

\*Seems like a great platform.

But ultimately, it seems like these are simply mirroring apps. Which actually could be just fine; the mirroring route is not as clean and fluid as Google Voice has been for me because of the necessary setup, every. single. time. But it could be an easy hack or workaround for this problem. You just activate the mirroring system when you sit down for work on your computer, then plug your headset into your phone, and then you can use the app's screen mirroring your phone to answer or dial calls, etc.

Either way, there are so many apps and stuff out there, I'm sure there are other options but in my experience, Google Voice has been the best at doing what you asked, and it's simple and seamless \> once you set it up, you can forget about it!

# Answer
> 0 votes
I use Mightytext as it allows you to dial phone calls and send SMS messages from the browser. I have used it on Windows & Linux with an android phone. No need for a USB connection either.

---
Tags: calls, remote-control
---


# Question
Title: PDF Presentation (Beamer LaTeX / Adobe Acrobat Reader) on Android tablet
I have just received my Nexus 10 - my first Android tablet!

I bought the tablet partly for giving presentations. My presentations are created by using the LaTeX package "beamer", which produces PDF files. Acrobat Reader (on PC) has a presentation mode that works perfectly well for all purposes, but I have trouble finding this functionality in the Android version.

There is a full-page display functionality in Adobe's app, but it has some animation for the page transitions. This means that "revealing" of new content (which is implemented by having successive slides that are identical except for the parts that are being revealed) will not work. This is one of the main functionalities that I want in my PDF presentations, and I seem to be unable to find any setting that would turn off the animation.

I have tried searching and the results I got were either about general PDF viewers or PowerPoint (etc) presentation apps. Rather than trying all the different PDF/presentation apps there are, I was hoping that someone might already be using their tablet in this manner, and would be able to help me out.

I have also tried ezPDF reader, but I did not find any presentation-style display at all. So my question is this:

**Is there any way to do Beamer PDF presentation on Android tablets conveniently?**

(3rd-party app is accepted, and ideally it should work with standard bluetooth presentation devices)

# Answer
> 4 votes
I could not find a "pure" presentation mode in Aldiko, Acroread 11.7.1, APV, MuPDF, PDFViewer and several others I tried.

I finally settled with Perfect Viewer and its Perfect Viewer PDF plugin. Extensive (excessive?!) customisation options, and you can:

1. Disable transitions
2. Drastically simplify what touch actions are allowed (simple tap on left/right part of screen, disable menu in the center, enable pinch zoom, add long-tap to reset zoom, ...).

# Answer
> 4 votes
I had the same problem and had to try out a bunch of apps. In addition to what you were looking for, I was also interested in the possibility to add comments during the presentation using the s-pen of my galaxy note. All the apps listed below support full page view, so there are in principle an options for presentations.

**Moon Reader Pro**

This is an excellent ebook reader. You have to pay for the full version, since the free version wont support pdf display. You can select full-page mode. By default there is no transition effect. You can also annotate while viewing. The pdf quality is very good and I have not seen any lags. Tons of options.

https://play.google.com/store/apps/details?id=com.flyersoft.moonreaderp

**Aldiko Book Reader**

Also a very good ebook reader that supports pdfs. Very much the same as the Moon reader, but it wont allow annotations. Also Moon reader has more options. The main advantage is that this reader is free. So try this one out first.

https://play.google.com/store/apps/details?id=com.aldiko.android

**Acrobat Reader FoxIt and FoxIT Mobile PDF lit**

Both viewers are fast and allow annotations, but you cannot turn off the page transitions. Very annoying for presentations. Both apps are free.

https://play.google.com/store/apps/details?id=com.adobe.reader https://play.google.com/store/apps/details?id=com.foxit.mobile.pdf.lite

**PDF Viewer**

This viewer was first slow, but one can change the options such that it performs okay. It has no page transitions, but it wont allow you to annotate. Free.

https://play.google.com/store/apps/details?id=the.pdfviewer3

# Answer
> 2 votes
Try XODO.

I found this question because I was looking for exactly this. Since the question was asked, some new apps are available, so I thought I'd share one that definitely works (it has an option to disable animations). It also seems to have nice annotation tools. Good enough to use in a classroom I'm thinking.

# Answer
> 1 votes
Since there haven't been any responses, I'll record the solution that I have come up with so far, in case anyone else is interested. It is not quite perfect yet, so further answers / comments are certainly appreciated.

* **APV PDF Viewer** has options that allow you to disable the visible zoom buttons, lock the horizontal scroll, increase the distance between pages, and bind the Up/Down and Left/Right keys to page up/down.

Setting these options, position the page in the middle of the screen. Touching the screen right or left will forward a page, but if you are not careful, it will still lead to moving the page around. However, if you use a bluetooth remote (as I do) to forward the page, this isn't a problem and it works pretty well.

* **ezPDF Reader** does not seem to work for what I had in mind, as it does not seem to have an option that shows a 4x3 slide in full (with black borders on the sides). On the other hand, it should be possible to compose the beamer slides in *16x9-mode*, and then I think there are enough options to make this feasible. I haven't tested this yet, as I haven't yet spent any time on thinking what the best layout is for 16x9 slides. In the long run, this seems likely to be the best option.

# Answer
> 0 votes
hi i was reading for the solution of this problem, and i found about adobe reader X for android, in this version of adobe exist an option that allows user view the pdf in presentation mode, here i leave an extract of the information i found from this link

Fit-to-Screen viewing mode

For those users who like to look at PDF documents one page at a time, Reader X introduces a new “Fit-to-Screen” viewing mode in addition to the earlier Continuous Scroll mode. This mode is especially useful if you’re reading presentations. Use the “View Mode” menu option to switch to this mode.

While in Fit to Screen mode, you can navigate across pages in two ways:

1 Tap on the ‘hot zones’ near the left and right of the screen to take you to the previous or next page respectively,

2 Swipe the screen horizontally towards the left or right to navigate to the next or previous page respectively."

# Answer
> 0 votes
Write on PDF by Samsung meets all the requirements very well.

---
Tags: tablet, pdf, adobe-reader
---


# Question
Title: How to execute commands, after exiting ADB shell?
I'm coding a script to automate an application configuration export process.

```
adb shell
...
<open app menu>
<open app settings>
<save app backup>
...
exit

```

The problem is: after saving the backup I want to pull the file to my computer, using this:

```
adb pull /storage/emulated/0/Backups/ ~/Documents/phone

```

Although, I can't figure out how to execute this command, after exiting `adb shell`. It seems like commands after `exit` are ignored:

```
adb shell
...
<open app menu>
<open app settings>
<save app backup>
...
exit
adb pull /storage/emulated/0/Backups/ ~/Documents/phone

```

Maybe, this is an issue I should addres to the "Unix & Linux" community, but I decided to try here first.

# Answer
Write your script a little different:

```
#!/bin/bash
adb shell <<EOF
...
<open app menu>
<open app settings>
<save app backup>
...

EOF

adb pull /storage/emulated/0/Backups/ ~/Documents/phone

```

All between `<<EOF` and the `EOF` standing separately at the start of its own line is run in `adb shell`, all outside is run on your local machine. Note: no `exit` needed.
> 12 votes

---
Tags: shell
---


# Question
Title: Have root & external sdcard mounted rw, but mv produced "Permission Denied"
I have an old tablet running LNOS 14.1. It has an external SDCard with some Books, Videos etc. The card is configured as movable storage. `.android_secure` is an empty directory, and though I haven't deliberately installed any apps on the card, it does appear there are some in the `Android` directory. I have noticed that though I have root on the tablet, there are things that I can not do via a shell or by ssh'ing in. I can't look in .androd\_secure for instance, but more importantly, though I can copy to the root of the SDCard, I can not copy to *any of the subfolders*! I am able to enter and read from the subfolders, as can apps like Kodi and Librara.

I am sure I have root as I set access permission in Developer tools, and multiple apps have caused the OS to produce pop ups requesting root access. Also, the Root Verifier app reports that I have root. In addition, Termux and simpleSSHD allow me to `su - root`, & I am able to do some things with root that I can't otherwise. eg. without root I can't write to the SDCard at all! But I still can't do this.

A friend suggested SELinux issues, so I include `ls -Z`. Is there a way around this?

---

```
# whoami
root

# pwd
/storage/1dc31997-9ebf-4573-9c75-3e57793b4071

# cat /proc/mounts | grep "/storage/1"
/dev/fuse /storage/1dc31997-9ebf-4573-9c75-3e57793b4071 fuse rw,nosuid,nodev,noexec,noatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0

# ls -la
ls: ./.android_secure: Permission denied
total 5852
drwxrwx--x 12 root sdcard_rw    4096 2020-12-12 01:53 .
drwxr-xr-x  5 root root          100 2020-12-11 18:49 ..
drwxrwx--x  5 root sdcard_rw    4096 2020-12-09 22:56 .Trash-1000
drwxrwx--x  2 root sdcard_rw    4096 2020-12-10 22:49 AOSP.7.0.Root.Install.amaces
drwxrwx--x  5 root sdcard_rw    4096 2020-12-09 22:04 Android
drwxrwx--x  2 root sdcard_rw    4096 2020-12-10 04:38 Apps
drwxrwx--x 25 root sdcard_rw    4096 2020-12-06 19:04 Books
drwxrwx--x  2 root sdcard_rw    4096 2020-12-10 22:45 LNOS.14.1.amaces
drwxrwx--x  2 root sdcard_rw    4096 2000-01-02 12:25 LOST.DIR
drwxrwx--x  3 root sdcard_rw    4096 2020-10-25 02:18 TWRP
drwxrwx--x  3 root sdcard_rw    4096 2020-10-29 23:41 Videos
-rw-rw----  1 root sdcard_rw    5294 2020-12-12 01:53 bottled.zip
-rw-rw----  1 root sdcard_rw 5888840 2020-12-11 04:49 org.fdroid.fdroid.privileged.ota_2110.zip

# cp bottled.zip bottled.1.zip

# ls -lZ
ls: ./.android_secure: Permission denied
total 5848
drwxrwx--x  2 root sdcard_rw u:object_r:fuse:s0    4096 2020-12-10 22:49 AOSP.7.0.Root.Install.amaces
drwxrwx--x  5 root sdcard_rw u:object_r:fuse:s0    4096 2020-12-09 22:04 Android
drwxrwx--x  2 root sdcard_rw u:object_r:fuse:s0    4096 2020-12-10 04:38 Apps
drwxrwx--x 25 root sdcard_rw u:object_r:fuse:s0    4096 2020-12-06 19:04 Books
drwxrwx--x  2 root sdcard_rw u:object_r:fuse:s0    4096 2020-12-10 22:45 LNOS.14.1.amaces
drwxrwx--x  2 root sdcard_rw u:object_r:fuse:s0    4096 2000-01-02 12:25 LOST.DIR
drwxrwx--x  3 root sdcard_rw u:object_r:fuse:s0    4096 2020-10-25 02:18 TWRP
drwxrwx--x  3 root sdcard_rw u:object_r:fuse:s0    4096 2020-10-29 23:41 Videos
-rw-rw----  1 root sdcard_rw u:object_r:fuse:s0    5294 2020-12-12 03:26 bottled.1.zip
-rw-rw----  1 root sdcard_rw u:object_r:fuse:s0    5294 2020-12-12 01:53 bottled.zip
-rw-rw----  1 root sdcard_rw u:object_r:fuse:s0 5888840 2020-12-11 04:49 org.fdroid.fdroid.privileged.ota_2110.zip

# mv bottled.zip Videos
mv: bad 'bottled.zip': Permission denied

# cd Videos

# ls -lZ
total 7434136
-rw-rw---- 1 root sdcard_rw u:object_r:fuse:s0  402069980 2015-07-24 03:56 Hold Fast-15351476.mp4

# mv ../bottled.zip .
mv: bad '../bottled.zip': Permission denied

```

# Answer
@IrfanLatif offered a comment that included an excellent link to all the things root can't do. It turns out, reading a FUSE filesystem owned by another user, is one of them. Android, will mount a device at multiple places, each with different permissions. Going to /storage/\[UUID\], you are visiting a FUSE filesystem. On the other hand, going to /mnt/media\_rw/\[UUID\], you are visiting the filesystem directly. There may, in addition, be SELinux permission issues, as described in that link, but in my case those did not appear.

```
$ mount | grep 1dc31997
/dev/block/vold/public:179_97 on /mnt/media_rw/1dc31997-9ebf-4573-9c75-3e57793b4071 type f2fs (rw,dirsync,context=u:object_r:sdcard_posix:s0,nosuid,nodev,noatime,background_gc=on,user_xattr,active_logs=6)
/dev/fuse on /mnt/runtime/default/1dc31997-9ebf-4573-9c75-3e57793b4071 type fuse (rw,nosuid,nodev,noexec,noatime,user_id=1023,group_id=1023,default_permissions,allow_other)
/dev/fuse on /mnt/runtime/read/1dc31997-9ebf-4573-9c75-3e57793b4071 type fuse (rw,nosuid,nodev,noexec,noatime,user_id=1023,group_id=1023,default_permissions,allow_other)
/dev/fuse on /mnt/runtime/write/1dc31997-9ebf-4573-9c75-3e57793b4071 type fuse (rw,nosuid,nodev,noexec,noatime,user_id=1023,group_id=1023,default_permissions,allow_other)
/dev/fuse on /storage/1dc31997-9ebf-4573-9c75-3e57793b4071 type fuse (rw,nosuid,nodev,noexec,noatime,user_id=1023,group_id=1023,default_permissions,allow_other)

```
> 1 votes

---
Tags: root-access, shell, file-permissions
---


# Question
Title: Asus Zenfone Max Z010D - Bootloop problem
My Asus Zenfone Max Z010D on Android 6.0.1 suddenly started showing, "Unfortunately, Google Play Music has stopped" and it did the same for almost every app, and restarted on its own.

After some research, I came to know that it went into a boot loop because it is continuously loading and does not start after that.

With zero knowledge of Android and two days of Google search, I tried the following things, however, nothing has solved the problem and my phone is still not working.

I tried:

1. ADB sideloading: I switched the phone to recovery mode, and selected apply update from ADB. I found the firmware file for my model from the official Asus site and executed the following command from my PC: `adb sideload UL-ASUS_Z010-WW-13.8.26.110-user.zip`

However, it showed the following error:

```
E:Can't mount /cache/recovery/last_log
E:Can't open /cache/recovery/last_log
E:failed to mount /cache (Invalid argument)
E:Can't mount /cache/recovery/last_install
E:Can't open /cache/recovery/last_install
E:failed to mount /cache (Invalid argument)
E:Can't mount /cache/recovery/log
E:Can't open /cache/recovery/log
E:failed to mount /cache (Invalid argument)
E:Can't mount /cache/recovery/last_log
E:Can't open /cache/recovery/last_log
E:failed to mount /cache (Invalid argument)
E:Can't mount /cache/recovery/last_install
E:Can't open /cache/recovery/last_install
E:failed to mount /cache (Invalid argument)
E:failed to mount /cache (Invalid argument)

```

Original screenshot of the output

I was not able to find a solution to the error.
2. Secondly, I tried flashing the boot image available in the extracted firmware file as follows:

```
C:\Program Files (x86)\Minimal ADB and Fastboot>adb devices
List of devices attached
GBAXB700D719RCK recovery

C:\Program Files (x86)\Minimal ADB and Fastboot>adb reboot bootloader

C:\Program Files (x86)\Minimal ADB and Fastboot>fastboot devices
GBAXB700D719RCK fastboot

C:\Program Files (x86)\Minimal ADB and Fastboot>fastboot flash boot boot.img
target reported max download size of 26843546 bytes
sending 'boot' (9740 KB)...
OKAY [  0.339s]
writing 'boot'...
OKAY [  0.212s]
finished. total time: 0.552s

C:\Program Files (x86)\Minimal ADB and Fastboot>fastboot reboot
rebooting...

finished. total time: 0.003s

C:\Program Files (x86)\Minimal ADB and Fastboot>

```

Original screenshot of the terminal output

Even after that, it kept on loading with the logo on the screen and never started properly.

Maybe everything that I have said and done is wrong. Please help me to get my phone working properly.

# Answer
> 0 votes
Aside from ADB sideloading, there is a direct option on the phone called "Apply update from SD card" after entering fastboot mode. Maybe, you should try that.

* Enter fastboot mode by pressing the Volume down and Power button at the same time.
* Once you reach the main menu, look for the above specific option.
* On the SD card, the correct firmware zip file required for your phone should be present. Do NOT rename it or alter it.
* After entering the option, locate the firmware file on the SD card and select it, apply the changes.

If the problem still persists, I think you should dig deeper into how to unlock the bootloader of your phone.

---
Tags: boot-loop
---


title: WhatsApp Google Drive restore fails

text:
# Question
Title: WhatsApp Google Drive restore fails
I migrated to a new phone yesterday (Nexus 5 -\> Pixel 2) and wanted to restore my WhatsApp chat history on the new device. I've always used the Google Drive backup feature, so I thought this should have been relatively easy. However, during the restoring process, the progress bar gets stuck at 31%. Some minutes later, the app informs me that restoring the messages failed.

What can I do? The Google Drive backup file seems to be corrupted, so I also made a manual copy of the msgstore.db.crypt12 file, so that I could maybe use that in order to restore my history. However, the steps listed on the Whatsapp website (https://faq.whatsapp.com/en/android/20887921/) do not work for me, since it always tries to restore the backup found on Google Drive.

# Answer
**If your old device is with you**

* Delete WhatsApp backup from Google Drive. See steps from WhatsApp FAQ
* Redo Google drive backup manually (Settings → chats → chat backup → Google drive) and restore

That will create a *fresh* backup so corruption is ruled out, though would take longer

**Old device not with you but you have copy of database file**

* Uninstall WhatsApp
* Install Whatsapp and on successfully activating it, immediately disconnect from Internet
* Copy the database file into the same folder location from which you copied and restore
> 2 votes

# Answer
I had something like that too, then I tried on another phone and it worked on it. Then I backed up again and it then worked on the first phone that it didn't work in the first place. So try using another phone, maybe it helps
> 0 votes

# Answer
I had the same issue and actually fixed it, it's a bug that reverses the resorted backup again for some reason.. so all you have to do is to force stop whatsapp when it reaches 31% or 24% as at (24% or 31% or 39% ) it's already finished resorting 100% of your messages and then it will open automatically and hopefully all you messages will be there. so when the bar reaches 31% you force it to stop. and good luck hope this work for you guys it worked for me
> 0 votes

---
Tags: whatsapp-messenger
---


title: Apps automatically start at bootup

text:
# Question
Title: Apps automatically start at bootup
Up until recently whenever I started Android up on my phone, no apps were started with it. Now, since an update I assume, whenever I turn my phone back on, any apps that were on when I turned it off get automatically restarted. This drives me crazy. Is there some setting to turn this off? This is on a Moto G Power phone Android 10, patched Sept. 1. I have gone through all the settings I can find with no luck.

# Answer
People are still misunderstood about the notion of Recent apps functionality. It has always been the same! This is very similar to an OCD of pressing F5 on a Windows based system to boost up the system.

Recent apps is more of a utility feature in android and not a task killer. There is however no relation to the apps actually running in the background.

When you reboot your phone the RAM does start with a clean slate and this is no different for Android L release too. Some apps will always start after a boot and that is how it works. The system makes some apps ready for use in that way.

Recent apps is just a list of apps that you have recently used and not those which are necessarily sucking up on your RAM. For a real RAM usage, look up the list of running applications and not recent apps. No new way of handling RAM has been introduced in Android L as well and it is just an idea of keeping the list of recent apps persistent now. For an analogy think of recent apps like a web browser history and not the open tabs that you can switch to anytime. Apps are loaded/stored into the RAM as and when needed.

On the contrary a better notion would be to use RAM to its optimum use. Linux based systems are designed to work that way. Say you have 100 of the apps installed but use 6-10 apps very frequently and on daily basis. Eventually these apps are automatically managed and stored by RAM for quick access and loading. Loading an app when RAM is in clean state consumes more battery and resources than rather loading it from cached state. The more you use the system the better it gets.

Android manages the memory itself pretty well. The least you can do is close some of the apps yourself when not needed. We need to stop worrying about the number of applications running in background and just let Android be Android.

Source
> 1 votes

---
Tags: boot
---


# Question
Title: What is the analogy of the X Server on Android?
I know well the desktop world of the Android and I am currently digging for, how does it work.

I think, because multiple processes (apps) can interact simultanously with the desktop, some central service (process) should exist to collect their change requests and unite them into an always consistent form (for example, if the content of a window changes while it is not visible, then the change should be invisible on the screen - until that window does not go into the front). Only this process has direct access to the frame buffer of the display (i.e. only it can directly change the pixels).

In the Linux/Unix world, this is being done by the X Server. The processes (apps) interact with the X Server on Unix sockets.

On Windows, as far I know, it is a kernel feature (thus, there is no specific process for that), and the processes interact with it on LPC (local procedure calls, windows-specific user space - kernel space communication mechanism).

On the net around, there is a huge mass of detailed documentation about the app-level interface, but nothing about this deeper internals.

How does it work on Android?

# Answer
> 2 votes
Summarizing the answers: display handling happens by the Surface Flinger, which is a service process started by the init scripts on boot.

Apps interact with the Surface Flinger over Linux/Android IPC mechanisms. The comment did not detail, how. Androids preference is binder and shared memory in most cases. Binder uses device files for process communication.

Surface Flinger communicates with the hardware over the vendor-provided HAL. Until Android 8, HAL was a set of shared libs in `/lib/hw`, provided by the vendors. Since Android 8, HAL is a set of system services (also processes started by the initialization). Legacy HALs in the form of shared libraries still do exist.

---
Tags: screen
---


# Question
Title: Is Android's system recovery a firmware thing or Android thing? Can factory reset be prevented?
I'm researching on how to protect my phone from being able to be reseted by thieves. Doing some research online I figured out that the main method of putting a stolen phone to work again is to do a factory reset through rebooting and using some combinations of volume + power buttons to activate the factory reset.

I'd like to know how this reset works. I've seen that on a Moto G 2nd gen, it had options like 'factory reset' or 'recover from SD card'.

First of all, this program, let's call program `A` that starts when you press the volume + power is running from firmware or kernel? Can it be erased?

I'd guess it's firmware, but it'll only accept a new system from an SD card if it's signed. So, the option a thief would use is the factory reset.

Supposing that I cannot block the program `A` from running and neither modifying it to supress the factory reset option, is it possible that I can make it factory reset to a custom OS, not the installed one? This custom OS could not work or have some monitoring programs.

# Answer
> 1 votes
Android recovery is part of `boot.img` located in `/boot` partition. Hold key press signal for bootloader and recovery mode are hardcoded in android bootloader (ABL). ABL listens to keypress signal and boots bootloader or recovery mode. In Qualcomm Snapdragon devices, if ABL is corrupted, then Qualcomm's Extended Bootloader (XBL) fallsback to EDL mode for flashing device partitions.

See the bootflow of device with Qualcomm's SoC:

In this image, it shows kernel boots recovery which is not the case anymore. In A/B slots, recovery is part of `boot.img` so it can be directly booted by ABL.

Android has weak implemented physical security. Someone with physical access can access bootloader and recovery mode by hard restart of the device and pressing key combinations. Hard restart is hardwired to the SoC. By pressing power button for 15 seconds, SoC reboots and this feature is independent of the OS but reboot policy like hold press delay timer is hardcoded in firmware of SoC.

If factory reset protection (FRP) has no unpatched vulnerabilities, it will prevent reuse of stolen device after factory reset without authenticating your account. But OEMs implement it poorly and its bypassing methods become quickly available.

A good security design is when an unauthorised person shouldn't even have authorisation to factory reset the device. Android 8+ devices are fully capable of authentication for bootloader mode and recovery mode. Modern android devices are equipped with TEE which wakes on boot and in Qualcomm devices, it is awaken by XBL. TEE can perform biometric authentication or can use PIN authentication of screen lock even if the host OS is not loaded yet. Why AOSP and OEMs are not enforcing it doesn't have a justifying execuse.

Whether your bootloader is locked or unlocked, there's no anti-erasure protection. But atleast with bootloader locked, fully patched FRP can't be bypassed.

# Answer
> 0 votes
that's egg hen dilemma. you can't do modifications on locked bootloader. unlocked bootloader allows thief to do everything he like

Your data is protected of being stolen (by encryption, and encryption key is wiped on factory reset). Your device is protected against re-using by thief as long as FRP factory reset protection is enabled (and you have bonded google play account). It doesn't protect your data from erasing and factory reset is still possible, but thief requires your google password in order to use the phone again. unlocking bootloader will disable FRP

after factory reset, as long as FRP is activated, thief cannot finish initial setup, therefore can't enable OEM unlocking in developers options and has no availbility to unlock bootloader. however certain hacks are possible to by-pass FRP, but that doesn't concern your data security

the more interesting is overcome encryption - as long as your lock screen credentials are part of encryption, your data is secure. But if your device is running FDE encryption with default\_password, attack (on locked bootloader) is possible for devices where OEMs leaked programmers/tools for raw access

---
Tags: device-firmware
---


# Question
Title: Allowing mixed (insecure) content on Chrome for Android
Is it possible to enable insecure content explicitly for a site in Chrome?

It's possible in desktops by going into site settings and allowing "insecure content", but when I checked the same in Android, it only has one option called sound in site settings.

Use case: streaming m3u8 files and the browser keeps blocking them, I want to enable insecure content for phones as well.

# Answer
I am copy-pasting @beeshyams comment as it worked for me.

> Try pasting this in the search bar `chrome://flags/#unsafely-treat-insecure-origin-as-secure` and toggle settings followed by restarting its browser. If it doesn't help, type `chrome://flags` (don't get put off by the warning) and search for `secure` and experiment.
> 4 votes

---
Tags: chrome-for-android
---


# Question
Title: Call Automatically Disconnects When Calling
I have a **android tablet with android 5.1 lollipop** in which I have an **airtel number**.

When I call someone using my number (not WhatsApp just normal call), sometimes it shows "**Dialling**" and then automatically call ends in 1-2 seconds. Sometimes, it directly disconnects in 1-2 seconds.

Last thing I remember was that I was playing with some of the dial codes of Android. From then this problem started. Before that, I was able to make calls with the SIM which I have now & also with my old SIM

# Answer
> 1 votes
So this is weird, but I realised that I accidentally dialled `*31#` and the problem started. Now, I dialled `#31#` and I am able to call.

For information on USSD/MMI Codes see this wiki page

---
Tags: calls, 5.1-lollipop, dialer-codes
---


# Question
Title: "Failed to load kernel" after flashing LineageOS 17.1 on Moto G6
I purchased a new Motorola Moto G6 with the intention to try out using LineageOS instead of the stock rom.

Here's everything that used to appear in the About section of the Settings. Keep in mind I selected Portuguese so I'll be translating some labels:

> Software channel: retin
>
> Android version: 8.0.0
>
> Android security patch level: 2018-04-01
>
> Base band version: M450\_03.08.10.51R ALI\_INDIADSDS\_CUST
>
> Kernel version: 3.18.71-perf-ga4749e5
>
> hudsoncm@ilclbld32 #1
>
> Fri Mar 30 11:53:22 CDT 2018
>
> Version number: OPS27.82-45

This is my first time messing with phones like this. I am a Computer Engineer, though.

I started following the instructions here. I enabled developer options in the settings, enabled USB debugging and allowed OEM unlocking.

Then I unlocked the bootloader. I'm using ADB and Fastboot that came with Android Studio.

I ran `fastboot oem get_unlock_data`, got the code, inserted in on the Motorola website, got the email with the unlock key and unlocked it with `fastboot oem unlock UNIQUE_KEY`.

Then I installed TWRP 3.3.1-0. No problems there.

Then I had to search for the link to download LineageOS and GApps because it looked like the steps I was following were incomplete.

I downloaded LineageOS from here and GApps from here. For the latter, I chose ARM64, Android 10.0 and full. I transfered them to the internal storage using Android Studio Device File Explorer.

Then I followed the YouTube video from the first link. I had trouble wiping because of encryption, so it seems. I followed this to proceed. Using a pass or a pin didn't work. The next solution, Repair File System, was unavailable. I could only see Change File System. Then I formatted `/data` to EXT2 then back to EXT4 and it worked.

Then I tried to flash LineageOS. I got error 255. I looked here. Apparently, I should have used a 64 bit TWRP. I found one here and flashed it. Then I was able to flash both LineageOS and GApps. No error messages here.

Then I rebooted without installing the TWRP app. I got the following:

```
Start Up Failed:

Your device didn't start up successfully.
Use the Software Repair Assistant on computer
to repair your device.
Connect you device to your computer to get
the Software Repair Assistant.

AP Fastboot Flash Mode (Secure)
Error: failed to load kernel!
Fastboot Reason: Fall-through from normal boot mode
USB connected

```

I searched and didn't find much. I looked for the Software Repair Assistant but it seems it's only good to reinstall the stock ROM. I still want to install LineageOS, though.

I found some results about flashing `boot.img` and some other stuff, but I'm too afraid to hard brick my phone to follow any instructions that haven't been written specifically for my situation.

I still can access TWRP. I wiped and installed again to double check that there wasn't any error messages during flashing and then again to try installing the TWRP app, but the prompt for that didn't show up.

Please advise on what to do to complete installing LineageOS on my Moto G6.

Thanks in advance.

**Update 2020-12-15:** It seems that the tutorial I followed has been updated. Now there are no steps missing. I'll try again using the files provided there.

**Update 2020-12-16:** I'm currently trying to flash stock ROM in order to follow the latest instructions. I'm using Lenovo Rescue and Smart Assistant but it's been on `Wait for matching firmware, don't unplug your device` for quite a while now. In the meanwhile, I'm downloading a stock ROM that more closely matches my device. I found out about the command `fastboot getvar all` so I'll post the output here:

```
(bootloader) version: 0.5
(bootloader) version-bootloader: moto-sdm450-C3.09
(bootloader) product: ali
(bootloader) board: ali
(bootloader) secure: yes
(bootloader) hwrev: PVT2
(bootloader) radio: 5
(bootloader) storage-type: emmc
(bootloader) emmc: 32GB SAMSUNG GD6BMB RV=08 PV=01 FV=0000000000000001
(bootloader) ram: 3GB SAMSUNG LP3 DIE=8Gb M5=01 M6=06 M7=00 M8=5F
(bootloader) cpu: SDM450
(bootloader) cid: 0x0032
(bootloader) channelid: 0xc0
(bootloader) securestate: flashing_unlocked
(bootloader) iswarrantyvoid: yes
(bootloader) max-download-size: 534773760
(bootloader) reason: Fall-through from charger boot mode
(bootloader) imei: [REDACTED]
(bootloader) meid:
(bootloader) date: 08-11-2018
(bootloader) sku: XT1925-13
(bootloader) carrier_sku: XT1925-13
(bootloader) battid: SB18C18509
(bootloader) iccid:
(bootloader) cust_md5:
(bootloader) max-sparse-size: 268435456
(bootloader) current-time: "Tue May  9  7: 0:46 UTC 1972"
(bootloader) ro.build.fingerprint[0]: motorola/ali/ali:8.0.0/OPS27.82-45
(bootloader) ro.build.fingerprint[1]: /56:user/release-keys
(bootloader) poweroffalarm: 0
(bootloader) ro.build.version.full[0]: Blur_Version.27.81.56.ali.retail.
(bootloader) ro.build.version.full[1]: en.US
(bootloader) ro.build.version.qcom: LA.UM.6.6.r1-04400-89xx.0
(bootloader) version-baseband: M450_03.08.10.51R ALI_INDIADSDS_CUST
(bootloader) kernel.version[0]: Linux version 3.18.71-perf-ga4749e5 (hud
(bootloader) kernel.version[1]: soncm@ilclbld32) (gcc version 4.9.x 2015
(bootloader) kernel.version[2]: 0123 (prerelease) (GCC) ) #1 SMP PREEMPT
(bootloader) kernel.version[3]:  Fri Mar 30 11:53:22 CDT 2018
(bootloader) sbl1.git: git=MBM-NG-VC3.09-0-g4650d8f
(bootloader) rpm.git: git=MBM-NG-VC3.04-0-g02798db
(bootloader) tz.git: git=827710b-dirty
(bootloader) devcfg.git: git=827710b-dirty
(bootloader) keymaster.git: git=827710b
(bootloader) cmnlib.git: git=827710b
(bootloader) cmnlib64.git: git=827710b
(bootloader) prov.git: git=827710b-dirty
(bootloader) aboot.git: git=MBM-NG-VC3.09-0-g225f207
(bootloader) frp-state: no protection (0)
(bootloader) ro.carrier: retin
(bootloader) current-slot:
(bootloader) slot-suffixes: _a
(bootloader) slot-count: 1
(bootloader) slot-successful:_a: INVALID
(bootloader) slot-successful:_b: INVALID
(bootloader) slot-bootable:_a: INVALID
(bootloader) slot-bootable:_b: INVALID
(bootloader) slot-retry-count:_a: unknown
(bootloader) slot-retry-count:_b: unknown
all: listed above
Finished. Total time: 0.082s

```

I thought I had 1925-3 but it's a XT1925-13... Explains why I received a charger with India standard pins in Brazil... At least it came with an adapter.

Later today, the Lenovo tool worked (I closed it, opened it again and followed the instructions to the letter).

I got the screenshot from Magisk Manager as requested.

# Answer
> 1 votes
* install stock ROM + firmware (do not accidentially re-lock bootloader)
* make sure device is working fine before trying to install custom ROM
* boot custom recovery from fastboot

```
fastboot boot mali.img

```
* format userdata partition from TWRP menu
* reboot bootloader
* boot custom recovery from fastboot (again)
* backup boot, recovery, system, vendor (just in case)
* copy backup to PC

```
adb pull /sdcard/TWRP

```
* wipe system, vendor
* install LineageOS flashable zip
* reboot and wait for LineageOS is booted successfully

---

After this, try to install GApps

* reboot bootloader
* boot custom recovery from fastboot (again)
* install OpenGApps flashable zip
* format userdata partition from TWRP menu
* reboot and wait for LineageOS is booted successfully

---

If all wents well, done.

If device goes into boot-loop it must be related to GApps. start again by wiping system, vendor and install LineageOS again. In Magisk Manager check the SAR (system-as-root) section.

Only if your device is SAR (system-as-root) that workaround may help

* bind mount /system\_root/system

```
adb shell
mount -w /system
mkdir /system_root
mount -o bind /system /system_root
umount /system
mount -o bind /system_root/system /system

```
* install GApps flashable zip

---

If still not working flash another stock ROM+firmware (Android 8.1.0 or Android 9.0) and try again.

Also try other custom ROMs. I recommend to only flash official custom ROMs with Status: Stable (for example RevengeOS or Resurrection Remix)

---
Tags: rom-flashing, twrp, unbricking, lineageos, gapps
---


# Question
Title: Why can't I link contacts? (Moto G Stylus)
I just started to use a Moto G Stylus. I copied my contacts over, and several contacts are linked (like Gmail, Signal, WhatsApp, Exchange, etc.). This is how I had it on my previous phone and is as it should be.

However, I can't create new links -- neither completely new links, nor adding contacts to already linked contacts. The only things I can do is display the links of already linked contacts and unlink them.

Does anybody know what I could do to be able to link contacts? Is this a limitation of this specific dialer?

The odd thing is that the Verizon help for this phone mentions the "Link" feature (https://www.verizon.com/support/knowledge-base-230168/), but the Motorola help page for the Contact app doesn't (https://support.motorola.com/us/en/solution/MS149789). I got my phone through Google Fi, FWIW.

(Note that I'm not talking about merging contacts. Merging only works within a given account; linking contacts is provided specifically to be able to link contacts from different accounts into a single entry in the contact list.)

# Answer
In the meantime, I have found out that the dialer of this phone really can't link contacts. What a bummer... I thought this was a basic functionality of all but the most basic phones. (Well, maybe it is, and this phone is just one of the most basic ones.)

In any case, be prepared to add a 3rd party dialer to the bill if you're thinking of buying this phone from anywhere but Verizon.

From Motorola:

> The :Link" feature that you've mentioned is only available for Verizon specific phones, so a Moto G Stylus that is purchased from Verizon would work with that feature.
> 2 votes

---
Tags: contacts
---


# Question
Title: What is the difference between fastboot oem unlock and fastboot oem unlock-go?
I'm having issues unlocking my Nexus 7 2013 WiFi's bootloader, and it was suggested that I try `fastboot oem unlock-go` instead of `fastboot oem unlock`. Both seem to act the same on my device, however both also fail on my device so it is possible that the difference appears after the failure on my end comes.

Regardless, I would like to know: What is the difference between these two commands? I'm not managing to find documentation.

# Answer
Most device will prompt an Yes/No UI, and the user can press Volume Up/Down to choose an option, and press power to comfirm.

"fastboot oem unlock-go" will skip the prompt. But no all device support this command.
> 4 votes

---
Tags: fastboot, command-line, bootloader-lock
---


# Question
Title: Let's Encrypt: Is there a workaround for the 2021 SSL "cutoff" for pre-7.1.1 Android devices?
In January 2021 all devices with Android prior to 7.1.1 will not be able to connect to HTTPS servers using Let's Encrypt certificate (Let's Encrypt blog post explaining the details)

Is there any workaround that's system-wide (i.e. all apps, not just a single app, like using Firefox) for the SSL certificate expiration on Jan 11th 2021? Assume that one has root access to their device, and that upgrading to a newer device is not an option.

# Answer
# Update 2023-07-11

By the current schedule, Let's Encrypt cross signing will end on September the 30th 2024. After this date Android 7.1 stock devices will become more or less useless for Internet surfing as all Let's encrypt based certificates will be considered untrusted and the connection will not be established.

# Update 2020-12-21

Let's Encrypt has delayed the new root CA certificate for 3 years:

> We’re happy to announce that we have developed a way for older Android devices to retain their ability to visit sites that use Let’s Encrypt certificates after our cross-signed intermediates expire. We are no longer planning any changes in January that may cause compatibility issues for Let’s Encrypt subscribers.
>
> A recurring theme in our posts about our upcoming chain switch has been our concern over the effects on users of Android operating systems prior to 7.1.1, whose devices don’t trust our ISRG Root X1. Thanks to some innovative thinking from our community and our wonderful partners at IdenTrust, we now have a solution that allows us to maintain wide compatibility. Critical to our mission as a nonprofit is to help create a more secure and privacy-respecting Web for as many people as possible. This work brings us closer to that goal.
>
> IdenTrust has agreed to issue a 3-year cross-sign for our ISRG Root X1 from their DST Root CA X3. The new cross-sign will be somewhat novel because it extends beyond the expiration of DST Root CA X3. This solution works because Android intentionally does not enforce the expiration dates of certificates used as trust anchors. ISRG and IdenTrust reached out to our auditors and root programs to review this plan and ensure there weren’t any compliance concerns.
>
> As such, we will be able to provide subscribers with a chain which contains both ISRG Root X1 and DST Root CA X3, ensuring uninterrupted service to all users and avoiding the potential breakage we have been concerned about.
>
> We will not be performing our previously-planned chain switch on January 11th, 2021. Instead, we will be switching to provide this new chain by default in late January or early February. The transition should have no impact on Let’s Encrypt subscribers, much like our switch to our R3 intermediate earlier this month.

Extending Android Device Compatibility for Let's Encrypt Certificates

# Installing new Let's Encrypt root CA certificates

If your device is running Android 5 and before or is rooted you can install the missing root CA certificates yourself. As far as I know the following two certificates have to be added:

On Android 5 and before you can simply install them as "user certificate". Note that this automatically forces you to use a lock screen with pattern/PIN or password lock.

## Older rooted devices

On older Android devices that are rooted you can add the new Let's encrypt root CA certificates to the system certificate store `/system/etc/security/cacerts.bks`.

To do so download this file to a computer and use KeyStore Explorer to add the Let's encrypt root CA certificate files and save it. Then write back the `cacerts.bks` to your Android device.

## Newer rooted devices

On newer, rooted devices the easiest way is if the device is rooted via Magisk, then you can install the two certificates as user certificates and then move them to the `system` store using the Magisk Module Move Certificates.

If Magisk and the mentioned module is not available you can still install the certificates as user certificates and move them manually to the system store.

The installation process is very similar as shown in the installation tutorial for the mitmproxy root-ca certificate.

The followings section shows the certificate hash values for the Let's encrypt certificates:

```
openssl x509 -inform PEM -subject_hash_old -in isrgrootx1.pem | head -1
6187b673

openssl x509 -inform PEM -subject_hash_old -in isrg-root-x2.pem | head -1
8794b4e3

```

Also make sure that the copied certificate file has the correct permissions:

```
chmod 644 /system/etc/security/cacerts/6187b673.0
chmod 644 /system/etc/security/cacerts/8794b4e3.0

```

Once you have installed the certificates you should be able to browse (without a security warning) to the following location: https://valid-isrgrootx1.letsencrypt.org/
> 7 votes

---
Tags: 6.0-marshmallow, 7.0-nougat, certificates, https
---


title: Can't delete contacts from SIM card

text:
# Question
Title: Can't delete contacts from SIM card
So in an attempt to undo all the \[wrong word here\] apps do in mixing contacts somehow, I ended up deleting all contacts from the entire phone including the SIM card, to then try to put them back either one by one or from a backup.

Though, I can't delete all contacts from the SIM card! Why is that??? Would anyone know? I could delete around 100 contacts, but I can't delete duplications of the contacts. I started blaming Whatsapp, Google account and another one which is MBWAY which is from a bank. They have contacts of their own or something. So I deleted all the accounts and uninstalled Whatsapp and MBWAY, tried again and no success... Now I installed an app called SIM Card Manager which I got from 4PDA, so I'm trusting it's an app that does the things right. And when I go on it to delete the contacts, it says "Cannot delete contact". Another app I got from Play Store allowed me to "delete", but when I restarted the app, it would show all the contacts I "deleted", so it didn't delete at all. The app from 4PDA at least says it can't. But if it can't and it actually knows it can't delete, I'm wondering VERY MUCH why...

Would anyone know why this happens and how I can delete the contacts?? Or I'll get an old phone which never got me any problems and delete the stuff from there... (if the phone will let me, since I can't here). I'm thinking those apps have to do with this. This never happened to me before. First time in my life I see I can't delete contacts. And I'm supposing it's from Whatsapp because one each contact that the person had Whatsapp, I had 2 duplicates of the original one on the SIM card. And I never asked Whatsapp to even try to do that, but why not......

Thanks in advance for any help on this...

# Answer
I should have waited a bit more. But maybe this helps someone else with the problem. I had just had to restart, load the app, see it still detected no contacts, leave the app, go on another app, wait a bit, and get back to Contacts app. Then it showed the problematic contacts. And I was able to delete them, only from the Contacts app.

And I think the problem is really from the apps that put duplicates --\> Whatsapp, MBWAY, Google account, any other account on the system that synchronizes contacts. It creates duplicates and the phone got everything mixed up. Not sure if it's my fault or those apps' fault in mixing the contacts. I just wanted only the SIM contacts on the entire phone... But no.... The apps have to put the contacts of their own there. Cool. Thanks a lot. Amazing... But at least it's fixed. I deleted all the contacts and put them back one by one. Now I'll install the apps back and put my account and see what happens...
> 1 votes

---
Tags: contacts, sim-card
---


# Question
Title: How to convert a number to words in MS Excel Android app?
Excel Macros are unsupported in Android and there is also no **SpellNum Function** in Android . I want a function which can convert a number to words. Is there any way we can achieve this ?

eg - 40004 , should be converted to Forty Thousand Four

# Answer
> -1 votes
The simplest approach is to use a `VLOOKUP()` table

put the number in **A1** and in **B1** enter:

```
=VLOOKUP(A1,C:D,2,FALSE)

```

---
Tags: microsoft-excel
---


# Question
Title: Accessing a phone after factory resetting it with adb
I have a smartphone running Android 6.0.1. The screen is broken and unresponsive so I control the phone using adb and scrcpy, but to run adb I had to turn on "USB debugging" from "Developer options". I want to know that whether after factory resetting(using adb) will I still be able to access the phone with adb? Since the "USB debugging" option would get turned off after a factory reset, would I still be able to access the phone using adb?

# Answer
You won't have USB debugguing after a factory reset. Perhaps you could tweak a custom rom to do so, i never tryed myself, but ie TWRP recovery have adb enabled by default.
> 1 votes

---
Tags: adb, 6.0-marshmallow, factory-reset
---


# Question
Title: adb shell input text with space not working
```
adb shell input text 'Hindustan%sTrading%sCompany'

```

Gives `Company` in Gboard

```
adb shell input text 'Hindustan%s'

```

Just gives a space

`adb shell input text '%sHindustan'` is working fine.

so word before `%s` is missing

```
Android Debug Bridge version 1.0.40
Version 28.0.2-5303910

```

# Answer
Seems fixed

```
λ adb --version
Android Debug Bridge version 1.0.41
Version 30.0.4-6686687

```

The following works as expected

```
adb shell input text 'Hindustan%sTrading%sCompany'

```
> 2 votes

# Answer
Try separating the *input* lines like this:

```
adb shell input text 'Hindustan'
adb shell input text '%s'
adb shell input text 'Trading'
adb shell input text '%s'
adb shell input text 'Company'

```
> 1 votes

---
Tags: adb, gboard
---


title: Android execute script at logout

text:
# Question
Title: Android execute script at logout
I would like to execute a script at logout with my GS7 android 9 (Resurrection Remix). I see that it is advised to use tasker. I guess it is possible to do that without installing a graphical application. I connect to the smartphone through adb and have a shell. Where can I write a file in the file system with bash or python commands that will be executed at logout ? Also, how should I manage the bash or python environment in order to have it working ? Thanks for your time.

# Answer
> 4 votes
On a rooted device you can make use of `init`'s `on shutdown` trigger:

```
# /etc/init/custom.rc

on shutdown
    exec - -- /path/to/executable

```

For more details on how to run an executable from `init`'s `.rc` file, and what factors need to be taken care of, see my answer to How to run an executable on boot and keep it running?

---
Tags: shell, bash, python
---


# Question
Title: How can I enable Android Debugging from a root shell on the phone?
I have a root shell on the phone.

However, no adb service seems running, i.e. the port 5555 is on the device not open1:

```
$ telnet 1.2.3.4 5555
Trying 1.2.3.4...
telnet: Unable to connect to remote host: Connection refused

```

I.e. something what should listen on adb connections, does not run on my Android.

Can I somehow start it from a root shell (on the Android)?

I have Android 10.

1Telnet only serves here port testing purpose, obviously `adbd` will be connected by `adb`.

# Answer
> 6 votes
Run:

```
settings put global adb_enabled 1

```

You can also start `adbd` service by executing `start adbd` or `setprop ctl.start adbd`. But I prefer the `settings` way because it properly goes through Android framework.

**PS:**

For clarification, `adbd` listens on port `5555` only if ***ADB over Network*** is enabled (from Developer Options, or by running `setprop service.adb.tcp.port 5555` on device, or by running `adb tcpip 5555` on PC). In USB mode (which can be switched to by running `adb usb` on PC) `adbd` is not listening on any network port. Some more related details in this answer.

---
Tags: adb, root-access, usb-debugging
---


# Question
Title: Send a notification (or just vibrate) to phone via ADB/shell
I would like to be able to send some kind of notification to my android using a remote shell script (SimpleSSHD running as root, so basically the same as an adb shell).

On an iOS device I can use the commands `cvibrate` to make the device vibrate and `sbalert` to display a notification via SSH. I would like to do the same, but on android.

It would be great if it could be an actual notification like any other app would invoke, but a way to just vibrate it would suffice aswell if both isn't possible on android.

This seems like a very simple task, but I've not been able to find a solution...

# Answer
Use cmd notification:

```
cmd notification post [flags] <tag> <text>

```

If you are root notification will not be displayed:

```
su -lp 2000 -c "cmd notification post -S bigtext -t 'Title' 'Tag' 'Multiline text'"

```
> 9 votes

# Answer
You can setup a Task in Tasker which you can invoke from command-line. The task can be setup with actions of your liking in combination, such as show a notification and vibrate with XYZ pattern. When setting up a task in Tasker, setup the action like this: Alert → Notify

Fill up the fields as you like. Make sure to enable *Allow External Access* setting under Preferences → Misc, accessible from three-dots line on the right edge of top bar in Tasker's homescreen.

As for invoking the task from command line, run:

```
su -c am broadcast -a net.dinglisch.android.taskerm.ACTION_TASK --es "task_name" "YOUR_TASK"

```

Replace YOUR\_TASK with your task's name.

Tip: you can setup Tasker to show text of your liking in your notification by a bit more tricks. Setup a task to watch for a file for changes and assign an action to change the value of a tasker variable to the contents of that file. In your aforesaid vibration/notification task, when filling up the field for "text", assign that local variable instead. So next time, when invoking the task, change the contents of the file for a custom text notification before sending that command.

Tip2: it is also possible that send variable directly to a task using command-line, but I don't have much experience with it so you've got to ask uncle web.
> 6 votes

---
Tags: adb, notifications, shell, ssh, vibration
---


title: Huawei Mediapad T1 7.0 not Turning On

text:
# Question
Title: Huawei Mediapad T1 7.0 not Turning On
I have a problem on my Huawei Mediapad T1 7.0.

It's not turning on. I tried "hard reset" and nothing happens. I also tried poking the reset button below, still nothing. I plugged it on charger but it's stuck with the welcome screen. Can anyone tell me how to fix this?

# Answer
Reinstall the firmware, and boot up with your PC. The firmware you can get on Huawei websites.
> 0 votes

---
Tags: tablet, huawei, power-on
---


# Question
Title: Google's Messages app says text message sent by SMS
Pixel 4a, Android 11

As in the title, why does Google's Messages app says sent by *SMS*? (Text messages are sent by SMS anyway, why emphasize?).

See below *OK* in the screenshot.

---

This is a self answered question, to share a new feature. Also, to answer questions that may be asked about this in the future (mark them duplicates).

# Answer
> 2 votes
Today morning, I got a prompt asking me if I wanted to enable chat features on messages app. I did that and saw the info on the SMS sent yesterday. Dug, to know more, and here's the summary from the Google FAQ on chat features :

* You need the messages app as default SMS app.
* Chat features are support is region/country/carrier specific.
* > When using chat features, your messages are sent using the Rich Communication Services (RCS) protocol over **Wi-Fi** and **mobile data**.
* > + Show you when someone is typing
>     + Offer read receipts (show when someone has read or received your message, as well as showing your contact when you read their message)
>     + Send messages over mobile data and Wi-Fi
>     + Lets you share files and high-resolution photos
* Sending over Wi-Fi doesn't cost, over mobile data will be as per mobile data plan.

To answer the question, recipient doesn't have this feature enabled on their app and therefore SMS was not sent over Wi-Fi or mobile data and sent as normal SMS. It is only highlighting this aspect. Similarly, if you were to send MMS content in the same situation (feature not enabled, data not used), it would show as

If chat feature is enabled and sent by data, it would show mobile or Wi-Fi as the case may be.

---
Tags: sms, google-messages, rich-communication-services
---


title: upgrading to android 10 on RedMi Note 5

text:
# Question
Title: upgrading to android 10 on RedMi Note 5
I have made system update on my Redmi Note 5. Before system update it has Android version 7.2. Now after I do system update it is showing MIUI version 11.0.5.0 and Android Version 9PKQ1.180904.001. I do not understand what is this android version indicates, is it android version 7 or 8 or 9 or 10? I did not understand. Now I want to update my android version on RedMi Note 5 to Android 10, is it possible?

# Answer
> 3 votes
It's Android 9

> The Redmi Note 5 was launched back in 2017, running Snapdragon 625 with MIUI 9.5 based Android 8.1 Oreo. It has since picked the Android 9 Pie. However, in the last couple of months, the device has not received any form of support, and amid the arrival of MIUI 12 update on the device, Xiaomi has now released a new global stable update for the Redmi Note 5.

> The update is based on MIUI 11. It brings the August security patch to the device in a 523MB size package, and with a version number, **MIUI 11.0.5.0 PEIMIXM**

It was launched with Oreo according to this blog, not Android 7

From what I read, your device does not have stock upgrade to Android 10. You can look for custom ROMs on XDA.

---
Tags: applications, miui, redmi
---


# Question
Title: Disable all in-app browsing while keeping Chrome as default browser
In previous versions of Android, in-app browsing was facilitated using WebView (1). Disabling in-app browsing system-wide could be achieved by uninstalling the WebView app (2).

Recently, an in-app version of Chrome, called Custom Tabs, took over the WebView app (3,4). This meant the previous trick no longer worked.

How to disable in-app browsing has already been discussed previously (5). However, the answers included uninstalling Chrome and, thereby, uninstalling Custom Tabs.

Is there a way to keep Chrome as the default browser, while also disabling in-app browsing? Clicking on links in certain apps would, then, result in the full Chrome app opening and rendering the webpage.

# Answer
You need to know this before disabling all in-app browsing,

In-app browsing is a required component by built-in requirements in order for web functions to render properly, as described by Google:

Android WebView is a system component powered by Chrome that allows Android apps to display web content. This component is pre-installed on your device and should be kept up to date to ensure you have the latest security updates and other bug fixes.

So there may be a chance that if you disabled in-app browsing and the Android System WebView, while Chrome as the default web browser, some web components may start failing to function properly.
> 2 votes

# Answer
Considering you click the 3 dot, then "open in chrome" and it has the exact scroll position you were at... Yeh I think it's using chrome 1:1 with a modified ui

From the Google app, click more, general, open in app
> 0 votes

---
Tags: browser, chrome-for-android, webview
---


# Question
Title: Should a new microSD card appear to have folders in Android?
We have a new Moto G8 Power and a new Samsung microSD card. I put the card in and turned the new phone on. When I looked in the file browser app it shows Samsung SD Card and that there’s 13 MB used, and then it lists “FILES ON SAMSUNG SD CARD” including folders of .android\_secure, Android, Download, Music, Pictures, Ringtones, Alarms, DCIM, Movies, Notifications, and Podcasts.

The folders appear to be empty. Is this normal? I don’t have much experience with Android phones (I’ve been in the Apple ecosystem pretty much exclusively); Is this expected behavior, or should I reformat the microSD card?

# Answer
The list you have provided is that of standard directories (see official documentation and source code). Android OS creates these directories in external storage filesystems (including SD cards) when they are first mounted (see source). As of Android 10 it includes 9 directories: **Alarms**, **DCIM**, **Download**, **Movies**, **Music**, **Notifications**, **Pictures**, **Podcasts** and **Ringtones**.

Android's *MediaScanner* service puts the files in these directories in special categories as the names suggest. See some more details in the related question suggested by @Izzy in comment: List of special Android SD card folders?

`Android` and `.android_secure` are exceptions though. `Android` directory contains apps' private directories in external shared storage (see details in this answer). `.android_secure` is used by Android to move apps from internal to external storage (see details in this answer).

So all of these folders are created by Android OS on first usage.
> 2 votes

---
Tags: sd-card, storage, reformat
---


# Question
Title: Where is clone Apps data stored in Realme 2 Pro (Color OS 5.2)?
Generally, WhatsApp data and media are found in the WhatsApp folder created in the file manager.

When we enable Clone Apps for WhatsApp in Realme 2 Pro (Color OS 5.2), where are cloned WhatsApp data and media stored and where can I find cloned WhatsApp data and media in file manager?

# Answer
Open File Manager → Choose Phone Storage → defaults folders will be visible, select Search icon/text area and type `999` and click enter, you will be redirected to `999` folder with following pre-defined folders:

1. Android
2. DCIM
3. WhatsApp

Click on WhatsApp → Media, and find your relevant files like images, profile photos, videos, animated gifs, documents, etc.
> 2 votes

# Answer
1. Install FX File Explorer on playstore app
2. Go to Setting and allow hidden files
3. Go to internal storage
4. There is a small letter written "storage/emulated/0/", click on this and replace 999 to 0
5. Tap OK
> 1 votes

# Answer
First, install any other file manager such as Xiaomi's file manager and then search 999, you will find the data and media of cloned WhatsApp.
> 0 votes

# Answer
**Eureka!** Found a way and it can work wirelessly. **Follow my tutorial, Just discovered it and currently backing up my WhatsApp folder.**

So, First → Get the Filezilla client version.

and MiXplorer Silver - File Manager . Paid Version. But you know what to do with the paid version , Won’t link the links. But go for it,

and obviously know the file path of the DUAL APPS folder in my case it’s `/storage/emulated/999/WhatsApp/……….`

**Now,** open Mixplorer and then to the right top corner click on the options and then click on Servers.

**Next,** click the edit button and set the path to the location of your Dual app `/storage/emulated/999`.

Now, **click start server**.

Next, Create Hotspot → Connect your Laptop/Desktop (using a dongle or inbuilt Wi-Fi) to the network then, Open Filezilla → You’ll need the location of your FTP server. As in our case, the server we created using MiXplorer,

**Note##** You’ll find the **FTP** address in the Notification menu of your phone by **MiXplorer**, Now in Filezilla Hostname will be the IP address mine was `192.168.XX.X`

and **port** (If you’ve created your port in MiXplorer) else leave it blank and Boom Now, you’re provided with the Storage screen and Just copy whatever you want from There.

And obviously, it’s efficient for any kind of file transfer using FTP i.e. Wirelessly.
> 0 votes

---
Tags: whatsapp-messenger, oppo-coloros, parallel-apps
---


# Question
Title: Is it reliable to save some app files in /storage/emulated/0/?
I already read that `/sdcard/` is a symlink to the actual path of `/storage/emulated/0/`.

I'm an Android app developer using Apache Cordova, wherein `cordova.file.externalRootDirectory` is indeed `file:///storage/emulated/0/`.

Is it always fully reliable to save some app internal files at `/storage/emulated/0/path/to/app`, considering that the user might not have an external physical memory card on their phone?

# Answer
> 4 votes
> Is it always fully reliable to save some app internal files at `/storage/emulated/0/path/to/app`?

No. External shared storage isn't reliable, as documented under `getExternalFilesDir()` and other related documentation, because of multiple possible reasons:

* User or any other app with full storage access can read, modify or delete the files.
* App's private directories in external storage get deleted when the app is uninstalled.
* User might be using physically external SD card as the only primary shared external storage. So the data is lost when the card is removed.

Better use internal storage (`getFilesDir()` and sisters) for data security and reliability. For more details:

---
Tags: external-sd, file-system, storage
---


# Question
Title: How can I see which (system) apps are installed with which account?
I have three different Google accounts on my phone, with one the default one. I want all apps to be installed on that account. I've just noticed that one app was installed with an account that is not under my control. Strangely enough this is a system app.

How can I see which apps are installed with which account?

# Answer
System apps come with OS before even adding accounts. They have nothing to do with which account you use.

Google accounts matter only for user installed apps either if it is a paid app or if auto backup is enabled for that app and you backup your apps.

Only exception I can think of is that your device is rooted and you installed an app that can be made into a system app, and you are now assuming that this system app is associated with Google account.
> 2 votes

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


title: USB Tethering only SOMETIMES working

text:
# Question
Title: USB Tethering only SOMETIMES working
Hello unlike all the problems here which is related to their USB Tethering in android being grayed out or not working at all when connected, mine is an odd case

I use usb tethering with my android Xiaomi Mi9 since my PC doesn't have LAN and the wifi dongle reads my wifi as "Hidden Network" and inputting SSID still doesn't work

I can toggle on and off USB Tethering but the tethering doesn't work all the time. There are times where I tether and it gives my PC internet. There are also times where nothing happens even though my tethering is turned on and i have to turn it on and off multiple times until it does.

Now It's even worse because i have to on-off it multiple times like 5-10 times already.

I didn't use USB debugging and I don't have any VPN applications I tried using a different wire and it's still the same.

Can anyone give me insight on what the problem might be?

# Answer
> 0 votes
Need to narrow it down a bit, potentially three items assuming that your phone network operator is not at fault

Phone itself

Data cable

The PC

Can you if possible try your phone and cable on a different PC.

Do you have any data transfer issues with the phone on the PC ? such as backups etc, worth trying another cable if possible.

Daft one but try the cable in a different USB port too.

Finally if you are able to try a different phone on your PC to test if tethering works.

It may not matter but others could need to know what OS your PC is running.

---
Tags: xiaomi, tethering
---


title: Change "add to home screen" image

text:
# Question
Title: Change "add to home screen" image
Is there an easy way to change the add to home screen image on Android devices?

I know how to change the HTML manually but for example I would like to change it for the YouTube web app for example.

# Answer
> 1 votes
Nova Launcher let's you edit the image (by long-press on the shortcut icon) and change it with other app icons or icons provided by icon packs.

Example below shows the original shortcut icon of this question on left, followed by app icon (in middle) and using icon pack on the right.

---
Tags: youtube, home-screen-shortcuts, home-button
---


# Question
Title: How can you remove notification of new Messages chat features
A few updates ago on my Samsung Galaxy S10 added new "chat features from Google" and a notification of this new feature was flagged with the standard "N" icon:

Clicking the N icon brings up the Messages Settings

and clicking on "Chat settings" comes up with

I click on **use without chat features** and annoyingly the new feature notification N icon stays there.

I now know about the potential new features I don't want so the N icon should be gone.

How do I get that removed without accepting the new chat features?

# Answer
You can downgrade the application
Download any earlier version of the app from here. Don't download any beta version.. use stable ones.
> 0 votes

---
Tags: updates, notification-icons
---