# Question
Title: Can broken screen and USB cable in data transfer mode influence each other?
This sounds so weird that I can't believe I am asking about this.

I have two exactly the same Redmi 11S (same in terms of purchase date and software installed). One of them has fallen a couple of times and has about 25% of the screen broken, though still fully usable. The second one has screen intact.

Each time I connect an USB-C cable in data transfer mode, the phone with broken screen gets wako:

1. I cannot start photo app from the lock screen, I cannot draw an unlock patters, I cannot even unlock it, screen is totally unresponsive.
2. When I unlock the screen *before* attaching an USB-C cable and only *then* I attach it, then screen gets wako; "something" is randomly changing launcher pages and touching icons, the phone lives on it's own.

When I connect the very same cable in charge mode (i.e. attach it to the wall socket charger instead to the PC) or connect the second Redmi 11S (using the same cable), the phone operates normally.

Tested on both Redmi 11S, on two different cables and three different USB ports on the same PC.

What am I missing. How can a broken screen and USB cable influence each other?

# Answer
*Note:* This answer is an educated guess based on my understanding from Guide to USB-C Pinout and Features and anyone with a better understanding is welcome to improve

---

From a historical perspective USB standards evolution is as depicted

Since USB Type-C is the de-facto standard, the answer is based on this standard. Figure below shows the configuration of USB-C receptacle (plug is similar with minor changes)

* OP says that both devices charge fine with a wall socket charger. VBUS(A9) and GND(A12) are responsible for this charging so it's working fine.

Without getting into technical details, what is of relevance here is **Alternate Modes**

This mode of operation allows us to implement third-party protocols, such as **DisplayPort and HDMI**, using the USB Type-C standard. All Alternate Modes must at least support a USB 2.0 and USB Power Delivery connection

DisplayPort & HDMI are highlighted because the problems faced by OP are around this. especially with the broken screen. If we analyze this further:

* The document linked talks more in detail about Alternate Modes. They can be unidirectional (One side deciding the source or host) or bi-directional. But when side is connected to PC, PCs always run in host mode.
* With the PC in host mode and undamaged device connected , it works fine (implied in the question)
* With the PC in host mode and damaged screen device connected the behavior is wonky and changing cables, ports doesn't make a difference.
* **Conclusion:** The broken screen HDMI(maybe digitizer damaged too) is the culprit and needs to be repaired for it work normally. Unable to open lock screen or if the lock screen is open but exhibiting unpredictable behavior are at best symptoms of the underlying root cause.
> 2 votes

---
Tags: lock-screens, charging, broken-screen, redmi, usb-c
---


# Question
Title: Leaving USB drive plugged in to android causes battery drain even when sleep
If I accidentally leave a USB drive in my samsung galaxy S7+ it will drain the battery in a few hours even if it's not being used and the android goes "sleep".

Why is this and and how to prevent it? E.g., I don't need to use the USB port when I'm not using the tablet 99.9% of the time.

Also, the USB port seems to use a lot of battery in general even if I'm just playing a video off it or reading a pdf.

# Answer
As far as I know, there is no built-in option for that.

However, you could try the 7-day trial of **Tasker**, which automates any possible task you can think of as long as there is an internal API for it. In this case it would be turning off USB OTG while the screen is off.

Remember that your phone's battery is suited for devices with a very **small power drain only**, you may be able to connect an USB espresso machine with the OTG adapter but that doesn't mean it's a good idea at all.
> 0 votes

---
Tags: usb, battery, sleep
---


# Question
Title: Why is my Tecno pop2 is unable to install YouTube?
I am trying to install YouTube. It directs me to Google Play store afterwards it shows app failed to install what can I do to install it?

# Answer
Can you install other apps or this happens with any Store app?

If no apps install and you are 100% sure there is enough free space, you may have any of the endless **Google Play Store+Play Services** errors. Clearing app data for both and restarting the device usually fixes that. If not, stop and uninstall updates for both apps, restart the phone, leave it around 10 minutes idle to allow Play Services to update itself and the store app, then retry the installation.

Soon someone will appear suggesting to *manually downloading or updating Play Services or Play Store*; you are better off **ignoring** such idea. I've been using Android since 2.3 and I've had all kind of phones with all the Play Store problems you can possibly think of, manually updating services is a bad idea as long as the OS was not modified or messed up with in any way.
> 0 votes

---
Tags: google-play-store, youtube
---


# Question
Title: How can I make sure my phone info is correct?
When I check my S23 Ultra phone settings it says it's a 512G Memory and 12G RAM, but when I check it on imei.info website it shows 256G storage and 8G RAM! As I bought it as a renew from Amazon and came without the original box, Which info is correct? Should I return the phone?

I also would like to know if the phone is US version but don't know how can I do that if I don't have the original box?

# Answer
To check

* Goto Settings
* Battery and device care
* Look at Memory and Storage

It may be that imei shows the default build.
> 1 votes

# Answer
Most certainly you **shoud not** return the phone based only on the info shown in an unknown site such as that. A (mostly) trusted source of phone specs is GSM Arena, which says that your S23 comes with these Memory variants:

> 256GB 8GB RAM, 256GB 12GB RAM, 512GB 12GB RAM, 1TB 12GB RAM

According to the exact model number (shown somewhere in the Settings \> About Phone secreen) you can Google its specs in any more or less realiable website.
> 0 votes

---
Tags: samsung, imei
---


# Question
Title: How to stop Google from eating event texts
I am using Messages version 14.5.20.5. After the most recent automatic Android update (One UI 5.1), Google is eating texts that contain event links. An "add event" button briefly appears and then disappears. About 30% of the time, an event is added to my calendar but it doesn't contain any useful information (not even the link nor the name of the sender). So basically these texts are lost.

Presumably, Google was trying to implement a feature that would generate a useful calendar event from texts. I don't need such a feature. How can I turn it off? (Also how did I give Google the indication that I wanted this feature turned on in the first place?)

# Answer
This Samsung UI feature of creating events from SMS was discussed here last year.

Based on a quick look, it appears you can (and should) disable it from the Settings \> Advanced Features \> Smart suggestions screen.

For a moment, I assumed there was an SMS standard that includes events in a Calendar-useful format, but it seems to be a simple script sniffing your SMS contents and trying to guess if this is an event-related text.
> 2 votes

---
Tags: samsung, samsung-one-ui, samsung-messages
---


# Question
Title: Silence or disable Lenovo user experience spyware notifications without root
I am trying to disable "Lenovo User Experience" notification that pops up every ~4h. I linked some info below on the specific issue which is also probably illegal in the EU, but obviously the tech giants squish all the ants that speak up about it.

The apps with package names in question (not sure which one causes it):

* com.lenovo.tab\_p11 (most likely)
* com.lenovo.lfs (maybe) named authentication
* com.tblenovo.whatsnewclient
* com.lenovo.productivity.service

**What I have tried so far:**

The tablet system is made in such a way that forces the user to use Lenovo services, no matter how many times the message is declined it comes up again.

As the app is a system app I cannot use the interface disable button (grayed out), this is not unusual and I had lots of success with adb on non-root devices like this. However it does not work. (I do not want to `adb shell pm uninstall --user 0` as that cannot be reverted without reset in case something breaks)

```
adb shell pm disable --user 0 com.lenovo.tab_p11

Exception occurred while executing 'disable':
java.lang.SecurityException: Shell cannot change component state for com.lenovo.tab_p11/null to 2
    at com.android.server.pm.PackageManagerService.setEnabledSetting(PackageManagerService.java:21360)
    at com.android.server.pm.PackageManagerService.setApplicationEnabledSetting(PackageManagerService.java:21161)
    at com.android.server.pm.PackageManagerShellCommand.runSetEnabledSetting(PackageManagerShellCommand.java:2164)
    at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:233)
    at android.os.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:98)
    at android.os.ShellCommand.exec(ShellCommand.java:44)
    at com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:21982)
    at android.os.Binder.shellCommand(Binder.java:929)
    at android.os.Binder.onTransact(Binder.java:813)
    at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:4621)
    at com.android.server.pm.PackageManagerService.onTransact(PackageManagerService.java:4459)
    at android.os.Binder.execTransactInternal(Binder.java:1159)
    at android.os.Binder.execTransact(Binder.java:1123)

```

The notification settings are also blocked from the user for the spyware apps in question, so it is not even a matter of "shut up and take my data in the background".

I am sort of an android enthusiast when it comes to de-bloating android, fun adb automation and rooting, but in this case my hands are tied and my knowledge is not enough unfortunately.

**The exact answers I would be looking for are:** (tablet under warranty so no root!)

* Is there a way to force notifications off, I could not find an adb command for that.
* Other ways to try and disable the app

Here are some resources on the exact details of the issue: https://forums.lenovo.com/t5/Lenovo-Android-based-Tablets-and-Phablets/Lenovo-User-Experience-Program/m-p/5120621?page=1#5539399

https://www.reddit.com/r/Android/comments/b78wuj/the\_bundled\_nonremovable\_virus\_that\_is\_called/

# Answer
Same problem here. Unbelievable. Anyway. Using the simplest of tricks, this is how you can get rid of this annyoing bs \*temporarily (using Lenovo Tab P11 (2nd gen) - Android 12):

1. Find and open settings.
2. Find and open System tab.
3. Become developer.
4. Find and open "Developer options".
5. Find and open "Running services".
6. Find and click on services umbrella named "Settings".
7. Find and stop service named "UserExperSuggestionService".
8. Congratulations. The popup is now disabled (until you restart your device).
> 1 votes

---
Tags: adb, tablet, lenovo, debloat
---


title: Play Store doesn't update apps

text:
# Question
Title: Play Store doesn't update apps
I have a Xiaomi Pocophone F1. Today, I noticed that regardless I have a very good internet connection (Wi-Fi), the apps don't update. I didn't face the problem previously, when I clicked "Update all", it updated all apps. I cannot even install new programs.

When I click "Update", it waits for a long time. After that, it shows me an error that the app cannot be installed or updated. I say that the problem is not due to an internet connection because each time I check the connection speed, it is over 100Mbps.

I tried these methods, but none of them worked:

1. I cleared the cache on the Play Store
2. I cleared all data on the Play Store
3. I rebooted the phone many times
4. I check internet speed using a speed test program (the speed of connection is over 100 Mbps)

Please suggest to me the ways to fix it.

# Answer
> 0 votes
You have tried the right options. Next you have these.

5. Revert to factory versions both Play Store and Play Services. Restart and wait around 10 minutes for them to auto-update.
6. Remove your Google account and clear data from the previous apps. Restart phone, re-add your Google account, and retry.
7. Permanently disable the Play Store auto-update feature and manually update apps.

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


# Question
Title: How to set custom boot logo On Samsung a52?
I want to set custom boot logo (Not boot animation) on Samsung A52 (SM-A525F) powered with Qualcomm Snapdragon. There's no logo.bin or splash.bin in my official firmware.

# Answer
> 0 votes
That would most certainly require rooting the phone to get started.

Be noted that rooting the device and messing with the OS could have certain implications like your device failing to pass the Play Integrity API checks. This new API is used by developers and manufacturers to determine if your device is trustworthy and unmodified, which is always a good thing.

As an Android developer I advice **against rooting** the phone or messing with the OS in general, and specially not for changing a screen you probably haven't seen in months.

---
Tags: samsung, customization
---


# Question
Title: Can't open PDFs (and other files) from WhatsApp
I'm using a Xiaomi MI 9 SE phone (Android v11, MIUI Global v12.5.1). For quite a long time now, I've had the problem of not being able to open PDF files attached to WhatsApp messages I receive. When I double-click them, the app I choose either shows nothing, or immediately quits (depends on the app).

I tried to check the app permissions, and there are no permissions - that I know off - that WhatsApp is missing. I also tried updating WhatsApp, which didn't help.

I do not have this problem with other messaging applications, e.g. Telegram. Also, the different viewers / handling apps are able to open PDFs from other sources.

What's the cause of this problem, and what can I do about it?

Note: My situation is not the same as in Cannot open PDF files received on WhatsApp directly, where the user was getting an error message about not having the appropriate app for the content type.

# Answer
The answer eluded me for many months, and then somehow I stumbleds upon it in this reddit thread...

**Just (re-)enable MIUI Optimizations.**

To be honest, there's probably some kind of bug in MIUI in the no-optimizations situation, where it mis-handles handing off PDFs and other files from one application to another, so that's more of a workaround than a proper solution. But - it works. You'll notice that the dialog you get when you click a PDF file is different than before, and if you select an app (possibly via a '...' button) - it will actually open the PDF.
> 0 votes

---
Tags: whatsapp-messenger, pdf, attachments
---


title: How to quickly change screen timeout

text:
# Question
Title: How to quickly change screen timeout
My screen timeout is set to one minute, but there are cases when I temporarily want to change it to 30, which is the maximum value apparently.

The fastest way I found is to create a shortcut to the Display section of the settings app. I still need to close the app I'm in, click on the shortcut, then click timeout, then select 30 minutes.

Is there a faster way?

Ideally, I'd like to have an option to completely disable screen timeout in the quick settings dropdown, but I think it's up to the device manufacturer what's in that menu?

If it matters, I have a FairPhone 4 with Android 12

# Answer
You can use Caffeine app which will provide a convenient tile in quick settings to indefinitely extend the screen time.

Available on Play Store and F-Droid: https://f-droid.org/en/packages/info.zwanenburg.caffeinetile/
> 5 votes

# Answer
You could try with the Screen Timeout Widget app. It creates a small icon (widget to be correct) in your home screen and allows changing the screen timeout directly. It says that it can also be shown in the notifications panel, but strangely there are no screenshots with such feature.

From the author:

> Switches screen timeout from homescreen, notifications, quick settings. Lightweight and useful widget for switching timeout of the screen. For every added screen timeout widget you can select one or any of this sequentially switchable interval values:
>
> * 1 second
> * 5 seconds
> * 15 seconds
> * 30 seconds
> * 60 seconds
> * 2 minutes
> * 5 minutes
> * 10 minutes
> * 30 minutes
> * Never switched off
> 4 votes

---
Tags: quick-settings, screen-timeout
---


# Question
Title: Pixel 7 Pro on Android 13 does not natively recognize exFAT-formatted 4tb Crucial X10 USBC SSD
Title says most of it. I have a Pixel 7 Pro and a Pixel Tablet. I just got a Crucial X10 4TB portable SSD, which advertises as compatible with Android. I have Solid Explorer installed, and when I plug the SSD into the tablet or phone, Solid Explorer sends me a toast saying it's preparing the USB drive. Except it never appears or enumerates. Solid Explorer can't see it, nor can Android Files. Neither recognize the existence of the drive. I can mount it on any of my Windows machines, as well as Chrome OS. (Interestingly, Chrome OS shows two devices on this drive, one called "USB Drive" which has no FS, and the other called "X10 Pro" that has all the files there. Not sure what's up with that, never seen it before).

I have installed the Paragon exFAT app and Total Commander, and that combination uniquely lets me interact with the drive, and only via Total Commander.

I read that Android 13 added exFAT support, and I've used exFAT USB flash drives on my Android devices before, so I am not sure what is going on with this.

I have a 2TB BeeDrive that I can connect to natively on Android and Windows without any utilities, and it is also formatted exFAT. What's going on here? Is the 4TB X10 too big or something?

Any help is appreciated.

\**EDIT:\**I realized that the X10 and the BeeDrive were different disk formats, BeeDrive is MBR and X10 is GPT formatted. Time to play with disk manager and see if that's the problem

# Answer
> 1 votes
This was dumb. Crucial put a 15MB unformatted, locked partition at offset 1024k that has no partition/fs data. Android hooked that first, useless, partition and ignored the second. I went into diskpart and was able to rebuild with one partition

```
DISKPART> LIS DIS
  # My problematic drive is Disk 1
DISKPART> SEL DIS 1
DISKPART> LIS PAR
  # My main data partition & the volume are on Partition 2
DISKPART> SEL PAR 2
DISKPART> LIS VOL
  # Partition 2 is mounted at Volume 6
DISKPART> SEL VOL 6
DISKPART> DEL VOL
DISKPART> LIS PAR
  # After deleting the volume, diskpart got rid of the corresponding partition
  # If you still see your partition in this list, run the next step, otherwise skip
DISKPART> DEL PAR # SKIP if diskpart removed your partition for you
DISKPART> SEL PAR 1
DISKPART> DEL PAR OVERRIDE
DISKPART> CLE
DISKPART> CON GPT
DISKPART> CRE PAR
DISKPART> LIS PAR
  # There should only be one partition listed for the full drive size
DISKPART> SEL PAR 1
DISKPART> LIS VOL
  # You should see a volume with an * next to it, with a RAW FS and the size of your disk
  # If you see the volume but there is not a * you need to select it (replace 6 with your volume number)
DISKPART> SEL VOL 6
DISKPART> FOR FS=EXFAT LABEL="X10 Pro" QUICK
DISKPART> LIST VOL
  # The selected volume should now have a Label and an exFAT filesystem
DISKPART> ASS
  # This will assign a letter to the volume and mount it in Windows
DISKPART> LIS VOL
  # Verify that your new volume has a letter under the Ltr column. If so, done!
DISKPART> EXIT

**To verify correct partition setup**
DISKPART> LIS DIS
  # Note which number is assigned to your disk (2 in this example)
DISKPART> SEL DIS 2
DISKPART> LIS PAR
  # This should only have ONE partition, if it has more then something went wrong
DISKPART> SEL PAR 1
DISKPART> LIS VOL
  # Ensure that the selected volume (denoted by a *) has the expected Ltr, Label, FS, Type, and Size
DISKPART> EXIT

```

And that's it. Stupid formatting from the factory.

EDIT: This seems to completely break the Crucial Storage Executive program from recognizing this disk. My guess is that the micro "partition" causing problems was actually a chunk of metadata or memory-mapped interfaces for I/O with the control software.

---
Tags: file-system, usb-on-the-go, android-13, disk-drive, exfat
---


# Question
Title: How to keep "Battery Saver" mode enabled, even when charging
How can I keep "Battery Saver" enabled, even when my device is charging?

I travel a lot on multi-day excursions where I don't have access to power, so I charge my phone with a battery bank. It seems silly that Android automatically disables "Battery Saver" mode when my phone is charging. Just because my phone is charging doesn't mean I'm not interested in saving power.

How can I force "Battery Saver" mode to remain enabled, even when charging my Android device?

Ideally I'd like to do this without installing any closed-source software.

# Answer
If your device is rooted, this Magisk module claims to do what you are asking (not tested by me)

---

> How can I force "Battery Saver" mode to remain enabled, even when charging my Android device?

**Apparently, this is not possible.**. You are trying to make changes at a system level by creating an option that doesn't exist (*always use battery saver mode*), whereas other answers that you quoted in comments were only invoking existing options under some conditions). Hence, what you are left with is the option of making battery saver more effective by clubbing it with other options like doze etc.

Quoting from XDA thread Meet Buoy, a FOSS battery saver configuration tool!

> **Sticky Low Power**

> Buoy also enables something called "sticky" low power mode. **Usually, when the device is plugged in and unplugged, the low power mode is then disabled**. However, sticky mode re-applies low power mode afterwards to continue saving battery.

(Emphasis supplied to highlight why it is not possible)

---

**Therefore, it is better to customize the battery saver state to maximize on battery availability while reducing charging duration**

* Buoy is open sourced with a bunch of features that make battery saver mode behave from typical to aggressive, thereby increasing your battery life and reducing your charging time.

This appears to support only upto Android 12 but a developer has forked it by building upon it and naming it **Saver Tuner** (download from GitHub Releases/F-Droid)

Screenshots show the amount of customization possible
> 2 votes

---
Tags: battery, charging, battery-life, battery-saver
---


# Question
Title: Question about Region setting in Redmi note11
Yesterday I wanted to change the language in my Redmi Note11, but by accident, I saw `Region` setting set as `United States(system)`.

I want to ask that, I live in Thailand, bought this phone in Thailand and never been to USA. If I leave this “region” setting as USA instead of Thailand, Does it affect to

1. My Security and Privacy
2. My mobile data charge and cost
3. My Wi-Fi Security and Privacy
4. My phone feature

# Answer
It doesn't affect any of those items. It is for time settings, date format, default keyboard, etc.

I would change it to Thailand, none the less.
> 0 votes

---
Tags: xiaomi-redmi-note-4g
---


# Question
Title: Hotspot DHCP issues without mobile data (dhcp4 request timed out)
By default, does the Android "hotspot" functionality provide a DHCP server to its clients? Or does it just pass DHCP info on from the network that it's connected to?

I'm trying to create a hotspot for LAN-only communication between my laptop and my phone. I do not have a SIM card, so **"Mobile Data" is disabled**." I also don't have access to another WiFI network, so **"WiFi" is disabled**.

I created a hotspot and try to connect to it from my laptop, but I get this error from NetworkManager's logs (I'm using GNU/Debian 11 Linux):

```
[user@sys-net ~]$ sudo journalctl -u NetworkManager -f
...
Apr 07 16:15:24 sys-net NetworkManager[1446]: <info>  [1649340924.7570] device (wls6): Activation: starting connection '<SSID_REDACTED>' (501ce9ff-854f-472a-81cd-5eb447c47379)
Apr 07 16:15:24 sys-net NetworkManager[1446]: <info>  [1649340924.7585] device (wls6): supplicant interface state: disconnected -> interface_disabled
Apr 07 16:15:24 sys-net NetworkManager[1446]: <info>  [1649340924.7585] device (p2p-dev-wls6): supplicant management interface state: disconnected -> interface_disabled
Apr 07 16:15:24 sys-net NetworkManager[1446]: <info>  [1649340924.7654] device (wls6): supplicant interface state: interface_disabled -> disconnected
Apr 07 16:15:24 sys-net NetworkManager[1446]: <info>  [1649340924.7655] device (p2p-dev-wls6): supplicant management interface state: interface_disabled -> disconnected
Apr 07 16:15:24 sys-net NetworkManager[1446]: <info>  [1649340924.7667] device (wls6): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'managed')
Apr 07 16:15:24 sys-net NetworkManager[1446]: <info>  [1649340924.7675] manager: NetworkManager state is now CONNECTING
Apr 07 16:15:24 sys-net NetworkManager[1446]: <info>  [1649340924.7840] device (wls6): set-hw-addr: set-cloned MAC address to <MAC_ADDRESS_REDACTED> (stable)
Apr 07 16:15:24 sys-net NetworkManager[1446]: <info>  [1649340924.8065] device (wls6): state change: prepare -> config (reason 'none', sys-iface-state: 'managed')
Apr 07 16:15:24 sys-net NetworkManager[1446]: <info>  [1649340924.8087] device (wls6): Activation: (wifi) access point '<SSID_REDACTED>' has security, but secrets are required.
Apr 07 16:15:24 sys-net NetworkManager[1446]: <info>  [1649340924.8087] device (wls6): state change: config -> need-auth (reason 'none', sys-iface-state: 'managed')
Apr 07 16:15:24 sys-net NetworkManager[1446]: <info>  [1649340924.8248] device (wls6): supplicant interface state: disconnected -> interface_disabled
Apr 07 16:15:24 sys-net NetworkManager[1446]: <info>  [1649340924.8248] device (p2p-dev-wls6): supplicant management interface state: disconnected -> interface_disabled
Apr 07 16:15:24 sys-net NetworkManager[1446]: <info>  [1649340924.8250] device (wls6): supplicant interface state: interface_disabled -> disconnected
Apr 07 16:15:24 sys-net NetworkManager[1446]: <info>  [1649340924.8250] device (p2p-dev-wls6): supplicant management interface state: interface_disabled -> disconnected
Apr 07 16:15:24 sys-net NetworkManager[1446]: <info>  [1649340924.8405] device (wls6): state change: need-auth -> prepare (reason 'none', sys-iface-state: 'managed')
Apr 07 16:15:24 sys-net NetworkManager[1446]: <info>  [1649340924.8412] device (wls6): state change: prepare -> config (reason 'none', sys-iface-state: 'managed')
Apr 07 16:15:24 sys-net NetworkManager[1446]: <info>  [1649340924.8461] device (wls6): Activation: (wifi) connection '<SSID_REDACTED>' has security, and secrets exist.  No new secrets needed.
Apr 07 16:15:24 sys-net NetworkManager[1446]: <info>  [1649340924.8473] Config: added 'ssid' value '<SSID_REDACTED>'
Apr 07 16:15:24 sys-net NetworkManager[1446]: <info>  [1649340924.8474] Config: added 'scan_ssid' value '1'
Apr 07 16:15:24 sys-net NetworkManager[1446]: <info>  [1649340924.8474] Config: added 'bgscan' value 'simple:30:-70:86400'
Apr 07 16:15:24 sys-net NetworkManager[1446]: <info>  [1649340924.8474] Config: added 'key_mgmt' value 'WPA-PSK WPA-PSK-SHA256 FT-PSK SAE FT-SAE'
Apr 07 16:15:24 sys-net NetworkManager[1446]: <info>  [1649340924.8474] Config: added 'auth_alg' value 'OPEN'
Apr 07 16:15:24 sys-net NetworkManager[1446]: <info>  [1649340924.8475] Config: added 'psk' value '<hidden>'
Apr 07 16:15:24 sys-net NetworkManager[1446]: <info>  [1649340924.9055] device (wls6): supplicant interface state: disconnected -> authenticating
Apr 07 16:15:24 sys-net NetworkManager[1446]: <info>  [1649340924.9059] device (p2p-dev-wls6): supplicant management interface state: disconnected -> authenticating
Apr 07 16:15:24 sys-net NetworkManager[1446]: <info>  [1649340924.9109] device (wls6): supplicant interface state: authenticating -> associating
Apr 07 16:15:24 sys-net NetworkManager[1446]: <info>  [1649340924.9110] device (p2p-dev-wls6): supplicant management interface state: authenticating -> associating
Apr 07 16:15:24 sys-net NetworkManager[1446]: <info>  [1649340924.9365] device (wls6): supplicant interface state: associating -> 4way_handshake
Apr 07 16:15:24 sys-net NetworkManager[1446]: <info>  [1649340924.9365] device (p2p-dev-wls6): supplicant management interface state: associating -> 4way_handshake
Apr 07 16:15:24 sys-net NetworkManager[1446]: <info>  [1649340924.9611] device (wls6): supplicant interface state: 4way_handshake -> completed
Apr 07 16:15:24 sys-net NetworkManager[1446]: <info>  [1649340924.9611] device (wls6): Activation: (wifi) Stage 2 of 5 (Device Configure) successful. Connected to wireless network "<SSID_REDACTED>"
Apr 07 16:15:24 sys-net NetworkManager[1446]: <info>  [1649340924.9611] device (p2p-dev-wls6): supplicant management interface state: 4way_handshake -> completed
Apr 07 16:15:24 sys-net NetworkManager[1446]: <info>  [1649340924.9616] device (wls6): state change: config -> ip-config (reason 'none', sys-iface-state: 'managed')
Apr 07 16:15:24 sys-net NetworkManager[1446]: <info>  [1649340924.9621] dhcp4 (wls6): activation: beginning transaction (timeout in 45 seconds)
...
... <here it got stuck waiting for an IP address before timing out>
...
Apr 07 16:16:10 sys-net NetworkManager[1446]: <warn>  [1649340970.5783] dhcp4 (wls6): request timed out
Apr 07 16:16:10 sys-net NetworkManager[1446]: <info>  [1649340970.5783] dhcp4 (wls6): state changed unknown -> timeout
Apr 07 16:16:10 sys-net NetworkManager[1446]: <info>  [1649340970.5784] device (wls6): state change: ip-config -> failed (reason 'ip-config-unavailable', sys-iface-state: 'managed')
Apr 07 16:16:10 sys-net NetworkManager[1446]: <info>  [1649340970.5799] manager: NetworkManager state is now DISCONNECTED

```

Why is my android device failing to provide my laptop with an IP Address? Is it because my android isn't already connected to another network running a DHCP server? How can I make my android hotpsot provide a DHCP IP address to my laptop when I connect to my android's hotspot?

# Answer
> 1 votes
This issue was caused by my firewall and due to complexity between multiple user profiles.

I was able to fix all issues by entirely disabling the firewall setup by the `afwall` app.

However, as a slightly better option, I was able to fix this issue as follows:

1. As the 'Owner' profile, **enable** `Airplane mode`. Make sure `WiFi` **and** `Mobile Data` **are off** if you want to use the phone's own internal DHCP server. Then **enable** `Hotspot`
2. In the user's account where `afwall` is configured, check the box to give "wifi" access to the row named `(any app) - Same as selecting all apps - !! WARNING !!`

> Note: I did try to isolate the wifi permissions to a single app, but I found that if every app's "wifi" setting was enabled (except the entry for `(any app)` of course), then it wouldn't work. But if the "wifi" setting was enabled for the `(any app)` row, then it worked.
>
> So it appears that there is, in fact, a distinction between selecting all apps or selecting the `(any app)` entry. My guess is this distinction is most relevant when using multiple user profiles.

On another handset, I was able to resolve this issue and get an IP address when only enabling the "wifi" permission for the `(root) - Apps running as root` entry (as opposed to the `(any app)` entry). YMMV device-to-device, version-to-version, ROM-to-ROM.

# Answer
> 0 votes
This question is linked in comments in other similar question with ***Highly active question*** rank but excessive reputation points are needed to answer it. So I answer here because those two questions are linked, and answer explains mentioned there problem.

On Samsung phones it is not possible to turn on hotspot without inserted SIM card. But there are tools to create in newer Android versions *offline hotspot* \- more info here

---
Tags: linux, networking, wifi-hotspot, dhcp
---


# Question
Title: Redirect Android HTTP traffic through OpenVPN UDP connection
I have set up a server with OpenVPN and Squid, by making my computer connect to the server's OpenVPN (TUN interface UDP connection), we are in the same LAN network, and Squid on this server allows my computer to surf the internet by its proxy function, simply by setting computer's Chrome proxy to `10.200.0.1:3128`.

I have set up my Android phone with the OpenVPN client, it can connect to the server too (Although I can not ping Android IP - `10.200.0.2` from the server side, which is weird to me). However, I see no Android app has the same proxy setting as what is in the computer's Chrome. All my HTTP traffic still goes through the WLAN interface rather than the TUN interface.

I am not sure if the OpenVPN Android client's proxy setting can help. I tried it, but the OpenVPN client prompted an error message:

> option\_error: can not connect via TCP-based proxy because no tcp server entries exist in profile.

Does it mean I should use a TCP OpenVPN connection to fix this error? or should I find another way to redirect the HTTP traffic through VPN channel?

# Answer
The easiest way to do so is to connect your phone to the computer and run adb in the command line.

* `adb shell settings put global http_proxy ipaddress:port` to set your phone's global proxy to the IP address.
* `adb shell settings put global http_proxy :0` try this to turn off the global proxy.

Very unfortunately, the connection was shut down by GFW during last Friday night. An obfuscation method must be employed to counter this issue. I have no time for this, so it leaves me with no choice but to buy a ladder.
> 0 votes

---
Tags: proxy, openvpn
---


# Question
Title: I can't send captured screenshot on Redmi 11S
I have two copies of Xiaomi Redmi 11S. On both phones I have a weird problems with sending captured screenshots when mobile data is off. And with the system in general.

In Redmi when I capture a screenshot, it appears for approx. 10-15 seconds as a small overlay in one of the corners with "Send" and "Scroll" buttons below. Second one allows capturing a screenshot bigger than the current screen / viewport. First one does what it says it does.

1. On *one* of these phones, when I press "Send" nothing happens. No share / compose message, no nothing happens. To send any screenshot I must open up any file browsing app, locate the screenshot and send it from there. Second phone has no problems with this.
2. On *both* phones I cannot send screenshot (nor any MMS) when mobile data is turned off. I have a constant, stable and fast Wi-Fi connection in parallel, able to stream even 4K videos efficiently, but I can't send and MMS. This is as weird as it can be for me.
3. On *both* phones I have a completely empty list of applications. I can change any application settings (i.e. enable, disable system app, uninstall some 3rd party app) only if I manage to find it through settings' search. Because all the tabs in *Applications**Manage Applications* are all the time empty.

Both phones are guarded by Google Family Link, but the described behaviour appears all the time, irrespectively of the fact whether Family Link is active or I disable it using Parental Access option.

Note that:

1. Enabled state of the "Scroll" button is misleading. The button is enabled, but tapping it on one of the phones does nothing.
2. Error message given by Messages app is also misleading. I have found not option in the settings that would correspond to using mobile data for sending MMS messages (or actually no mobile data-related option at all).

I was 100% sure that my phone simply gets wako and I must do the factory reset + clean install. But then I found this question and also *beeshyams* has provided this fabulous answer to my other question. All these information put together suggests me that nothing is wrong with my phones and that Redmi 11S can be unpleasantly surprising to its end user.

So, my question is, if this is normal (and can be observed on other phones) that the app list is all the time completely empty and that sending an MMS requires mobile data even if device has Wi-Fi connection to the Internet?

# Answer
Part answer

> (Does) MMS requires mobile data even if device has Wi-Fi connection to the Internet?

Quoting from SE Software Engineering Why do MMS require "mobile data" to be sent/received?

* **Yes**, by way of explanation see IMSoP's answer (as also other answers)

> MMS was conceived as a way of adding multimedia capabilities to SMS, not as an internet messaging platform. It uses a set of technologies which made sense in the mobile ecosystem of the time, but are definitely not how you'd design it today

> In particular, it is built entirely on top of WAP, an internet connection protocol that has otherwise been completely superseded. Every part of the process is standardised around handsets connecting directly to their carrier's servers over WAP, not via any other internet connection.

> While it would be possible to build an "MMS over TCP/IP" protocol, there would be little motivation to do so: the expense for the carriers is maintaining the complicated services which store, forward, and re-encode the messages, and the original protocol would still need to be supported for older handsets.

> There have been attempts to replace both SMS and MMS with a more modern protocol, notably RCS, but it is hard to compete with services like WhatsApp which don't need the investment from carriers to implement.

> MMS does require a data connection. It always has.

> If your carrier supports Wifi calling and it is enabled on your phone, MMS may use that connection instead of mobile data.

So my conclusion is that you need mobile data to send MMS unless carrier permits to send it over Wi-FI calling. On my Pixel 6a, I have RCS feature available (which can be sent over Wi-FI or data) but it **doesn't work** maybe because of Google limitations or carrier or both,
> 1 votes

---
Tags: applications, mms, redmi, android-14
---


title: Disable mouse acceleration on Android

text:
# Question
Title: Disable mouse acceleration on Android
I am using PrimeOS on my laptop. I have noticed that when I move a mouse slowly for about an inch, consider it travels some distance on screen line about 2 inches. But when I move the mouse rapidly for 1 inch as before, the distance traveled by the cursor is much more like about 3.5 inches.

I want to disable this mouse acceleration to get the same displacement of the pointer at both slow and fast speeds.

# Answer
Install SetEdit app, then on the System Table, find: Pointer Speed, then change its value from 1 to 0.
> 1 votes

# Answer
Open **Settings** \> **General management** \> **Mouse and trackpad**

Change **Enhance pointer precision** from the default value of **enabled** to **disabled**.

This will disable mouse acceleration in both Android and Samsung Dex.
> 1 votes

---
Tags: android-x86, mouse, prime-os
---


# Question
Title: How to have app names be spoken aloud on a new notification?
How can app names be spoken aloud on a new notification? For example: if I receive an email, I'd like to hear the word "Gmail" spoken aloud.

I could use TalkBack for this, but then the entire notification is read aloud (including parts of the email's content). I want to hear just the app's name. Also, I'd like it to work even when TalkBack is off (I use TalkBack intermittently because of my visual impairment).

Is there a way to do this?

I'm on Android 13 if it matters.

# Answer
> 2 votes
MacroDroid is a free ( upto 5 macros) app

Create a macro as below (name it whatever and save it)

If you want to vary the speed or pitch of reading out, change it here

Be warned that it may get to be annoying if you get many notifications or it's bothering those around you. In that case, go to the three dot menu at top right and **Disable macro** or decrease volume level.

You can also create a short cut to this macro from your launcher settings and select MacroDroid short cut.

Tested on Pixel 6a, Android 13.

---

Edit in response to comments (now deleted), but self-explanatory

1. The shortcut as mentioned earlier in to only easily access the macro if you wish to toggle it on/off.
2. You can create another macro and add it as a shortcut on your home screen to enable/disable the macro. I named it **simple** toggle with a reason. You can add IF conditions to flash a text message and read out if the macro is enabled or disabled state (home work for you, if you want)

3. It (the first macro) will NOT override DND. If you do not wish this in the constraints section of the first macro add *Priority mode/ DND**Not in mode*
4. To exclude apps like Twilight etc which are constantly in monitoring mode and are announced because of this macro - in the first macro trigger section instead of selecting **all** Apps choose only those you wish to be notified for. Similarly in the *While/do* loop select the apps you wish instead of *all apps*

---
Tags: notifications, automation, accessibility, text-to-speech
---


# Question
Title: adb-sync along with rsync for fastest way to backup gigabytes of media & photos file to HDD disk regularly
I have a 512GB Android phone with 150GB+ 15k+ photos and videos.

Step 1. On my Macbook, I used better-adb-sync with a USB cable and debugging enabled to copy a large amount of files from my phone to my Macbook's disk...DONE

```
adb-sync -Rdt /sdcard/DCIM/ ~/Documents/phone/AndroidPhone/DCIM

```

Step 2. Now after a month or two, I want to sync the phone with the disk again for the additional new photos. Now, I don't want to use the cable and turn on the debugging, etc. as the number of files is not much, so I want to use the rsync tool over WiFi with SimpleSSHD.

The problem: On the Macbook terminal, when I run the rsync command below,

```
rsync --delete -azuvPe 'ssh -p 2222' 192.168.1.3:/sdcard/DCIM/ ~/Documents/phone/AndroidPhone/DCIM

```

Instead of finding the incremental of new files in the phone quickly and copying them to disk, the output is showing to be copying all the files again which already exist on disk and even the date-time stamps of files are exactly the same.

This syncing is taking hours and hours to complete. This thing, I believe will be happening the first time only and may not happen the 2nd onward incremental backing process from phone to disk.

But I want to know what is happening and why.

I expect rsync to compare and diff the 2 folders and determine initially what new files to copy from the phone to disk and delete from disk what has been deleted from the phone based on size and timestamps (pre-processing), and then simply copy the new incremental extra files even if it is the first time of processing the rsync command.

How can I make this work the above way? Any flags I can pass to ignore some parameters, etc.?

Please Guide.

# Answer
Try the `--size-only` commandline option on the rsync client.

rsync's "quick check" algorithm only updates files if the size or last-modified time (mtime) do not match. For various reasons, the mtime may not be set the first time rsync copies the file (because `-t` isn't specified, or because OS security policy doesn't allow the mtime to be modified), so the mtime will mismatch even after the file has been freshly copied. `--size-only` will cause rsync to consider any files with the same size to match. This can cause it to miss some updates but will avoid unnecessary work when the mtimes are not synced.
> 1 votes

---
Tags: adb, sync, photos, rsync, copying
---


# Question
Title: Why is pressing touch tone keypad not transmitted during calls?
My relative is running CyanogenMod 7 on her HTC Incredible. Recently, her phone started acting weird in that when connected in a phone call, pressing the touch tone keypad is not working. You can hear the tone being pressed in the speaker, but the other end of the phone call is not getting the tone transmitted.

What might be causing this, and how could I go about getting this fixed?

# Answer
In Settings - Phone settings

or

In Dialer - Menu -Settings

You'll find an option for DTMF. Try changing that to different values. It might even have been turned off.
> 1 votes

# Answer
I have an international Samsung Galaxy S III (I9300). I got this to work under CM 11 by opening the Phone app, hitting the dotted line for settings, and then un-checking the "Dial pad touch tones" option.

I can't hear the touch tones anymore, but at least I can access my voicemail.
> 2 votes

# Answer
I don't even know if this will work, but after having this problem intermittently on an AT&T Samsung Galaxy Note 4 and not being able to find DTMF settings anywhere, I found this: Settings \> Device \> Personalization \> Accessibility \> Dexterity and Interaction \> Press and hold delay (options short, med, long)

On a T-Mobile Samsung Galaxy Note 4, it was similar but not exact: Settings \> Personalization \> Accessibility \> Dexterity and interaction \> Press and Hold delay (options short, med, long)

I selected long.

I can't take credit for this; the idea came from someone making a post about a Samsung Galaxy S7, whom I wasn't able to thank but wish I could.
> 2 votes

# Answer
I had a similar problem of not hearing the touch tones. It turned out to be that the volume for "Music, video, games, & other media" was set to the lowest level. "Settings \> Sound \> Volume" Maybe this will help someone.
> 0 votes

# Answer
The solution that worked for me is very different.

My mobile is a Lenovo K8. After searching a lot, nothing worked for me, and based on Lenovo call support, this worked finally: Network & Internet \> Mobile Network \> **Enhanced 4G LTE Mode \[DISABLE\]**

Disabling this only worked for me, changing the Touch & hold delay to different values \[short, medium, long\] also did not work.

Hope this helps someone. Definitely, this is a bug. However, no updates were also sent to my phone.
> 0 votes

# Answer
I just had this problem for 2nd or 3rd time. I'll say what happened in case it helps.

I'm on Samsung Galaxy with Android OS. I was in a phone tree; to get to the keypad, I backed out to the home screen and opened the phone call icon (for new calls), but the keypad didn't work for the phone tree.

There's a screen that shows after you start a call, it has a red end call button. You have to get back there and hit the keypad option, then it works. To get back there, I swiped down from the top of the screen and it showed my active call with a button that brought me back.
> 0 votes

# Answer
On the Samsung Galaxy S4, I changed to option "long" instead of "normal" and it worked:

1. From the Keypad tab, tap the Menu icon (located in the upper right)
2. Tap Settings
3. Tap Call
4. Tap DTMF tones
5. Tap Long
> -1 votes

---
Tags: calls
---


# Question
Title: Sound coming from ear speaker only on Samsung S22
My Samsung S22 currently has a weird issue since a few days ago where any sound is currently only output via the ear speaker. During calls the sound output is very quiet on the ear speaker, people's voices are almost inaudible, while music and video sound are output via the ear speaker at the highest volume. There is no sound coming from the regular speakers anymore at all.

I haven't (knowingly) messed around with any of the audio settings before this happened. **Outputting audio via Bluetooth speakers works just fine.**

What I've tried to solve this, but to no avail, is the following:

* Restart phone (several times)
* Connect and disconnect Bluetooth speakers
* Turn mono output on and off in the accessibility settings
* Use a Speaker Cleaner app
* Carefully shake phone to make sure nothing has come loose
* Started device in Safe Mode, but no audio playing from speakers either

I am very careful in handling my phone, it doesn't have any scratches, dents or whatsoever, because I never drop it. It's not the result of dropping the phone or hitting it hard against something.

The phone is running on

* Android 13.0
* One UI 5.1
* Build number TP1A.220624.014.S901BXXS6CWH6
* Security Patch from September 1st, 2023

What could be causing this? Is this a software or hardware issue?

# Answer
> 1 votes
It's a hardware defect, the device will be replaced as it's still inside of the warranty.

---
Tags: audio, speaker, loudspeaker
---


# Question
Title: How do I hide the network name from the notification bar on Fairphone?
I recently switched my phone carrier and the new one has a network with a pretty long name. It shows in the top left of the screen, in the status bar. Since the name is long, it pushes other notifications to the right and they get cropped (my phone has a notch for the front camera).

The best solution for me would be to limit the size of the mobile network name (using ellipsis `...` if it's too long), but it seems to not be possible. As a second-best solution, how can I hide the network name?

I use Android 12 on a Fairphone 4, so it's pretty close to stock Android.

# Answer
> 2 votes
On Fairphone 4 (Android 12), the network name can be hidden in **Settings | Display | Other display controls**. You can toggle the setting **Network name** to control the visibility of the network name in the notification bar / status bar.

Please note however that this setting may be non standard according to comments. It may not be available on all phones.

---
Tags: mobile-network, notification-bar, carriers, fairphone-4
---


# Question
Title: Pictures and videos not showing in the gallery
I've been experiencing this issue for a month or so. I was using the camera and I received a message of some memory error, but was able to continue taking pictures. Then I realized that the pictures were not showing up in the gallery.

I connected the device to my PC and the files are actually there. In addition, I am able to continue taking pictures and access the files when using the camera (I touch the recent photos icon and I can see them).

I have tried many things, such as removing the DCIM folder, erasing the `.nomedia` files, and erasing data from the internal memory, and none of them seemed to work.

Could anyone help me?

# Answer
Consider any of the solution mentioned below.

### Solution 1

Note: Follow the steps for both Internal and external SD Card

1. Go to File manager -\> Android -\> Data -\> `com.android.gallery3d`.
2. Delete the folder (`com.android.gallery3d`) in both internal and external SD card.
3. Go to Settings -\> Apps / Application manager -\> search for Gallery -\> open Gallery and tap on Clear Data .
4. Switch off your phone and wait for few minutes (say 2-3 min) and then switch on and wait for few minutes.

That's it now. All the images and videos would be showing under Gallery.

### Solution 2

1. Go to the respective folders where images/videos are stored.
2. Go to Settings \> Show hidden file and see if there is a `.NOMEDIA` file. If there is such file then delete it.
3. Switch off and switch on the device.

That's it.

### Solution 3

If above solutions don't work, then you have to search for apps in Play Store which scans SD Card . SDrescan is good. It's only of 20KB in size. And then scan the memory card using that app.
> 9 votes

# Answer
Workaround: In my case, the images with a very long name didn't show up in the Gallery. After I renamed them, they showed up.

---

Update: A rename by adding one more character (in the Total Commander / X-plore app that can see them) triggered the display in Gallery (or other Apps like Google Photos, WhatsApp, and Telegram that can share images), so it is not about the name length. The owner didn't change, the timestamp didn't change either.

The root cause remains to be discovered.
> 2 votes

# Answer
The solution to your problem requires two steps:

1. You have to delete `.nomedia` file by connecting your phone to a computer. Once you are done with that, come back to your phone.
2. Go to storage in Settings and do 'UnMount SD Card'. Wait for a few seconds and do 'Mount SD Card', and that's it.

All your photos and videos will now be listed in the Gallery and respective apps.
> 1 votes

# Answer
As of September 28, 2023, I had this exact problem, so I started doing some research and nothing worked. I remembered that I was messing up with my phone earlier and changed some settings, so I went back there and figured out what was causing this problem.

In order to fix this. Follow the steps on the screenshots I'm going to attach.

1. First go to Settings ⚙
2. Scroll down to Apps
3. Top-right corner, you will find 3 vertical dots that look like this ⫶
4. Select Special Access
5. Select Usage Data Access
6. Click the 3 vertical dots ⫶ on the top right corner again
7. Then click Reset App Preferences
8. ✔ Done.

*Just so you know, the phone will tell you. You will not lose any data by performing this.* But you might have to sign in to apps again like Uber or apps that require sign-in.
> 0 votes

# Answer
First, go to File manager \> Settings \> Show hidden files \> then rename the folder `.nomedia` to `.adc`. Then restart your phone and remove the SD card directly without unmounting. Then reinsert it to the phone during switch on and watch. By default, it will scan the SD card and show media in the gallery and music.

If it does not work, then delete the folder `.nomedia` and do the step of removing and inserting the SD card again, then open the gallery.
> -2 votes

---
Tags: photos, video, gallery
---


title: Samsung Galaxy A22 5G never shows 5G

text:
# Question
Title: Samsung Galaxy A22 5G never shows 5G
My 'Samsung Galaxy A22 5G' never shows "5G" on its status bar, despite being where 5G coverage is proven (checked on another 5G smartphone of mine).

It only shows "4G+".

https://www.gsmarena.com/samsung\_galaxy\_a22\_5g-10873.php lists this phone as having 5G bands: `1, 3, 5, 7, 8, 20, 28, 38, 40, 41, 78, 79 SA/NSA/Sub6`

Entering my phone's IEMI into https://www.imei.info only shows the following: `IMEI.info: LTE-FDD: 800, 900, 2100, 2600` and `IMEI.info: LTE-TDD: 2300, 2500, 2600`:

I verified that its 'Network mode' is set to `5G/LTE/3G/2G (auto connect)`.

I also tried resetting its network settings via `General management` \> `Reset` \> `Reset network settings`.

Still, it only shows `4G+`. It never shows `5G`.

Any idea why?

# Answer
Based on the information you provided so far, it looks like your 5G phone (800MHz, 900MHz, 2.1GHz, 2.3GHZ, 2.5GHz, 2.6GHz) is incompatible with your network provider's 5G (700MHz, 2.6GHz, 3.5GHz).

In general:

| LTE-FDD | LTE-TDD | 5G |
| --- | --- | --- |
| 700 MHz (B12, B13, B14, B17), 850 MHz (B5), 1800 MHz (B3), 1900 MHz (B2), 2100 MHz (B1), 2600 MHz (B7) | 2300 MHz (B40), 2500 MHz (B41), 2600 MHz (B38, B39) | Sub-6 GHz bands (e.g., 600 MHz, 2.5 GHz, 3.5 GHz), mmWave bands (e.g., 28 GHz, 39 GHz) |

In other words:

| Your Phone's LTE | Your Network's Provider 5G |
| --- | --- |
| 800MHz, 900MHz, 2.1GHz, 2.3GHZ, 2.5GHz, 2.6GHz | 700MHz, 2.6GHz, 3.5GHz |

The only common frequency is 2.6GHz, but on your phone it is listed under LTE, so it looks like this is the reason it only displays `4G+` .
> 2 votes

---
Tags: samsung, mobile-network
---


# Question
Title: How can I report a spam phone number, without blocking it? Stock android
Every spam call I get is from a different "burner" number. Android asks me if I wish to "block and report" the number. I wish to report it, but not block it, as it may be a spoofed number from someone who I will eventually wish to hear from.

Is there a way to "report" only?

See also Can I report phone numbers as NOT spam callers? And https://www.nomorobo.com/

My particular phone is "stock google pixel" but answers for any version of android are welcome.

# Answer
> 2 votes
1. Block and Report
2. Unblock

So it is reported but not blocked anymore!

# Answer
> 0 votes
I have the same issue, and up until recently I've been doing the same as @mohsyn recommended. However, according to https://support.google.com/messages/answer/9061432, "**Unblocking a conversation removes a spam report.**"

So, to answer your question, it is currently **not possible** to report a spam number without also blocking it, since undoing the block also undoes the spam report.

Also, in response to @mohsyn (I still can't comment): the link I shared is for the "stock" Android Messages app. I have a Google Pixel phone like OP.

# Answer
> -1 votes
> Every spam call I get is from a different "burner" number

Its probably not. Most probably the number is spoofed.

In either case, there is not much you can do. In New Zealand, there is a Government organisation, that you report this to. But again, theres not much they can do, except to put it into a database.

I think its highly improbable that the same number will be used by a genuine caller in the future. These numbers are often not valid. The ones I see are too long. So you can block them, but there is no benefit to it.

In short, don't stress and ignore it. If I can't recognise a number and I am not expecting a call, I usually don't answer. If its genuine, they will either leave a message or call again.

Most of the spammers have it automated. The computer calls random numbers or from a list purchased on the dark web. If you answer, it gets transferred to a person. And now they know its a valid number. It then gets added to a list.

---
Tags: calls, stock-android, spam
---


# Question
Title: Honor 8 : Is there a way of taking a screenshot without using the power button?
When I used to take a screenshot on a cell phone (Honor 8, not rooted, Android 8.0.0), I push the power button and the volume button together. But now the power button on a cell phone has stopped working (see How to fix the problem of power button stuck a bit inside and not working?). Is there a way of taking a screenshot without using the power button? Is there something similar to accessibility tools on an operating system (such as virtual keyboard in Ubuntu)? Thanks.

# Answer
> 2 votes
Since you mentioned that internet is censored in your country, here are two links, that describe how to take a screen shot without a `power` button.

1. Youtube, specifically for Honor 8
2. How to take a screenshot on HONOR smartphones? for Honor phones in general (from Honor forums).

a) **Notification Bar Shortcut:** HONOR makes it more intuitive to take a screenshot by giving you a shortcut in the notification area.(or quick setting tiles) It looks like scissors cutting paper. Select it to get your screenshot. GIF from the website.

b) **Knock on the screen with your knuckle:** Certain HONOR phones have a very fun and interactive way to take a screenshot. You can simply knock on your screen twice using your knuckle! This feature needs to be activated first, though. Just go to Settings → Accessibility features Shortcuts & gestures → Take screenshot → Enable Knuckle screenshots. GIF from the website

**Both these methods are mentioned in the YouTube video for Honor 8 as well**

c) **Three-Finger Screenshot:** By using Three-finger screenshot, you can easily capture a screenshot on your Phone. Open Settings. Go to Accessibility features & → Shortcuts &Gestures → Take Screenshot , and Enable Three-finger screenshot. You can then swipe down on the screen with three fingers to capture a screenshot (some One Plus phones have this as I recall from OP7 I owned previously)

Hoping one of these works for you or someone else in a similar situation (also see How to take a screenshot with an Android device? for other methods of taking screenshots)

---
Tags: android-11, buttons, accessibility, screenshots
---


# Question
Title: Google Pixel 6 sceenshot function has been replaced by Google Assistant
I have used Android for years and for most Android phones, pressing `power` \+ `Volume Down` together takes a screenshot.

I have used my Google Pixel 6 for 2 years now, and the screenshot function has always worked perfectly fine.

Recently, an automatic update added the Google Assistant function to my phone. Now, when I press `power` \+ `Volume Down`, it no longer takes a screenshot but instead, the Google Assistant panel appears. Google Assistant is not available in my country, so unfortunately this panel cannot help me take a screenshot.

I tried turning off Google Assistant, and changing the default Digital Assistant app, but all the combinations of options I tried do not bring back the screenshot function. Here are the settings that I tried:

| Default digital assistant app | Google Assistant | What Happens when I press Power + Vol Down |
| --- | --- | --- |
| None | Off | Nothing |
| Google Assistant | On | Google Assistant launches, but Google Assistant is not available in my country so nothing happens |
| Google Assistant | Off | A panel pops up that says Google Assistant is ready, and an Activate button |

How do I get back the screenshot functionality?

# Answer
> 7 votes
Your problem is in two parts:

* Unable to get `power` menu, which you could solve thanks to Andrew's answer
* You have a non-functional Google assistant (why do they even roll it out to countries where it doesn't work?) and borks your ability to take screen shots using `power` \+ `Volume Down`. A four year old reddit thread offered a possibility. It asks you to install Screenshot Assistant from F-Droid with instructions:

> Screenshot assistant is a replacement for Google Assistant with the sole purpose of taking, cropping and sharing a screenshot.

> Setup instructions:
>
> 1. Install the app
> 2. Set it as assistant via Apps \> Default Apps \> Assist app
> 3. Trigger Google Assistant

On my Pixel 6a , Android 13, Google assistant works fine for me, but I set it up as explained above:

And I was able to take screen shot using `power` \+ `Volume Down`. Hopefully this should work for you too. Using a third party app to do what is natively expected is rather stupid but in your situation may help given that the app is from F-Droid (reliable) and you want the old functionality back despite Google's shenanigans.

# Answer
> 5 votes
The screenshot shortcut has not changed. I have my suspicions that your issue stems from not pressing `power`+`volume down` *simultaneously* (at nearly the same time), but that instead you are likely pressing and holding `power` first, followed by `volume down` shortly afterwards.

Indeed, even a slight delay between pressing the two will result in either Google Assistant activating or the volume adjustment controls popping up. Maybe the power button changes made the screenshot button combo less forgiving.

---
Tags: buttons, screenshots, google-assistant, google-pixel-6
---


title: How can I run a script on boot?

text:
# Question
Title: How can I run a script on boot?
I'm accustomed to running scripts on boot in Linux, but I'm not sure how to do this in Android. I'd like to start my SSH daemon on start, so I'll always be able to connect. How can I run an arbitrary script on Android boot? It'd be preferable to do this outside of Dalvik.

# Answer
While looking around my Android filesystem, I found that it did, in fact have a `/etc/init.d/` directory. After peeking around in there, I found `/etc/init.d/20userinit` with the following lines:

```
if [ -e /data/local/userinit.sh ];
then
    log -p -i -t userinit "Executing /data/local/userinit.sh";
    busybux chmod +x /data/local/userinit.sh;
    logwrapper /system/bin/sh /data/local/userinit.sh;
    setprop cm.userinit.active 1;
fi;

```

This being, of course, *exactly* what I needed, I wrote the following script on my computer then pushed it to my device:

```
#!/system/bin/sh

dropbear -s -g

```

(pushed to device via `scp userinit.sh phone:/data/local/userinit.sh`, mind you :\] )

Rebooted the device, then ran `ps | grep "[d]ropbear"`, and sure enough, it's running. Coolness!
> 50 votes

# Answer
`/data/init.sh` runs at boot, if you have root you can edit it as you like. Be careful ;)

**Edit:** Apparently you might need to shoehorn the edited script into the boot image as well. Info on how to do that here: http://forum.xda-developers.com/showthread.php?t=443994
> 10 votes

# Answer
If you have **Magisk** installed you can place the .sh to:

```
/sbin/.magisk/img/.core/service.d/

```

or to

```
/sbin/.magisk/img/.core/post-fs-data.d/

```

Don't forget to make it executable: `chmod +x your-script.sh`.

More info: https://github.com/topjohnwu/Magisk/blob/master/docs/guides.md#boot-scripts
> 8 votes

# Answer
Look to `/etc/` directory. Usually it is placed in `/system/` partition which you can mount as RW:

```
$ ls -l /etc
lrwxrwxrwx 1 root root 11 Jan 1  2009 /etc -> /system/etc
$ su
$ mount -o remount,rw /system
$ chmod o+w /system/etc  # for "adb push"

```

Some above steps may be replaces with:

```
$ adb root
$ adb remount

```

and later remount RO:

```
$ chmod o-w /system/etc
$ mount -o remount,ro /system

```

Now your task to find executable or `*rc` file which you modify to achieve your goal:

```
$ find /etc -type f -perm +110
$ find /etc -name "*rc"
$ find /etc -name "init*"
$ grep -R /data /etc
$ grep -R /system /etc

```

Google about each candidate to get know how this file was used.

Good candidate for including custom scripts are lines from:

```
$ grep service /init*.rc

```

As each device unique you may need to do own guess about search criteria...

For example I found `/etc/mkshrc` which used by Korn shell. I update this file to extend `PATH` env var and now each time I do `adb shell` I have Busybox symlinks in my PATH!

See also **hard way** (if you have no luck with finding *magic* file): https://stackoverflow.com/questions/9768103/make-persistent-changes-to-init-rc
> 6 votes

# Answer
I tried all these methods and none of them worked for me. What worked however was based on lord-ralf-adolf's answer here How to run a script on boot in CM12.1?

basically, find the file `/system/etc/install-recovery.sh` and add the following line at the beginning `/data/init.sh &`

then

```
touch /data/init.sh
chmod 755 /data/init.sh

```

Done! You can now put whatever you want in `/data/init.sh` and it will run on startup. If the file `/system/etc/install-recovery.sh` is not in your system then this answer won't work for you. Don't bother creating it.
> 3 votes

# Answer
Things were simple before Android 5 when SELinux wasn't `enforcing`. You could put your code in any script or replace a binary with script which was executed with root privileges on boot. Another method was to define a custom `init` service specifically to batch execute scripts from some directory.

Based on these approaches custom ROM developers introduced different *pseudo-`init.d`* phenomenon like `/etc/init.d/`, `/etc/install-recovery.sh`, `/etc/init.qcom.post_boot.sh`, `/system/bin/debuggerd`, `/data/init.sh`, `/data/local/userinit.sh`, `/data/local/init.d/` etc.

However a process running with UID `0` but in a restricted SELinux context is quite helpless. A service started in `init.rc` file with `u:r:init:s0` context can't even execute a shell script from `/system/bin/`, so SELinux policy needs to be patched to inject an *unrestricted* context e.g. Magisk defines `u:r:magisk:s0`. After that it's possible to run a script directly as `init` service or from `init.d`-like directory.

For details see How to run an executable on boot and keep it running?
> 1 votes

# Answer
Simple way (working):

1. Prepare your post-boot commands in a script, say `/system/xbin/post-boot` (set exec perm)
2. Add the above custom script path at the end of `/system/etc/init.qcom.post_boot.sh`, e.g.

```
# echo /system/xbin/post-boot >> /system/etc/init.qcom.post_boot.sh

```

Done!

(If you can't find the `qcom.post_boot.sh` (Qualcomm devices), look for any `post_boot` scripts)
> 0 votes

# Answer
This ROOT method works for 4.1.1 Jellybean, and would probably work for other versions as well. There is a fantastic app called init.d scripts support by RYO Software (com.ryosoftware.initd). Make sure you have `'Try to acquire root privileges'` checked. Permissions for startup script are `0055`, ownership `system.sdcard_rw`. Permissions/Ownership of startup script can probably be left to defaults.

If you try to run your script indefinitely in your main script, it won't work. But there is a way to do it:

Put this somewhere in your **main startup script**:

```
sh /data/BackgroundScript.sh &

```

Then make sure permissions and ownership are right:

```
chmod 0755 /data/BackgroundScript.sh
chown root.root /data/BackgroundScript.sh

```
> 0 votes

---
Tags: boot, shell, scripts
---


# Question
Title: Is it possible to have temporary root access on Termux or any other terminal without rooting your Android phone?
I would like to know whether it is possible to be able to have temporary root access to an Android phone using a Termux or any other terminal, in the same way that Ubuntu does, without rooting your phone.

# Answer
Ubuntu for PC is permanently rooted. It comes with root user as well as with the mechanism to allow a process to gain superuser privilege when requested so and authenticated by the user (that which you considered temporary root). Android devices, on the other hand, do not provide the mechanism to gain superuser access. That mechanism, often involves installing a `su` binary coupled with some daemons and hacks, provides the user a way to gain elevated privileges and manage that privilege on a per app basis.

Even if you root a device, it is not like every app or process gets to have superuser access on its own. It is the user, through a superuser manager app such as SuperSU and Magisk, who manages whether to permit temporary or permanent access to superuser privilege.
> 2 votes

# Answer
Rooting phones is usually done using root exploit scripts which day by day Google releases patches. Most of the rooting tools and scripts focus on getting permanent root, but temporary root is also achievable.

However, the question you have asked is to gain root access through an Android Application like Termux, which simulates a Terminal Emulator, which is not possible yet. But you can gain temporary root access nowadays if your device is at most Android 7.1.1 (Nougat) using Dirty Cow exploit, but you will need a PC. However, it will be temporary root access.
> 1 votes

# Answer
Try the Shizuku app on the Play Store... follow the guide to set it up (only 3 steps) and you are good to go :-)
> 0 votes

---
Tags: root-access, terminal
---


# Question
Title: Can I enable USB debugging on Fig Flip II (Kosher OS)?
I have Fig Flip II running on Kosher OS (Android 11) on which Developer Options is blocked, so when I press the build number 7 times, nothing happens.

I can't install apps on the phone. When I try opening an APK file it says 'APK not allowed', but it does have a package installer - so I can't install a USB debugging app.

Is there a way for me to enable USB Debugging on this phone?

# Answer
> 1 votes
If there is a way to enable USB debugging, the manufacturer will see that as a bug. It seems that some Hasidic Jews see the Internet as a major danger to their culture, but feel that mobile telephony and GPS navigation are OK and useful.

There is thus a market for Kosher phones, which provide the acceptable features without the problematic ones. Other companies distributing those include Kosher Cell, Planet Cell, Safe Cell, and Kosher Mobile.

Most of these phones are normal Android or iOS devices with filtering software installed. Fig Kosher appears to do the job more thoroughly, with a customised version of Android, "KosherOS", which leaves out problematic features.

It appears that users of Kosher smartphones have problems with temptation, or fear that their teenage children will be tempted, so these phones are tightly locked down. Allowing USB debugging would run the risk of phone users being able to install apps, such as a web browser, via `adb install`, and preventing that is the whole point of Kosher OS.

Do Fig phones get security updates? The KosherOS on them seems to be based on Android 11, which left support in February 2024. There is a later KosherOS based on Android 13, but there's no mention of it on the Fig website.

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


# Question
Title: Cannot rate some installed apps on Google Play Store
It looks like I can rate some apps on Google Play store and cannot for some other ones while both are installed on my smartphone.

Here are two examples.

1. InShot app is installed on my phone. But, Google Play Store does not list it under Installed tab. And it is not allowing me to rate or review this app.
2. Kinemaster app is listed under Installed tab and I can give it rating.

I tried all the solutions in the question Cannot rate apps on Google Play. But, these aren't working.

This issue exists with quite a few of the apps on my device. So, why isn't Google Play Store allowing me to rate some installed apps? Is there any solution?

EDIT: From this Google Play thread, it looks like many people faced the same issue.

# Answer
Also happening with my application also, I am not sure but I checked it's happening on my company email, Google has an algorithm in which you can't rate your company app OR you can not rate the app with an organization account but with my personal account I can rate it.
> 1 votes

# Answer
I think Google is purposely screening our reviews, I've seen apps where every review read claims the app is a scam but still has a 4.5-star rating. I have come across maybe 10 apps that have over 50k downloads but no reviews and even though, I found the app to be nothing but a scam ADWARE, and didn't work, Google would not allow me to leave a review.
> 1 votes

---
Tags: google-play-store, app-ratings
---


# Question
Title: Typing other password to start other Android launcher
On an android 8 phone, I would like to be able to open a different launcher (or user session) depending on the password that I type (or the pattern that I draw).

Example :

* when I type "real\_password123", my phone opens with all the usual apps and documents.
* when I type "fake\_password123", my phone opens and shows only a selection of apps and hides documents. But it is not visible that the current session is a fake one.

Usecase : If relatives or authorities put pressure on you to reveal your phone password, you may want to give in, and still protect your privacy.

Tried so far : The Automate automation app that has a "When login failed" event, which can be used for instance to take a picture when the wrong password is given; but I can't get it to start an alternative launcher or session.

# Answer
A solution to the problem is to use something like parallel space. It allows you to run clone versions of apps.

Install, configure and use sensitive apps inside there. On login, the user will see the normal space only. When required, you run parallel space and use the sensitive apps.

1. Make sure you don't leave a shortcut for parallel space on your home screen. And put a password on it.
2. Using an automate style app to run parallel space automatically for all users, wont work, because you can always access normal space.
> 0 votes

---
Tags: password, launcher, multi-user
---


# Question
Title: I keep seeing a popup in Android: "Install now to control when your device updates" - is my phone compromised?
I am seeing this popup displayed occasionally over more than one app (in this image, it is appearing over my calendar app).

This appeared on a Google Pixel 6 Pro, which is updated to the latest Android 12. It appears without any prompting action on my part, which makes me suspicious. Furthermore, it doesn't identify itself as a system popup.

I'm extremely suspicious of this and I'm wondering if anyone else has seen it in the wild.

# Answer
**Google Play Services shows that popup.**

Ryan M (an employee of Google/Android at the time of writing) commented:

> \[...\] these strings are present in the Google Play Services codebase for the update functionality, so while I personally haven't seen that exact screen, I would believe it's real.

However, this doesn't really help the user to determine whether the popup they see is legit or not.

---

**Eli Billauer posted a detailed explanation about preventing the Android system update on his website, *including the popup.*** Quoting the relevant parts on how to check who is responsible for the popup (log output is trimmed for brevity):

> **Who’s behind the popup window?**
>
> The first step is to figure out what package initiates the request for an update.
>
> \[...\]
>
> Now some hands-on. When the popup appears, go
>
> ```
> $ adb shell dumpsys window windows > dump.txt
>
> ```
>
> That produces a lot of output, but there was this segment:
>
> ```
>   Window #10 Window{28d0746 u0 com.google.android.gms/com.google.android.gms.update.phone.PopupDialog}:
>     [...]
>     mOwnerUid=10146 showForAllUsers=false package=com.google.android.gms appop=NONE
>     [...]
>     mBaseLayer=21000 mSubLayer=0    mToken=ActivityRecord{577992f u0 com.google.android.gms/.update.phone.PopupDialog t26}
>     mActivityRecord=ActivityRecord{577992f u0 com.google.android.gms/.update.phone.PopupDialog t26}
>     [...]
>     WindowStateAnimator{9e9cbdf com.google.android.gms/com.google.android.gms.update.phone.PopupDialog}:
>       mSurface=Surface(name=com.google.android.gms/com.google.android.gms.update.phone.PopupDialog)/@0x223f02c
>       [...]
>
> ```
>
> Also, in the output of
>
> ```
> $ adb shell dumpsys > all.txt
>
> ```
>
> there was a much more to-the-point section saying (pretty much at the beginning of this huge file):
>
> ```
> Display 4619827677550801152 HWC layers:
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------
>  Layer name
>            Z |  Window Type |  Comp Type |  Transform |   Disp Frame (LTRB) |          Source Crop (LTRB) |     Frame Rate (Explicit) (Seamlessness) [Focused]
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------
>  [...]
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------
>  com.google.android.apps.nexuslaunche[...]exuslauncher.NexusLauncherActivity#0
>   rel      0 |            1 |     DEVICE |          0 |    0    0 1440 3120 |    0.0    0.0 1440.0 3120.0 |                                              [ ]
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------
>  [...]
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------
>  com.google.android.gms/com.google.android.gms.update.phone.PopupDialog#0
>   rel      0 |            1 |     DEVICE |          0 |   48  698 1392 2511 |    0.0    0.0 1344.0 1813.0 |                                              [*]
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------
>  StatusBar#0
>   rel      0 |         2000 |     DEVICE |          0 |    0    0 1440  145 |    0.0    0.0 1440.0  145.0 |                                              [ ]
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------
>  NavigationBar0#0
>   rel      0 |         2019 |     DEVICE |          0 |    0 2952 1440 3120 |    0.0    0.0 1440.0  168.0 |                                              [ ]
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------
>  ScreenDecorOverlay#0
>   rel      0 |         2024 |     DEVICE |          0 |    0    0 1440  176 |    0.0    0.0 1440.0  176.0 |                                              [ ]
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------
>  ScreenDecorOverlayBottom#0
>   rel      0 |         2024 |     DEVICE |          0 |    0 2944 1440 3120 |    0.0    0.0 1440.0  176.0 |                                              [ ]
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> ```
>
> This is much better, because the window in focus is clearly marked. No need to guess.
>
> Another place to look at is
>
> ```
> $ adb shell dumpsys activity recents > recent.txt
>
> ```
>
> Where it said:
>
> ```
>   * Recent #0: Task{51b5cb8 #26 type=standard A=10146:com.google.android.gms U=0 visible=true mode=fullscreen translucent=true sz=1}
>     userId=0 effectiveUid=u0a146 mCallingUid=u0a146 mUserSetupComplete=true mCallingPackage=com.google.android.gms mCallingFeatureId=com.google.android.gms.ota_base
>     affinity=10146:com.google.android.gms
>     intent={act=android.settings.SYSTEM_UPDATE_COMPLETE flg=0x10848000 pkg=com.google.android.gms cmp=com.google.android.gms/.update.phone.PopupDialog}
>     mActivityComponent=com.google.android.gms/.update.phone.PopupDialog
>     [...]
>     Activities=[ActivityRecord{577992f u0 com.google.android.gms/.update.phone.PopupDialog t26}]
>     [...]
>
> ```
>
> This is interesting, as it says which Intent and Activity stand behind the popup, just by asking what the last Activity requests were. Even more important, if the popup was dismissed or disappeared for any other reason, it can still be found here.
>
> So no doubt, it’s com.google.android.gms that stands behind this popup. That’s Google Mobile Service, and it’s a package that is responsible for a whole lot. \[...\]
>
> Under the section “ACTIVITY MANAGER PENDING INTENTS (dumpsys activity intents)” there was
>
> ```
>     #8: PendingIntentRecord{50a35f1 com.google.android.gms/com.google.android.gms.ota_base broadcastIntent}
>       uid=10146 packageName=com.google.android.gms featureId=com.google.android.gms.ota_base type=broadcastIntent flags=0x2000000
>       requestIntent=act=com.google.android.chimera.IntentOperation.TARGETED_INTENT dat=chimeraio:/com.google.android.gms.chimera.GmsIntentOperationService/com.google.android.gms.update.INSTALL_UPDATE pkg=com.google.android.gms (has extras)
>       sent=true canceled=false
>
> ```
>
> which I suppose indicates that com.google.android.gms has requested to run its own .update.INSTALL\_UPDATE at a later stage. In other words, this is the indication of the recurring request to run the INSTALL\_UPDATE intent.

Thus, if `com.google.android.gms/.update.phone.PopupDialog` appears in the log output, then it should be a legit popup from Google Play Services. Otherwise, the package name of the offending app will also be shown.
> 2 votes

---
Tags: security, privacy, malware, google-pixel, google-pixel-6
---


# Question
Title: Android on TV vs Chromecast built-in (official Android TV)
Recently, I have seen TVs announced as official Android TV (Android 11) with Chromecast built-in. But these TVs are hardly usable without setting up a Google account.

However, I am aware of TVs with Android 9 completely usable by adding a Google account, that includes a media player/web browser, access to external storage, and even a specific store for apps.

I can't find a comparative but at least I found some differences and big limitations:

* The lack of a preinstalled web browser
* A limited and restricted Play, no Chrome or Firefox
* Not possible to install APKs from external storage
* Some apps installed from APKs are not recognized by the default launcher (requires a sideload launcher)

Is there information about all the limitations introduced by Google? Is it possible to move to standard Android/Play? Would future updates of Android TV remove potential installed APKs?

# Answer
> 3 votes
So a few notes, and **TDLR**:

1. Devices with Google Play Services/Google Play Store are expected to follow the Android Compatibility Program and specifically the Android Compatibility Definition Document (CDD) for the version a particular device is released with.
2. As you can see the television section of the CDD for Android 9 has fewer requirements that the CDD for Android 13, but more importantly for Android 13 there exists a CDD for Android 13 - TV Android - Developer Compatibility section which means the `adb` must be available.

**Your post in detail**

So lets go through your points:

> * the lack of a preinstalled webbrowser

I'm not aware of a requirement in the CDD for a preinstalled web browser. The fact that Chrome comes with Google Play Services is a contract issue between Google and Device Manufacturer (OEM/ODM).

> * a limited and restricted Play, no Chrome or Firefox

At a guess those apps don't support Android TV as specified in the Developer documentation which calls out using `android.intent.category.LEANBACK_LAUNCHER` in the Android Manifest file. These values are baked into the app at compile time.

> * some apps installed from apks are not recognized by default launcher (requires a sideload launcher)

Enforcement of the above rule as you have seen appears to be circumvented by alternate launchers.

> * Not possible install apks from external storage

So in the CDD, Section 4 for Application Packaging Compatibility

> **SHOULD** provide a user affordance to grant/revoke the permission to install apps from unknown sources per application, but **MAY** choose to implement this as a no-op and return RESULT\_CANCELED for startActivityForResult(), if the device implementation does not want to allow users to have this choice. However, even in such cases, they **SHOULD** indicate to the user why there is no such choice presented.

The requirement from installing for `unknown sources` is **optional** by the manufacturer.

The saving grace is that `adb` / developer mode appears to be hard requirement, so developers trying to debug their app on a particular device have the ability to do so.

As for your questions:

> Is there information about all the limitations introduced by Google?

See prior referenced documentation about what is mandated for a device launching with a specific version of Android.

> Is it possible to move to standard Android/Play?

Unlikely and will probably require root access.

> Would future updates of AndroidTV remove potential installed apks?

No for apps installed via `adb` as those would be used by developers for testing/debugging. If a published app via the Google Play Store is found to be malicious, Google has been known to remove those apps. Individual app publishers may set API toggles within their app, i.e. a streaming service is turning off support for older versions of their app.

---
Tags: android-tv, chromecast, smart-tv
---


# Question
Title: Gmail notifications stopped working (Android 9)
There are already questions about this, but they are quite old and the answers didn't work for me, so I think there should be a separate question for newer Android versions. Also in my case it's intermittent.

Gmail notifications do not arrive most of the time, although very few times they do, for example after a reboot. I have updated the Gmail app, I would also update Google Play Services but it doesn't show up as an app so I guess it's integrated and updates automatically. I have also cleared the Gmail app cache data.

The notification options are all activated for this app (I have checked in the system's notification options and also in the Google options)

Any ideas for something else that I could try?

**EDIT:**

@Andrew .T's comment seems to be the key. I wasn't able to stop the system from killing my apps, so I installed another email app with Gmail support. Then that app showed the notifications, other times both of them show notifications, and now funnily enough Gmail is showing notifications and the new app is not :/

# Answer
Try running the checklist below - To make sure the settings are correct:

1. Long press on the Gmail icon to reach its app info page. Allow all notifications from it.
2. Launch the Gmail app. In the top left, tap Menu. Tap Settings. Select your account. Tap Notifications and select a notification level.
3. Long press on the Gmail icon. Find Battery \> Optimize battery usage \> Change the setting to Unrestricted
4. Turn on: Settings \> Accounts \> Automatically sync app data (at the bottom of the screen)

Further reading
> 1 votes

---
Tags: notifications, gmail
---


# Question
Title: Qualcomm / others NAND partition table layout
For a new Android board, who defines the partition table layout? Is it the SOC vendor or the customer of the board?

Which tools are used to make the partition in the QC board? Is it QPST?

In the AOSP code, is there a mapping file for the partition info?

# Answer
Android defines the specification for partition layout. SoC vendors and OEMs are android partners that work with Google to comply with Compatibility Test Suite & Vendor Test Suite certification of the device in order to be eligible for Google app licensing and using the android trademark in their products. The certification defines mandatory (MUST BE) and optional (SHOULD BE) requirements that cover both hardware and software standards.

There are industrial UFS flash chip programming machines that factory load the UFS storage in masses during assembly of the device. Aftermarket flashing tools that you use to flash images are not industrial but the protocol to communicate with the storage is same. Before SoCs are flashed with partition images, chipmakers burned *primary bootloader* (also called Boot ROM) on CPU die that communicates with the UFS programmer. This is where EDL mode in Qualcomm Snapdragon SoCs lives. It is immutable and acts as root of trust for secure boot.

> In the AOSP code, is there a mapping file for the partition info?

## Device tree overlays

> A device tree (DT) is a data structure of named nodes and properties that describe non-discoverable hardware. Kernels, such as the Linux kernel used in Android, use DTs to support a wide range of hardware configurations used by Android-powered devices. Hardware vendors supply their own Device Tree Source (DTS) files, which are compiled into the Device Tree Blob (DTB) file using the Device Tree Compiler. These files are then used by the bootloader. The DTB file contains a binary-formatted flattened device tree.
> 2 votes

---
Tags: partitions
---


# Question
Title: How can I access data (such as WiFi keys) in an encrypted Titanium backup?
How can I decrypt an encrypted "Titanium Backup" backup **using standard (Linux) tools**?

### Example:

Wi-Fi serves as a practical example, many other uses may apply to the solution I'm looking for.

If I quickly want to access backed-up Wi-Fi credentials from my Linux box, I know a fast way. With encrypted backups, I'm currently out of luck.

That's my quick & dirty way on how to do it without encryption so far:

```
me@local:~$ adb shell
root@android:/ # cd /sdcard/TitaniumBackup/
root@android:/sdcard/TitaniumBackup # ls *W*46.*gz
com.keramidas.virtual.WIFI_AP_LIST-20120622-105046.tar.gz
root@android:/sdcard/TitaniumBackup # gunzip -c *W*46.*gz | grep -C1 MyAccessPoint
network={
  ssid="MyAccessPoint"
  psk="supersecrecretpassphrase"

```

*Some* details on the company's site: https://www.titaniumtrack.com/kb/titanium-backup-kb/titanium-backup-cryptography.html

# Answer
There are no standard tools as of now yet. TiB uses their own format which they kindly shared with me when I asked them the same above question.

In fact someone needs to write it still. It could be done in Java or even using bash + openssl only.
> 2 votes

# Answer
I have found a **working** solution on GitHub: https://github.com/phyber/TiBUdecrypter

## 1. Install/upgrade dependencies (on Ubuntu)

```
apt-get install python2.7
pip install --upgrade docopt
pip install --upgrade six
pip install --upgrade PyCrypto

```

## 2. Get script from GitHub

## 3. Decrypt a backup

```
python2.7 tibudecrypt.py com.keramidas.virtual.XML_WIFI_AP_LIST-20140711-012128.xml.gz

```
> 6 votes

# Answer
I wrote an implementation in PHP:

https://github.com/bhafer/TitaniumBackupDecrypt

Usage:

```
php TitaniumBackupDecrypt <.tar.gz file>

```
> 1 votes

# Answer
2023 updated answer for OS with Python3:

1. Download: https://github.com/half-duplex/titanium-decrypt/archive/refs/heads/main.zip
2. Extract to any folder

Install requirements:

```
python -m venv venv
. venv/bin/activate && \
python -m pip install -Ur requirements.txt

```

Decrypt archive:

```
. venv/bin/activate
python tdecrypt.py my-encrypted-backup.tar.gz

```
> 1 votes

# Answer
According to the Titanium Backup Knowledge Base, TB backs up with public/private key encryption. If you have the private key, you should be able to access (decrypt) the backup file. The easiest way to do this seems to me to be via TB itself, and then perhaps re-save it as non-encrypted.
> 0 votes

---
Tags: wi-fi, encryption, titanium-backup
---


# Question
Title: Is there a way to reboot a Pixel 4a with a broken power button?
Power button broke months ago. I've been very careful to never let it shut off, but last night it finally happened.

Is there any way to make it reboot? I tried pressing Volume- and plugging in, and that brought up the boot menu, but you need to use the power button to select anything from the boot menu so now I'm stuck. In fact, I may be worse off because now I'm stuck in the boot menu.

I tried `adb restart`, but adb doesn't see the device. (It can see other Android devices, so I know adb is installed and functioning.)

# Answer
> 0 votes
According to Addictive Tips, you can do this on a Pixel phone in the method you started on:

> Press volume up and/or down (varies by manufacturer) and plug your device into your computer. Use the following as an outline.
>
> Nexus and Pixel Devices: Press and hold the volume down and plug in the device. When the Google splash screen appears, release it.
>
> If your device does not go into Bootloader using the above method, drop a comment with your device name and model and we’ll try to figure out how to work that one out.
>
> Once the phone is in bootloader mode, run the following command in ADB (must be connected to a PC);
>
> `fastboot continue`
>
> It will immediately boot your phone.

Please note the error from the provided site noticed by @Robert in the comments below: ADB commands are different than fastboot commands. When the device is in fastboot mode, you use `fastboot` rather than `ADB` when targeting the device. You can obtain the drivers necessary from Google or somewhere like XDA.

---
Tags: reboot
---


# Question
Title: Opening items from the google news feed using Firefox?
Im using the google news feed (swipe left from home) a lot. However, i want to open the respective links using firefox instead of chrome (mostly because i can disable autoplay on firefox, but not on chrome i dont think). I tried looking through the options as well the internet but i havent found a way to open these news items in "custom" browser. Is it possible ?

# Answer
There is one "simple" way to open your Google Feed links in Firefox instead of Chrome. **Disable Chrome** in your apps. If you do not need Chrome for anything, this is certainly the easiest way. Immediately, all feed links now open in Firefox. The Google app still works for search, and now Reddit links for example now open in Reddit immediately as a side effect.

I also have Chrome Remote Desktop installed, which wants Chrome installed, but is happy to work on Firefox anyway, so it would seem.
> 2 votes

---
Tags: chrome-for-android, firefox-for-android
---


# Question
Title: WhatsApp not prompting to restore from Google Drive backup
Transferring WhatsApp from a Samsung S7 to a Samsung 10e.
Backedup to Google Drive as per instructions, 174mb of backup exists

Setup WhatsApp on the new phone (same number, SIM swapped over etc) and it doesn't prompt me to restore the backup.

Backup exists, I can see details if I go to Settings\>Chats\>Chat Backup, but I can't see any way to make it use that backup. (I'm assuming if I click Backup, it will backup current state, not restore??)

How do I get it to use the backup it knows exists?

# Answer
> 3 votes
Late to the party, but just experienced this on my own: I have to grant whatever permission that Whatsapp has asked for. Denying even one of them will lead to not showing the prompt.

# Answer
> 2 votes
> I'm assuming if I click Backup, it will backup current state, not restore??

Yes, don't tap backup. You will lose your entire backed up data. Also disable auto backup until the problem is solved.

Try reinstalling the app. This often helps.

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


# Question
Title: My music goes from headphones to speakers when the cable is in a weird angle
I have a pair of AKG K371 headphones, and when I twist the cable in a weird way, the music stops on the headphones and plays on the speakerphone, even though the device audio with headphones disconnected is 0.

Is there a way to completely disable the speaker when headphones are connected? I have root and Tasker.

# Answer
> 2 votes
You have a faulty cable. When the audio cuts out in the headphones, the 'phone thinks there is no longer a cable connected. Replacing the cable should fix the problem. Forcing it to always use the headphones won't work if headphones "aren't connected."

---
Tags: audio, headphones, speaker
---