# Question
Title: "This account is not allowed to use WhatsApp due to spam" after registering with a new SIM card
I have recently upgraded my mobile to Samsung Galaxy S24 Ultra. I kept my old S21 Ultra, with the idea to use that for personal things and my new S24 Ultra for business.

I had WhatsApp Business, installed on my old mobile, linked to my old mobile number. I have since ordered a new SIM card, which I wanted to put in my old phone, to create a work-free SIM/number to use for personal, away from my work.

I factory reset my S21 Ultra, and when trying to register WhatsApp, it allows me through. As soon as I send one message, it immediately blocks the phone, saying "This account is not allowed to use WhatsApp due to spam" (chats are still on this device).

Despite factory reset, how do I permanently delete my old chats from old SIM/number so I can use WhatsApp on new SIM/number as hoped?

# Answer
It sounds to me that new mobile number you have been assigned was previously assigned to someone whose account was blocked by Whatsapp. And Whatsapp is linked to your mobile number.

It is quite common for providers to recycle the numbers (especially for landlines).

Try the new SIM on your S24, if it still has the same behaviour then you will need to obtain a different mobile number.

If you are unable to remove the chats on the old phone, put the old SIM in the old phone and remove the chats. Note, they will then be gone permanently. They are linked to your old SIM (number). You will not be able to access them on te new phone either.
> 2 votes

---
Tags: whatsapp-messenger, sim-card
---


# Question
Title: How to print files using the Android's Default Print Service?
I'm on Android Oreo which is version 8. This has introduced a way to no longer need any services outside of the Android OS and instead use its "Default Printing Service" for printing with an Android phone. These outside services include *Google's Cloud Print, HP, Canon, Xerox, & several others.* Besides those services, you may stick with the built-in one provided by Android itself and it's called "Default Print Service by Android", and in order to begin using it, you'll first have to enable it if not done so already. To do this, go to Settings -\> Advanced -\> Printing -\> Select it, then enable. Now, what it'll do is search for the printers in your network and you know this by what WiFi you're on using your phone.

The problem is, after the list refreshes, you can't go any further. It just let you know: *these are the printers in your network and nothing more.* I see the printer I'm going to use to print to, but unable to do anything more than to identify that it's in my network by displaying an IP underneath it. So, I did online research with those responsible and that didn't help because there's no instructions as to how to print. So then, I'm left with a recognized printer not being able to have the option to print or at least show me how to get to the option to print.

My question is **how do you print from Android using the Default Print Service besides just using it as a tool to view printers in your network?**

# PROBLEM

* Android's "Default Print Service" only shows printers but is unable to choose a printer for printing
    + An example of me printing is viewing a PDF document and for Android, you have to either find the following options when viewing a file via cogwheel/3-button icon:
        - *Share...*
        - *Send To...*
        - *Open With...*
    + At this point I don't see "Default Print Service" as a selection and this is the problem

# SOLUTION

* None-so-far

#### NOTE

* Finding "Default Print Service" in Android may vary with different phones
    + Location: Settings -\> Advanced -\> Printing
* Files can be images to anything with text like a PDF or even a txt file

# Answer
In apps that support this type of printing, e.g. Simple Gallery Pro | F-Droid you can simply choose print from the menu and you are taken to a print preview that interfaces with the Default Print Service. Here you can choose which of your printers to use and adjust paper size etc and finally send the job off to print.
> 1 votes

# Answer
> how do \[I\] print from Android using the Default Print Service besides just using it as a tool to view printers in your network?

Short answer:
You can't without an application that has print capabilities, because you can't connect directly to the service to do anything aside from configuration.

Longer answer:
You are confusing a **system service** with a **user application**.

Basic rule:

* A **service provides the *ability* to do something** like Bluetooth, internet, WiFi, phone calls, etc.
* An **application provides the *way*** for a user to ***use*** a particular service.

For example:

* The network **service** provides apps the ability to connect to the internet.
* A web browser is an **application** that uses the network service to get a connection to the internet.

To print something, you need two things:

1. A configured service that is attached to your printer, (which you already appear to have).
2. An application that can use the service to print something. For example: Libre Office, Photos, a text editor, etc. that has the ability to print.
> 0 votes

---
Tags: pdf, printing
---


# Question
Title: Website links on home screen disappeared after device reboot
I saved websites to my home screen on my phone. But for whatever reason, every time I update, it erases those websites that I save on my phone. Earlier today, I restarted my phone. When I restarted it, this happened.

I need to save my websites there, as I can't remember them. But every time I try, they disappear.

How can I get them back? If it's relevant, it's a phone from Cricket Wireless.

# Answer
I have been using my browser "bookmarks" to provide the easiest way to manage my links. I have tried many different browsers bur I have to say the duck duck go browser does all I need. I use it for this purpose in the following way. When I brows the web sites and I want to have instant access later. Open duck duck Find your required web page. Tap the top three dot menu. Choose save bookmark. (If a save to favourites) Pops up at the bottom of your screen then tap it. If it doesn't then tap the three dot menu again and tap "bookmarks". When the bookmarks list opens up you can tap the menu to the side of each bookmark and choose add to favourites (or remove from favourites). That's it. Now everytime you open your browser the favourites you have set will all be showing as an instant link to your favourite pages.
> 0 votes

---
Tags: data-recovery, browser, motorola-moto-g, home-screen-shortcuts
---


# Question
Title: Legacy Android 4.0 CA-Certificates Update
I have two legacy Android 4.0 Garmin Monterra devices. It's not possible anymore to open the Google Play Store or some websites. When I open most of the websites with Chrome, I receive an SSL error 107. Some websites with HTTPS or HTTP are possible to open. I'm guessing that there is an issue with the CA certificates.

I found this solution Update trusted SSL root certs in AOSP, but it's not possible to copy the certificates to the devices. I tried the ADB-Shell but without any success (permission issue).

Is there any solution to update expired certificates? Is it possible to convert the ca-certificates from the .0 file format to any other possible format and to import over the SD certificate import from Android 4.0?

# Answer
I spent a fair amount of time trying to work around the TLS limitations of Android 4.0.4 and in the process, found an install path that has given me access to the Play Store on Monterra. I was even able to download a few apps on the Monterra via the Play Store. I already had success using ADB to sideload any APKs that I wanted, but I was not going to be happy until I could log in to all things Google.

Not sure if this matters but I have Opera Mini installed before starting all of this...

The first step was to go through the app settings and clear cache \> clear data \> disable each Google entity. I disabled everything including the keyboard (actually, I think I left Google Maps enabled). Next, I went through and did the following in this exact order and with these specific APK versions:

1. Reenable Google Account Manager in App settings. Then use ADB to reinstall with the `-r` flag

```
adb install -r "com.google.android.gsf.login_4.4-927798-19_minAPI8(nodpi)_apkmirror.com.apk"

```
2. Reenable Google Services Framework. Use ADB to reinstall with the `-r` flag

```
adb install -r "com.google.android.gsf_4.0.1-228551-14_minAPI14(nodpi)_apkmirror.com.apk"

```
3. Reenable Google Play Services. Use ADB to reinstall with the `-r` flag

```
adb install -r "com.google.android.gms_14.8.49_(000302-231258850)-14849001_minAPI14(armeabi-v7a)(160dpi)_apkmirror.com.apk"

```
4. Reenable Google Play Store. Use ADB to reinstall with the `-r` flag

```
adb install -r "com.android.vending_9.8.31-all_0_PR_195868990-80983100_minAPI14(armeabi,armeabi-v7a,mips,mips64,x86,x86_64)(240,320,480dpi)_apkmirror.com.apk"

```

The above is what I had documented. The following can be accredited to my best attempt at recollection. I think I opened the Play Store and was prompted with the usual login request. I expected it to fail, but to my surprise, it authenticated me and gave me a list of antiquated apps. One of which was Puzzle Block which was installed without a hitch! I honestly do not know why it is working... somehow it is hitting a repo with compatible apps. Feeling confident I proceeded to reinstall Chrome:

5. Reenable Google Chrome. Use ADB to reinstall with the `-r` flag

```
adb install -r com.android.chrome-42.0.2311.111-2311111-minAPI14.apk

```

I uninstalled Opera Mini since it was not performing as well as Chrome v42...

It's worth noting that any APKs you load, especially the ones I listed, need to be API version 14. Others may work, but my initial attempt at this failed and I think it failed because one of the APKs I loaded was version 15.
> 2 votes

---
Tags: 4.0-ice-cream-sandwich, certificates, https
---


title: Why does the app Automate require ADB?

text:
# Question
Title: Why does the app Automate require ADB?
I need to set up an app-killing service for **unrooted** Android 9 devices using Automate. The service has to launch automatically at device start and keep sending kill commands to selected system (!) services at regular intervals unless said services are in focus/in the foreground.

Unfortunately, setting up and running Automate seems unnecessarily cumbersome. I have used `adb` extensively, so no problem there. However, step 5 in the setup manual says

> 5. On the PC, execute the shell command `adb tcpip 5555`. **This step has to be repeated after every device reboot.**

Also:

> Once paired/authorized the service will start automatically when it’s first used, e.g. by a block using it, then run in the background **until** the system kills it, **the device is rebooted**, or the app is uninstalled or updated.

Having to hook up a *mobile* device to a PC after each and every reboot (e.g. due to empty battery) is completely impractical and contradicts the use of Android itself. Is there a way to set up Automate either 100% locally from within Android, or at least only once from a PC at the very beginning and then have the app run automatically even after a device reboot?

I have already set up a simple Automate flow as a minimal example and granted all necessary privileges, such as access to the SD card, executing shell commands, and access to Samsung accessibility service. Also, USB debugging is enabled in the developer options. But when running the flow, I get the following errors in the log output:

```
Flow beginning
Delay
App in foreground?
App kill
Failed to start privileged service
java.util.concurrent.CancellationException: Please execute: sh /sdcard/Android/data/com.llamalab.automate/cache/start.sh
java.util.concurrent.TimeoutException: Service startup timeout
Stopped by failure

```

# Answer
Automate does not require ADB nor a rooted device, but some features do, e.g. the App kill block to kill the processes of other running apps.

Setting up ADB is indeed a bit cumbersome since it's an app developer feature, it's not designed for easy use by app users or by the apps themselves.

Setting up Automate "100% locally", i.e. without needing a USB connected PC, can only be done on Android 11 or higher by using the system "Wireless debugging" feature. To do so simply choose the "Android Debug Bridge (ADB)" option as the "Privileged service start method" in Automate setting, then follow the on screen instructions to enable the "Wireless debugging" option and pair Automate with the device. The pairing process only have to be done once, but enabling "Wireless debugging" has to be done manually after every reboot, unless you automate the procedure.

The logged error message means Automate can't access/start its "privileged service", e.g. that the App kill block rely on, and tells you to execute the shell script to do so, this means you've selected the "Manually" option as "Privileged service start method". Try the "Android Debug Bridge (ADB)" option instead.
> 0 votes

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


# Question
Title: How can I circumvent regional restrictions in Google's Play Store?
I'm travelling to country X. I want to install an application which isn't available in my country, but is available in country X; but I prefer to download and install it in advance, while the data connection is still cheap.

Unfortunately, the Play Stores does not allow me to install this app. Is there any way to circumvent this limitation?

# Answer
Try the Market Enabler app (download the APK and side-load it.) It allows you to spoof your region, so that the Market thinks you're in the US.

As an alternative, you may want to see if this app is available via other distribution methods, such as from other reputable markets (e.g. Amazon Appstore, SlideMe.org, GetJar.com, etc.) Also reaching out to the developer can sometimes help.
> 22 votes

# Answer
Try using a VPN and a Google Play store e-mail address set to the region you want to download an app from (I created one specially for this purpose).

I successfully set up a free one day trial VPN using an Android app. Then I fired up the Google Play store and installed the apps that I wanted. Then uninstalled the VPN app (which disabled the VPN). Now I've got the apps that I wanted and am able to use them in my region.

Aside: The content these apps serve up (Dutch video) is available in my region through the web browser. And, when there are restrictions the apps and the web browser respect the geographic restrictions so I really don't get why these @$!$)&^ apps are region restricted.
> 5 votes

# Answer
I've tried this app which in just one click unlocked the market!

Market Unlocker
> 1 votes

# Answer
Google Play support says:

> * You can only change your Play country once per year.
> * When you change your country, you won’t be able to use your Google Play balance that you have in your old country in your new country.

So, avoid Google Play and use another market app. I suggest either:

Both allow auto-updating apps.
> 1 votes

# Answer
I overcame this by creating a new Google account localised to country X. In my case I needed a new phone number too (not associated to my existing Google account), but I already had a local phone number, so this was no issue. No VPN required, though I was already in country X.

After that, I was able to add the new Google account to my phone, switch to this account in the Google Play app, and then I could browse/access apps available in country X.
> 0 votes

# Answer
Install a VPN app from the store and hide your location play store won't recognize your location if you do that and remember to disable GPS
> -2 votes

---
Tags: google-play-store, localization
---


# Question
Title: Fastboot: failed flashing (remote: size too large)
I'm flashing a GSI image using fastboot. After entering `fastboot flash system system.img` I get this:

```
E:\AndroidSDK\platform-tools>fastboot flash system system.img
target reported max download size of 535822336 bytes
erasing 'system'...
OKAY [  0.016s]
sending sparse 'system' 1/7 (523260 KB)...
OKAY [ 17.280s]
writing 'system' 1/7...
FAILED (remote: size too large)
finished. total time: 17.306s

```

I also tried to flash it using TWRP, same problem.

What's the problem? Can I make system partition larger? Please help.

Edit: I have the latest `adb` version.

# Answer
Fastboot has an option -S Used to cut large files into small ones. Specific information can be found at man page:

```
fastboot --help

```

So, we can set the size of the crop block to 256MB:

```
fastboot flash -S 256M system system.img

```

Source
> 1 votes

# Answer
I had a similar problem with boot.img

After rebooting to system and again activating Fastboot mode (Volume down+Power) it worked perfectly.

Same mobile phone, same computer, just some reboots and some minutes later.
> 0 votes

---
Tags: fastboot
---


title: Recover data on OnePlus

text:
# Question
Title: Recover data on OnePlus
I'm trying to recover data from my phone cache or anywhere else my phone hides data from me. I have the new OnePlus 12 as well as my previous OnePlus 8t.

I'm not tech illiterate, and I'm not a tech genius. I'm looking for deleted data on both phones. I don't want to root the new OnePlus 12. I can root the OnePlus 8t, not that I know how to.

I'm seeking an intelligent, patient, individual who can ensure accurate phone guidance, in layman's terms.

# Answer
What type of files are you attempting to recover?

For image and media files, your best and most viable bet is to attempt to recover from cache (don't get your hopes up, as these are likely downsampled thumbnails, etc.). There are numerous applications that do exactly this, so a Google search will lead you to these apps (we don't give app recommendations).

If the data you are seeking to recover are within the domain of what gets synchronized by your Chrome browser or Google Account, then you *might* be able to get the data back. You can check the internal page `chrome://sync-internals` and dump the data and decompress it to sift through. You can also trigger a server-side sync event so that the contents update in the correct direction to recover you data.

Lastly, Google Backup can also be used to do the same, but it's a little trickier because there's no direct UI for you to manage the sync specifics. I can't recall exactly, but I remember reading there was an ADB command to manually trigger sync, it might be worth taking a look into if it helps your situation.

Hope that helps, and good luck!
> 0 votes

---
Tags: data-recovery, oxygenos, oneplus
---


# Question
Title: How to see notification history on Samsung Galaxy A24?
Often, my Samsung Galaxy A24 phone makes some sound, apparently a notification. A text flashes at the top of the screen for a second. While I rush to the phone, the text has gone away. How can I see the most recent notification, or all recent notifications?

When I swipe down from the top edge of the screen, a page with many device controls appears (probably called the notification bar). Yes, it shows many notifications, but I usually cannot find there the one of a minute ago (judging by the time stamp at the top-right of the notifications tile). Today, I see there are some notifications from a week ago.

What am I missing? Is there any other place to look for recent (or all) notifications? Is there a relevant setting?

# Answer
> 0 votes
This may vary by model and make, so YMMV.

Try navigating to `Notifications & Status Bar` \> `More settings`. Towards the bottom, there should be a `Notification History`; note you will need to go into that menu and toggle the feaure on before it will start backlogging your notification entries.

Once enabled, you can create a widget on your desktop and use your preferred home screen application to call on the activity directly, creating a shortcut directly to the Notification History page.

---
Tags: samsung, notifications
---


# Question
Title: Why is there a userdata partition in my /dev/block/mapper/ (which seems to mean that userdata is a dynamic partition)?
https://source.android.com/docs/core/ota/dynamic\_partitions/implement

> The supported dynamic partitions are:
> System
> Vendor Product
> System Ext
> ODM
> Note: Avoid placing userdata or any other permanent read-write partition inside super.

According to the source.android.com documentation, userdata is not dynamically partitioned?

version: Android 10

```
s:/ $ ls -l /dev/block/mapper/
total 0
lrwxrwxrwx 1 root root 15 1970-04-02 04:41 odm -> /dev/block/dm-3
lrwxrwxrwx 1 root root 15 1970-04-02 04:41 odm-verity -> /dev/block/dm-7
lrwxrwxrwx 1 root root 15 1970-04-02 04:41 product -> /dev/block/dm-1
lrwxrwxrwx 1 root root 15 1970-04-02 04:41 product-verity -> /dev/block/dm-5
lrwxrwxrwx 1 root root 15 1970-04-02 04:41 system -> /dev/block/dm-0
lrwxrwxrwx 1 root root 15 1970-04-02 04:41 system-verity -> /dev/block/dm-4
lrwxrwxrwx 1 root root 15 1970-04-02 04:41 userdata -> /dev/block/dm-8
lrwxrwxrwx 1 root root 15 1970-04-02 04:41 vendor -> /dev/block/dm-2
lrwxrwxrwx 1 root root 15 1970-04-02 04:41 vendor-verity -> /dev/block/dm-6

s:/ $ df -h
Filesystem       Size  Used Avail Use% Mounted on
/dev/block/dm-4  3.8G  3.8G     0 100% /
tmpfs            3.7G  1.1M  3.7G   1% /dev
tmpfs            3.7G     0  3.7G   0% /mnt
tmpfs            3.7G     0  3.7G   0% /apex
/dev/block/dm-5  450M  449M     0 100% /product
/dev/block/dm-6  2.3G  2.3G     0 100% /vendor
/dev/block/dm-7  118M  900K  115M   1% /odm
none             3.7G     0  3.7G   0% /sys/fs/cgroup
/dev/block/sda29 356M  3.3M  341M   1% /cache
/dev/block/sda13 4.9M  160K  4.8M   4% /dev/logfs
/dev/block/sda31 976M  862M   87M  91% /cust
/dev/block/dm-8  226G  100G  126G  45% /data
...

```

# Answer
Roughly speaking, `/dev/block/mapper/userdata` partition is by the `/dev/block/by name/userdata` partition map. Through an encryption or decryption mechanism. It should encrypt or decrypt the original userdata partition using the key in the metadata partition to get a partition like dm-x.
I haven't looked too closely into the details.

> Note that we make an exception for metadata-encrypted devices, since dm-default-key is already a wrapper.

https://cs.android.com/android/platform/superproject/+/master:system/core/fs\_mgr/fs\_mgr.cpp

```
static bool create_crypto_blk_dev(const std::string& dm_name, uint64_t nr_sec,
                                  const std::string& target_type, const KeyBuffer& crypt_params,
                                  std::string* crypto_blkdev)
bool fscrypt_mount_metadata_encrypted(const std::string& blk_device, const std::string& mount_point,
                                  bool needs_encrypt) {

```

https://cs.android.com/android/platform/superproject/+/master:system/vold/MetadataCrypt.cpp
> 0 votes

---
Tags: partitions
---


# Question
Title: How to set up a host to IP mapping on unrooted Android?
I've a website running on my computer, and I want to test it from my Nexus 7 tablet. I.e. over the local WiFi LAN. If I type in the IP address it connects, but shows the wrong web site, because I'm using named virtual hosting.

So, what I want to do is be able to type `mysite.local` in to Chrome/Firefox on the Nexus, have them convert that to `10.1.2.3` (or whatever the local IP address is), then call the `10.1.2.3` server giving `mysite.local` as the Host to request.

*My Question:* Does an Android 4.x tablet have an `/etc/hosts` files, or equivalent, that I can edit? (Without having to root the tablet, or anything like that.)

On my Linux computers I do this by adding an entry in `/etc/hosts`:

```
10.1.2.3  mysite.local

```

(Or `Windows\System32\drivers\etc\hosts` on a Windows machine does the same.)

BTW, this is a semi-duplicate of Manually set a hostname for IP address (i.e. /etc/hosts equiv.?), but that question was for Android 2.2, where apparently it was not possible. (One of the alternative ideas suggested there was configure DNS at the local router, but as far as I can tell my router does not do DNS locally so does not have that option. I could set up my own DNS server to do this, but that feels like a Big Job Solution.)

# Answer
You cannot simply edit the hosts file on Android, as it resides on a read-only file system: `/system/etc/hosts`, see:

Alternatives are:

* use a DNS server like DNSMasq in your local network to take care for that "centrally"
* use "root powers" to force-edit the system file as described above
* install a "local DNS server" on your Android device to use that, e.g. DNS Server
> 11 votes

# Answer
As mentioned by lzzy, you can use DNSMasq server to achieve this. But Chrome uses own DNS resolving process and this method may not work.

To start the server use the following command:

```
sudo /usr/local/sbin/dnsmasq -d \
                             --no-hosts \
                             --no-resolv \
                             --conf-file=/dev/null \
                             --server=8.8.8.8 --server=8.8.4.4 \
                             --address=/example.com/192.168.0.101

```
* `sudo` required to bind on port 53
* `-d` start server on foreground
* `--no-hosts` do not use local hosts file
* `--conf-file=/dev/null` do not use any config file
* `--server=8.8.8.8 --server=8.8.4.4` addresses of upstream servers (Google DNS in this example)
* `--address=/example.com/192.168.0.101` hosts to override. **You need to add your hosts at this line. You can also add multiple hosts there.**

Then change DNS server on the device. This can be easily done using the DNS Changer app.

After these steps, the requests to these hosts should be sent to your addresses.
> 2 votes

# Answer
The simplest way to define a *host to IP mapping* is `hosts` file as mostly DNS resolvers honor that file. But as mentioned in other answers, it's not possible to edit `/etc/hosts` without rooting Android device. Accessing web server with IP address also won't work for you due to virtual hosting. Here are a few options you can go with on unrooted device:

* Use a VPN app which intercepts DNS traffic and looks up a custom `hosts` file before making queries to configured upstream DNS server.
* Run a DNS server; they can be configured to return a predefined IP address for a specific name. For instance if using `dnsmasq`, add `address=/mysite.local/10.1.2.3` to *“dnsmasq.conf”*. Or on `dnscrypt-proxy` add `mysite.local 10.1.2.3` to *“cloaking-rules.txt”*.
* Configure phone to use a proxy or VPN and then add the entry `10.1.2.3 mysite.local` to `hosts` file on proxy server or run a local DNS server on VPN server.
* If bootloader is unlockable, edit `hosts` file from custom recovery.

For more details see: How to always resolve a domain name to a fixed IP without rooting?

---

**RELATED:**
> 0 votes

# Answer
You can't change the file on a read-only filesystem, but you can use `bind` option, to substitute file with located on rw fs. This should work only till the next reboot.

Example:

```
mount /sdcard/hosts /etc/hosts -o bind
bind file /sdcard/hosts  to /etc/hosts

```
> 0 votes

# Answer
This is kind of covered by other answers, but I thought I'd just save the reader some time searching for a relevant app.

I used "Nebulo - DNS Changer DoH/DoT". It allows you to add some 'custom DNS rules' where you can specify the host and IP address for the host. This rule intercepts and is applied to all traffic from your android device.

(I am in no way affiliated nor do I endorse the app. Do your own research etc).

Set the IP to your server device's LAN IP address.

And on your server device (not specific to using the aforementioned app, but just in case you're looking for pointers on this side of things):

Open the firewall to relevant port(s) and IP address (the LAN IP of your android device). And add the host to your hosts file with IP `0.0.0.0` (not 127.0.0.1 or localhost or anything else).
> 0 votes

---
Tags: networking, dns, web-server, hosts, ip-address
---


# Question
Title: When I remove a payment profile, will I still be able do install my purchased apps?
I purchased a few apps a few years ago, and my credit card expired a long time ago. So, if I close my payment profile on Google Play, will I still be able to install the apps I purchased?

# Answer
It appears you are confusing *payment method* with *payment profile*

> When you close this profile, the service(s) below will be canceled:
>
> * Google Play Apps
> * YouTube
> * Google Play Movies
> 3 votes

# Answer
I have had an issue with changing the Google Play country and they recommended to delete the past payment profiles. I have enquired about the past purchases and they said (twice) that I will not lose them.
> 0 votes

---
Tags: google-play-store, paid-apps
---


# Question
Title: Using USB Tethering with USB-to-Ethernet adapter
I live in an area without any high-speed internet access. Currently, I am using a cell phone hotspot connected through a wireless-to-wired bridge to my home wired/wireless networks. I would like to increase my bandwidth using multiple cell services/hotspots and have not found the complete answer.

I have a TP-Link ER605 and am able to hook a cellphone directly to the USB WAN port on that device and it works to provide Internet service. I am attempting to connect a second cellphone to an RJ45 WAN port on the ER605 using a USB-to-Ethernet adapter, but have not found any combination that allows the 'USB Tethering' option to be enabled.

I have the following phones:

* TCL 30 XL (Android 12)
* Moto X4 (Android 9)

Both of these devices work to provide Internet service when directly connected to the ER605 with a standard USB cable.

I have tried two USB to Ethernet Adapters:

Neither of these adapters enables the USB Tethering option, either plugged into an ER605 port or to a port on a Windows machine.

What are the cellphone/adapter requirements needed to support this configuration?

# Answer
This would be the requirements:

* USB-OTG Support on the smartphone (my experience across phones is the lower the price, the less likely is the feature range of USB-OTG support)
* Android newer than version 11, this is when the feature was introduced officially in software

This question on Superuser Android USB Tethering to Router provides two examples from users, who reported them to work:

* Sitecom CN-378 usb-c ethernet adapter
* Cable Matters USB-C multiport adapter
> 0 votes

---
Tags: usb-tethering, ethernet
---


# Question
Title: A hub's USB-C port doesn't allow the phone to transfer files
When I connect my phone to my laptop with the original cable, I get the option called transfer files. Now, I have Huawei Matedock 2,

and when I connect the phone to its USB-C port, I don't get the option. It's just charging the phone.

Is it possible to charge and transfer files using this hub on USB-C?

# Answer
Looking at the Matedock 2.0 on Amazon: https://www.amazon.com/Huawei-Matedock-Matebook-Devices-Connection/dp/B075MWC9VS/ref=cm\_cr\_arp\_d\_product\_top?ie=UTF8

It seems like that USB-C port is kind of unclear on what functionality it supports or doesn't support.

I'm probably wrong on this, but my first thought was that since the USB-C port is right next to the VGA and HDMI outputs, it could be that it's only meant to be used for video output (with a USB-C to HDMI cable or something like that). I'm not even sure that could be the case technically speaking though, as USB-C should transfer data indiscriminately, I don't think it can be "video-only" like HDMI or displayport are.

It's more likely that the dock is just built cheaply, and doesn't support the proper data bandwidth necessary for data transfer on your phone (or at least, as much as Android would like. Android can be really picky with what data connections it accepts over USB, as I've seemed to notice). Also could be that your phone or USB cable has problems with data transmission over USB 3.0, which is sometimes the case with regular USB-A 3.0 ports/cables - I know I've had trouble connecting some of my android phones to USB 3.0 ports on my computers before, and they worked fine as soon as I switched them to a different 2.0 port instead.

I would suggest you try using the USB-A port on the back of the dock instead. Get a USB-A to USB-C cable and use that to hook your phone up to the dock, and then the dock to the computer's usb-c. The problem might just be with some kind of weird miscommunication along the signal path between the computer's USB-C port, and the dock's USB-C port.

EDIT: Also, try a few different USB cables. You may just need a higher-quality USB cable in order to get full data transfer capability. A lot of the time Android will refuse to connect with data transfer if it doesn't like the particular USB cable you're using. It is weird that the one you have won't work through the Matedock if it would otherwise work plugged directly into the computer, but it can't hurt to swap it out anyway and see if a different one fixes your problem.
> 1 votes

# Answer
Next to any other reasons other people mentioned, I noticed that in some cases with some devices and some hubs, it does matter how you attach the USB-C cable.

While normally you can plug it in in any direction, some devices will only work when you plug it in in one specific direction, especially if it is a USB-C to a different type of USB cable, the hub also might do that kind of despite having a physical USB-C port since internally sometimes they use the old interface, as many of them are USB 2.0 internally.
> 0 votes

---
Tags: usb, file-transfer
---


# Question
Title: Incoming calls from a contact are involuntarily blocked
Recently, I don't get any notifications about a call from a contact. The only thing I see is that the call has been blocked when I look into the caller list, see image.

Please not the Icon under the call entry. I am not aware that I've block this contact nor can I see the number in the blocked contact. Is this an issue with Android? How can I fix this to *get calls from this contact*? On the other hand I can perfectly call this contact but the other way it does not work.

Google Android 14.

# Answer
> 1 votes
For me the following worked, I got back the calls from my contact. Though, I am not sure whether this is a bug. For the screenshots I've changed the language to English.

Going to "Settings" -\> "Notifications" -\> (General) "Do Not Disturb" -\> "People", I have set my contact to be the person that can interrupt me.

After I've removed

The thing I've changed was to set from "Starred contact" to "Anyone". This solved my issue and I could answer calls from my contact.

# Answer
> 2 votes
By the look of your image, you are using Google's Phone app.

1. Press the 3-dot, then Settings.
2. On the General section, select "Blocked numbers".
3. All blocked numbers will be listed. Unselect the number(s) that you mustn't be blocked.

Or

1. Press on the contact's name. A menu should appear showing: "Send a message", "Unblock", "Call details".
2. Select "Unblock".

# Answer
> 1 votes
In addition to Google's application, I would check both the OEM's phone application as well as the carrier's.

A few additional things to note:

* The carrier's app may not necessarily be installed on the device but can still be actively blocking calls; for example, T-Mobile default deployment has certain phone numbers, e.g., incarceration facilities or the District Attorney's office, actively blocked out-the-box. You also don't technically *need* to use the application for the carrier side, as you can manage everything through MMI codes as well.
* I've experienced some buggy behavior with OEM blocking before, and what I found to work reliably was to **explicitly** define high-value numbers in whitelist (in addition to checking they aren't on blacklist). Depending on the OEM, this may be referred to as Favorites, VIP's, Allowlist, etc.

---
Tags: calls
---


title: Lost Huawei P30 Pro and data protection

text:
# Question
Title: Lost Huawei P30 Pro and data protection
I recently lost my Huawei P30 Pro smartphone and I'm concerned because the phone contained personal data.

I don't want anyone to get access to that data.

The phone was protected by a 6 figure password (unlock password).

Is that enough to make sure that my data is 100% protected and that if someone finds the phone, they would have to reset the phone and clear all the data on it before being able to use it? Is it also impossible to access the phone's data by plugging it to a PC with a USB cable?

# Answer
> 1 votes
It can not be 100% protected. There is a tiny, finite chance that someone can guess your PIN/password. The best thing in the future is to install some sort of Phone finder that can remotely wipe the data.

---
Tags: security, huawei, lost-phone
---


# Question
Title: USB internet option for tethering greyed out. How to fix it?
Under `Settings``Wireless and networks`, USB internet **will not** highlight nor will it let me activate it. Therefore, I can't connect my smartphone to the PC.

Is there an alternate way to check **why** this is occurring and fix it?

# Answer
> 14 votes
I wrestled with greyed-out USB tethering for 3 days. I factory reset, changed VPN settings (when for an unknown reason I lost data capacity), read all the forums, etc.

It's embarrassing. Despite having a $40 metal-braided, multi-tipped cord with amazing mall-metal jacks that works for charging, for tethering it wouldn't. Trying the $3 cord I had the same effect, I discovered it was the cord. That's all.

The expensive cord obviously isn't made to do anything but charge, and the cheap factory cord was simply defective. (When I wiggled the wire where it goes into the hack, my phone beeped and all the charging/tethering options appeared.)

That whole time it was the cord, poorly manufactured or damaged.

Try a brand new cord. It's likely just that. (My defective cord was only 1 day old!)

# Answer
> 5 votes
When "Data saver" is turned on, USB Tethering is not allowed. Turn it off and you may be able to USB Tether (Android AOSP 7.1):

1. Settings
2. Data usage
3. Tap "Data saver"
4. Tap "Off" to turn it on.

You're steps may be different, you know the OS guys like to move the cheese.

# Answer
> 3 votes
1. Unplug the USB.
2. From Settings \> Developer options, enable it by switching the "on" option at the top.
3. Connect the device with USB.
4. When asked, choose "MTP".

The USB tethering option will be available.

Tested on Sony Xperia C4.

# Answer
> 1 votes
I faced the same problem of USB tethering option being disabled when I updated the software on my Samsung Galaxy On5.

The solution was simple though.

When you connect your phone to the PC with a USB, a message will pop up on your phone "Allow access to device data - An MTP connection will be established to access the data on the connected device - DENY ALLOW " (Please note this message did not pop up prior to the software update...which means the phone was directly connected to the PC via USB)

When you select the ALLOW option on this pop up, then only the USB tethering option will be available for selection. If you select DENY, the USB tethering option remains disabled.

# Answer
> 1 votes
I was using a USB connection on the front of the PC house, it seems it's only connected with power because the phone didn't connect to it. As soon as I plugged it in to the back of the house onto the motherboard's backpanel, everything worked.

# Answer
> 0 votes
I called up MI Customer Care, and this is how it worked out for me.

1. Install the latest system update
2. Go to Installed Apps\> System Launcher\> Clear Data and/or Clear Cache

# Answer
> 0 votes
Simple, gray means connection error (any how).

In my case,

1. Connect my PC & smartphone by a USB Cable.
2. Under Setting\>Tethering & Mobile Hotspot\>USB Tethering check the radio button.

That's it.

# Answer
> 0 votes
This turned out to be a hardware issue. Tried a couple of cables, but they were all the same. After removing the phone from its case and blowing in the connector and trying again it showed up. Presumably the charging pins were OK but there was some crud on the data pins (or maybe the case was not letting the plug go all the way in).

# Answer
> 0 votes
I had the same question (but I didn't have carma to post the answer), now i have and I'm going to copy my question+answer <sup>(the original ones are here)</sup>

For years I used my phone (with Android v12) as a backup connection to the internet (and you know - airports...). Today I connected my phone to the laptop with my factory-default cable and tried to enable tethering - but the `USB Tethering` button in the menu was disabled.

I checked the cable (several), and I use one that does the trick with another phone.

So it turned out that I needed to dance around the phone a little. *Maybe the menu items on your phone will have other names*.

## 1. enable "Developer options"

In two words: `Settings` \> `About device` \> `Version` and here tap "Build number" several times.

Or google this: `android YOURBRAND enable Developer options`

## 2. reset default USB settings

`Settings` \> `System settings` (at the bottom) \> `Developer options` \> **`Default USB configuration`**

I had *"No data transfer"* there, I changed it to **"USB Tethering"**

And also check the neighbor menu item **`Select USB configuration`**, my default value was *"Charging"*, so I changed it to **"RNDIS (USB Ethernet)"**

Now disconnect-connect the cable, and it should work

original answer

# Answer
> 0 votes
For me, I had to use a USB-C to USB-C cable, as it wouldn't work for me trying to connect my Galaxy S20+ USB-C to a USB-A port.

# Answer
> 0 votes
USB-C (what many Androids use to charge now) is double-sided - you can plug it in either way and you'll be right.

But USB-A is not double-sided, so often, a USB-A to USB-C cable only works one way. It can help to mark the side that does work with a sharpie.

# Answer
> -1 votes
For people still looking for the answer, connect the USB cable to the PC. This enables USB tethering and it longer is greyed out. Hope this helps.

---
Tags: usb-tethering
---


# Question
Title: Can anybody pinch-zoom a PDF document using external touchpad/trackpad on an Android TV box?
Android doesn't seem to support external touchpad (usb or wireless) pinch gesture for zooming in and out?

I tried a few external wireless keyboards with touchpads built-in, while the touchpad works for pinch on Mac and Windows, it didn't work for pinch-zooming on Android.

So my guess it's not possible. I use my Android TV box (BuzzTV box, Android 9) as an Android desktop for apps e.g. PDF reader.

Also tried using normal mouse, scroll wheel and ALT or CTRL or whatever combination it is typically..

I understand Android 14 has support for external keyboards but I don't see mentioned whether it also provides pinch zoom gestures for external touchpads. Not planning to upgrade the TV box yet.

To solve the external keyboard compatibility, there is an app called External Keyboard Helper for Android. That solves the keyboard issue.

But I can't find anything similar that would allow me to use pinch/zoom on external touchpad.

Some apps have support for keyboard shortcuts (Alt+leftButton+arrowRight/arrowLeft works for me), but most apps do not support this.

The issue is not related to this specific tv box. I tried other brands TV boxes and it is the same problem.

Is it a universal Android limitation?

UPDATE: Here I found some answer.. But I am still looking for a way to pinch zoom a PDF. So I guess my question needs to be - is there any app for PDF that supports pinch and zoom natively on non-touchscreen pointing interfaces?

How to Pinch Zoom on device with no touchscreen, like an Android Stick?

# Answer
Most combination keyboard and touchpad units don't actually tell Android about their touchpad (i.e. by reporting exactly where the user's fingers are, etc.). Instead they do their own gesture recognition and then send mouse input to Android instead. For example, they might report scroll wheel movements when you swipe with two fingers on the pad. This means that for those touchpads, you can't use any gestures that aren't programmed into the touchpad's firmware. It's likely that the keyboard/touchpad combos you tried are doing this.

You can tell that a touchpad is identifying itself properly (i.e. sending touch locations rather than mouse events) by doing the following:

* On Android 9, when you make the pinch-zoom gesture on the touchpad you should see two white spots on the screen corresponding to the locations of your fingers.
* On Android 14, connect your touchpad to the Android device and then go to Settings \> System. You should see a section called "Touchpad".

If the touchpad identifies itself properly, then pinch-zoom gestures should work on either Android 9 or 14. Since you asked specifically about PDFs, I just tried pinch-zooming on the Apple Magic Trackpad (which does identify itself properly) with a PDF open in Firefox on Android 14, and it worked.
> 1 votes

---
Tags: pdf, touch, zooming, gestures
---


# Question
Title: Reinstall apps/services via phone directly?
I uninstalled certain apps/services via adb, then disabled the USB Debugging option. After restart the phone's settings option is not working. Please suggest how to enable developer options, usb debugging so that I can reinstall the same for user 0.

At max I am able to see list of system apps. Please help.

# Answer
> 2 votes
Resolved the issue using 3P apps for adding shortcuts to following:

1. About Phone. (Entered Developer Mode)
2. Developer Options. (Enabled USB debugging)
3. Connected via USB, ran adb shell cmd successfully from here.

App used - https://play.google.com/store/apps/details?id=any.shortcut but any shortcut app works.

Note: `*#*#4636#*#*` and `*#*#34971539#*#*` didn't work for my phone. You can give it a try.

---
Tags: adb, usb-debugging, developer-options, disable-app, tecno
---


# Question
Title: Touchscreen inputs without user interaction?
Consider the following system:

* Stock Android 9, unrooted
* USB and wireless debugging unavailable
* screen permanently turned off

So basically a headless Android device.

**Question:** Is it possible to programmatically execute touchscreen inputs without any user interaction, e.g. in order to automatically force-stop selected apps?

**Example:** The default method to do this manually is from the app info menu, i.e.

Similarly, inactive/background apps can be closed from the developer settings:

**Note:** A purely programmatic solution is required. Connection to a debugging device is allowed only once for initial setup, otherwise: No external devices.

# Answer
I'm going to assume that this restriction:

> USB and wireless debugging unavailable

...is specifically referring to USB *debugging*, and that the USB port is still functional for general-purpose use.

Judging from your example navigation flows, I'm also going to assume that the Android device screen is in some semblance of a PIN-"unlocked" and usable state at the software level, even if the physical display is off.

Per the official documentation, Android has had support for USB mice since 3.1:

> In USB host mode, the Android-powered device acts as the host. Examples of devices include digital cameras, keyboards, mice, and game controllers. \[...\] USB accessory and host modes are directly supported in Android 3.1 (API level 12) or newer platforms.

So, you can use some form of USB-connected hardware emulation device (often referred to as a "rubber ducky") to simulate mouse activity and navigate to the relevant menus. This blog post has more information on how that can be accomplished.
> 0 votes

---
Tags: automation, touchscreen, user-interface, task-management, force-close
---


# Question
Title: What does custom app notification means in my notifications history?
Whenever I check my notifications history for Whatsapp on my android phone’s Notification history, a few of my notification’s history states “custom app notification”. What does this mean?

The messages are not there. Does any one deletes messages on my phone?

Also when i open the custom app notification and filter it for "Whatsapp", in my notification history it says “media playback”

I am attaching screenshots for reference:

My phone is Samsung S23 ultra

# Answer
First the notification history shows you every notification of every app on your Andrid phone, not only Whatsapp messages.

Thus not every notification is a Whatsapp "message". Every app can send you notifications.

Even a notification of Whatsapp does not mean there was a message. In most apps that play audio/video, when you play a media file a notification will be shown that allows to play/pause/stop the playback even if the app is background. My guess is that this custom "media playback" app notification is such a notification, when playing an audio/video file in Whatsapp itself or from a different app.
> 0 votes

---
Tags: samsung, whatsapp-messenger
---


# Question
Title: How can I manage contacts on my SIM card with an Android phone?
How can I add and manage contacts on a SIM card with an Android phone (HTC Magic)? I'm aware of 1 application which is capable of doing this but it cost 4€ for SIMPLY managing SIM contacts o\_O

# Answer
> 10 votes
The default (well, default on my Samsung Galaxy S - I guess default in Android doesn't mean much) contact manager can do a part of this. When creating a new contact, it gives the option of storing it on the SIM, Phone memory, or a linked account (like Google).

There's the option of copying contacts from SIM to Phone or Phone to SIM (Contacts-\>Menu-\>more -\> Copy contacts). Import/Export is in the same spot.

I know these suggestions aren't quite what you're looking for. I don't know if contacts can be stored on a SIM card in different ways depending on the Phone. From what I've seen the software that comes with Android phones might (depending on manufacturer) let you move contacts around.

# Answer
> 5 votes
I wanted to delete some contacts on my SIM card on my HTC Sensation. I tried and tried and it didn't work. So I took out my old Nokia phone and it can read and write to the SIM card. Deleted the contacts I didn't want. It worked.

# Answer
> 4 votes
In general, don't store your contacts on the SIM card. There is no advantage in doing so. Modern smartphones are usually only able to import/export contacts stored on the SIM card.

The contact App from **Android 4.0** on provides a feature which lets you import your contacts form SIM card to either Google contacts (which I highly recommend) or simply local phone contacts.

`Open Contacts > Menu > Import/export > Import from SIM card`

Furthermore the "Messaging" app of **Android 4.0** is able to mange the text messages stored on the SIM card.

There are only a few very narrow reasons for storing contacts on a SIM. Some like to be able to swap the SIM card into a small feature phone when performing certain activities (like trail running).

However, note that contacts stored on the SIM card are unprotected. Everyone who has access to the SIM card can read your contacts. This impacts your and your contacts privacy.

# Answer
> 0 votes
New (manual) contacts should get backed up if your gmail account is linked, and they should show up in your gmail contacts.

But my old ones (on sim and phone before email was linked) did not. I had to copy the ones from my sim and phone to my SDcard by going into contacts (people) then `menu -> export` to SD (as for example `SIM.vcf`).

And after that `menu -> import` to (my email) linked gmail address. And i just told it to import all `vcf` files on the SD.

And that was it, they were now all in my gmail contacts.

# Answer
> 0 votes
I have Android 10 on a SmartE11 phone.

I tried to delete contacts that are stored on the sim using the phone app. I get a message 'Could not delete contact' with no explanation why. I also got a 'silent notification': Problem deleting contact from SIM, with the body: This phone may not be able to delete contacts from a SIM.

At the top of the contact display, for contacts on my sim, it shows "Saved to SIM - view-only'. So, I guess it is because the contact is view-only.

The pre-installed Contacts app has an option 'Fix & manage'. This has an option 'Manage SIM'. This lets me import or delete the contacts on the sim. I wanted to delete some obsolete contacts added on my old phone. I selected the contacts to be deleted (actually, I unselected the contacts I didn't want deleted, because they were all selected by default and there was no option to unselect all) and clicked the trash can icon then clicked Delete on the 'Remove contacts from SIM?' pop-up.

This deleted the contacts from the sim but didn't remove them from the contacts list on my phone app. To achieve that, I had to shut down my phone then start it again. The contacts from the sim were then gone from the phone app: All of them were gone, even those I hadn't deleted from the sim. But a little while later, those that were on the sim reappeared in the phone contact list.

It's a bit roundabout and hardly obvious, but it worked.

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


title: Find text within an email in Gmail

text:
# Question
Title: Find text within an email in Gmail
Mailing list digests are generally very long. They contain multiple emails concatenated together with an index and my traditional approach to reading a single email on the desktop is to use Ctrl+F (find text) to navigate/locate content within the email.

Android browsers typically have a 'Find on Page' function, but an equivalent doesn't appear to exist with Gmail. Have I overlooked something?

Alternatively- are there any apps that offer a generalized search mechanism for selectable text regions in Android or extend the functionality available from a long-press on selected text?

# Answer
> 0 votes
You can search for emails containing a certain bit of text as stated here, but that doesn't narrow things down to the specific portion of the page. However, the search functionality in Inbox will highlight the section of text which is a step up.

Depending on your device, I recall having this functionality on my stock S4 ROM, so if your phone has another email client, try that out. I haven't seen this functionality or anything similar in Outlook or the Yahoo client.

So, I'd say your best bet to meet your Ctrl+F type searching is through the browser, then inbox isn't too bad as it highlights occurrences but doesn't jump to them, then the rest do the same thing of searching for text in an email but not highlighting it or do anything like Inbox or a browser can do.

That being said, I haven't tried many other email clients on Android, but that's what I got from the ones I tested.

# Answer
> 0 votes
Even on an Android, you can use the Chrome browser to go to the web page for https://www.gmail.com, decline the option to open the Gmail app, search for the message you want, and then use the browser's "find in page" menu option to search within the page.

The same web-based approach works for Google Keep, where the app also lacks a search feature within each page.

---
Tags: gmail, search
---


# Question
Title: How to check if a package is enabled via shell?
I have been writing a tasker task to enable/disable a package. I know

`adb shell pm enable com.android.contacts`

will enable the package and

`adb shell pm disable com.android.contacts`

will disable it.

I would like to know if there's any shell command that would tell me if a package is in enabled/disabled state. Thanks in advance! :)

# Answer
```
pm list packages -d 2>/dev/null

```

will list up all disabled packages, one per line, preceded with the keyword `package:` – so output looks like

```
package:com.android.exchange
package:com.android.email

```

So if you take that output and "grep" it for the package name in question, the package is enabled if the output is "empty" and disabled otherwise. Alternatively, if you want a number (0/1), you can use the `wc` utility:

```
pm list packages -d 2>/dev/null | grep com.android.exchange | wc -l

```

would return "1" in above example, meaning the package `com.android.exchange` is disabled. It would, however, return "0" if I'd grep for `com.foobar.app` – which doesn't necessarily mean that `com.foobar.app` is enabled but could also mean it's simply not installed :) So if you want to cross-check, you can do so running the same command with `pm list packages -e` (to list enabled packages).
> 16 votes

# Answer
There are apps that have similar names, so just a simple grep might be problematic. Take the following apps for instance.

```
com.amazon.dcp
com.amazon.dcp.contracts.framework.library

```

If the short one is enabled and the long one is disabled, you will get a result searching the list of disabled apps. Here is a function to determine if an app is disabled.

```
check_apk_disabled(){ # Check if a package is disabled. Return 1 if installed else 0
            [ $# -lt 1 ] && return 2
            adb shell pm list packages -d | cut -d: -f2 | sed 's|\r||' | grep -c "^${1}$"; }

```

The package list is stripped of `package:` as well as the `0D` byte. Grep can then find an exact match with ^ at start and $ at the end.

`check_apk_disabled com.android.contacts` will return `1` if disabled or `0` if not. It should be noted that if an app is not installed then it will not appear on the disabled list and trying to disable an app that is not installed will generate errors. A check if the app is installed should be done before assuming it is not disabled.

```
check_apk_installed(){ # Check if a package is installed. Return 1 if installed else 0
            [ $# -lt 1 ] && return 2
            adb shell pm list packages | cut -d: -f2 | sed 's|\r||' | grep -c "^${1}$"; }

```

Now with these 2 functions you can disable the app properly.

```
apk=com.android.contacts
[ $(check_apk_installed $apk) == "1" ] && [ $(check_apk_disabled $apk) == "0" ] && adb pm disable-user --user=0 $apk 2>/dev/null || echo "app is not installed or already disabled"

```

Sorry to necro the post, but the potential to disable the wrong app in the original answer scared me!
> 2 votes

---
Tags: applications, adb, tasker, shell, disable-app
---


# Question
Title: Sync DuckDuckGo bookmarks between devices?
Is it possible to sync DuckDuckGo bookmarks between devices?

I wonder if the reason I haven't found anything is it defeats the main purpose of DDG, being a privacy browser?

# Answer
Unfortunately, no, not at the moment. You could leave a review on the Play Store asking them to implement it. Or you can install Firefox or Firefox preview both of which have sync support, as does Chrome.
> 1 votes

# Answer
Since 14 Feb 2024, DuckDuckGo now offers bookmarks and password sync on Windows, Mac, Android and iPhone: https://spreadprivacy.com/password-sync-backup/

> Now live: **Sync bookmarks, passwords, and Email Protection settings** between DuckDuckGo browsers on phones, tablets, and computers, privately and securely.
> 1 votes

---
Tags: browser, privacy, bookmarks
---


# Question
Title: How to check Android phone’s processor (ARM, ARM64, or x86)?
Knowing which processor you have is very important to make sure you are downloading the right files. One app, nowadays, has multiple versions for multiple processors so that it runs smoothly on each and every phone available. If you only install apps from the Google Play Store, then knowing which CPU architecture your phone has is not necessary, but if you sideload apps, then this information is required as CPU architecture is becoming a factor in more and more scenarios these days, including certain sideloaded app updates and, of course, custom ROMs and Gapps.

As of now, there are three main CPU architectures used in Android smartphones

* ARM: ARMv7 or armeabi
* ARM64: AArch64 or arm64
* x86: x86 or x86abi

There are a couple of 3rd-party apps to find CPU architecture found from this article:

* Inware
* Droid Hardware Info
* My Device – Device info

My question is, can we find the CPU architecture of the Android phone without installing any apps?

Just in case it's relevant, the device I'm using is a Poco X2 with Android 9+.

# Answer
It is indeed a pity that this isn't listed anywhere in Settings, not even in Developer Options. The minimum-change way to get the information is as follows:

## Turn on Developer Options and USB debugging

This is familiar, and this answer isn't the place to reiterate that.

## Ask Android's Linux kernel

```
adb shell uname -m

```

The reply will tell you what architecture the Linux kernel in your Android OS is running. It tells you this in *Linux* terminology, rather than Android ABI names:

* "aarch64" is 64-bit ARMv8-A, which is Android's "arm64-v8a" ABI.
* "armv7l" is 32-bit ARMv7-A, which is Android's "armeabi-v7a" ABI.
* "x86\_64" is 64-bit x86, which is Android's "x86\_64" ABI.
* "i386" or "i686" are the basic 32-bit x86 or the Pentium Pro variant respectively, which is Android's "x86" ABI.
> 1 votes

# Answer
One way that I was able to find the cpu architecture for my google Pixel was by going to "settings/Apps/See all apps/Clock/App details". That will get you to "Google Play". On that screen below "Installed on all devices" I see "Google SDK\_gphone64\_x86\_64" and it says its "Installed". So you can then infer that my phone architecture is x86\_64. I also assume that you can infer that this is a 64 bit architecture (gphone64). So that's one way you can get the architecture without any special application installed or using an "adb shell".

Please note that I'm not sure this exact method will work for all vendor Androids on the market. You may need to look at the "App details" for some app other than clock. So substitute another app's name for clock in the settings path I described above.

It's too bad that the phones cpu architecture is not listed in "settings/system" or in " settings/About phone".

Update: Based on the comments from John and Andrew, I'm going to say that my answer is wrong. This doesn't work as a method for inferring the processor type without the aid of some other tool as mentioned in the other answers. Apparently, the App Store keeps information about all the apps installed on all your devices just by the fact that you visited the App Store. I must have visited the App Store from an Android emulator I was running, and the "app detail" from the App Store confused me. I was hoping that I might find the name of a native library code installed with some app by looking at the "app detail". Apparently that's not the case.
> 0 votes

---
Tags: arm-processors, system-info, x86-processors
---


# Question
Title: Is it possible to install Android on a Motorola ROKR E6?
I have a Motorola ROKR E6, which is currently running MontaVista Linux, and I was thinking of installing Android on it to make it usable again (and also to clear a lock code previously set on it that I completely forgot). I found how to access the bootloader, and now I'm installing the required drivers and software. But if I flash Android on it, it may brick the phone, so I'm going to be very careful while flashing Android. Do you think that installing Android on a non-Android phone like this old Motorola phone is possible?

# Answer
Do not try this. Your best possible result is that you can't flash it. If you manage to flash it with Android, you will brick it.

The device has only 46MiB RAM and 120MiB storage, which are *not enough* for Android.

There are a bunch of other reasons, why this isn't practical, notably that Android will not have device drivers for this phone, but the lack of RAM and storage mean they don't get to take effect.
> 2 votes

---
Tags: rom-flashing, motorola
---


# Question
Title: Completely change home screen on Android TV
I have Android TV (Sony KJ-65X8500D running on Android 5.1.1 Marshmallow if relevant). On the home screen, there are several ads and a wallpaper that I don't control. It's currently showing an ad for a TV show I find highly offensive and I want it off my TV.

It's not just an icon. Since it's the default icon (the first one), it also defines the background of everything on the home screen.

How do I change it to

1. Get rid of the ads
2. Set the background to my own photos

# Answer
> 3 votes
So this is how I solved it for my particular TV (A Bravia KJ-65X8500D running Android 5.1.1)

First off I found a 3rd party homescreen program called HAL Launcher which I installed. It works as an app but it's not the app the home button on the remote goes to. It has the option to make it so but that option stopped working android 5 something.

To solve that problem I downloaded and installed Android Studio from Google.

Then I followed these instructions for connecting my computer to the TV. They can be summarized as follows

### Enable Developer mode

1. Press Home and select Settings.
2. In the TV rowselect About.
3. Scroll down to and click on Build seven times until "You are now a developer" appears. (note: at 5 clicks a different message will appear. Keep clicking
4. Press Home (do NOT skip this step)

### Enable ADB Debugging

1. Select Settings
2. In the System Preferences row, select Developer options
3. Select Debugging
4. Select ADB Debugging
5. Select On.

### Get the IP address of your TV

1. Press Home
2. select Network Settings.
3. Pick wifi or wired and note the IP address

### Connect ADB

1. Make sure your TV and your computer are connected to the same local network.
2. On your computer type

```
adb connect <TV IP address>:5555

```

For example my TV's address was 10.0.0.13 so I typed

```
adb connect 10.0.0.13:5555

```
3. The TV will ask if it's ok for your computer to connect. Select Always allow from this computer and select OK.

### Hide Leanback

Now that `adb` is connected you can hide the launcher

This part I got from here.

On your computer type

```
adb shell pm hide com.google.android.leanbacklauncher

```

If you want to undo it type

```
adb shell pm unhide com.google.android.leanbacklauncher

```

NOTE: if `adb` is not in your path find in on your computer (it's installed with Android Studio) and `cd` to that folder then use `./adb` or `.\adb` on windows

At this point `HAL Launcher` comes up when I press the HOME button on my remote which means the offensive ads are gone! YAY!

# Answer
> 1 votes
I did the below steps on Kodak Android TV to replace the default launcher.

1. Enable Developer options and ADB debugging on the TV. (Refer **Enable Developer mode, Enable ADB Debugging** sections explained by gman's answer).

*No need to get the IP address and connect ADB. Because for the first time, you have to connect the device with a PC using a USB cable. (I tried ADB connect after connecting the first time, but the device refuses).*
2. Install HAL Launcher on Google Play store.
3. Connect a TV with PC with Laptop using USB Male to USB Male.
4. Download Andriod adb platform tools (slim version).
5. Open command prompt and navigate to abd folder.
6. Run below commands.

```
adb shell pm uninstall -k --user 0 com.google.android.leanbacklauncher
adb shell pm uninstall -k --user 0 com.google.android.tvlauncher

```
7. Press the Home button on Remote. If there are more than one launcher installed, then it'll show the option to select the launcher.
8. Select the HAL launcher.
9. Now it'll be the default launcher and will open when pressing the Home button on Remote.

---

If you are concerned about losing the Leanback Launcher and Android's default TV launcher, then run the below commands before step 6 to take backup of the APK files.

```
adb shell pm list packages

```

This will list the packages installed on the device.

```
adb shell pm path com.google.android.leanbacklauncher
adb pull [path_of_leanback_launcher] C:\sdk\com.google.android.leanbacklauncher.apk
adb shell pm path com.google.android.tvlauncher
adb pull [path_of_tv_launcher] C:\sdk\com.google.android.tvlauncher.apk

```

This will backup the APKfiles to `C:\sdk\` folder. To install these APK files, use the below command.

```
adb install C:\sdk\com.google.android.leanbacklauncher
adb install C:\sdk\com.google.android.tvlauncher

```

**All the very Best!**

# Answer
> 0 votes
If calling `adb shell pm hide com.google.android.leanbacklauncher` returning an error message,

> Error: java.lang.SecurityException: Neither user 2000 nor current process has android.permission.MANAGE\_USERS

then instead of hiding it, try to uninstall it.

Make sure to have **at least another launcher installed on the TV**. Open ADB, but instead of hiding `com.google.android.leanbacklauncher`, uninstall and remove the Leanback launcher with

```
adb shell pm uninstall -k --user 0 com.google.android.leanbacklauncher"

```

After that, choose the other launcher as your home.

# Answer
> 0 votes
I had the problem where my Android TV device (NVidia shield) does not allow debugging after the latest update- seems it has removed the ability. This means that I could not connect adb over USB nor TCP.

I was annoyed but then I found another method using a free app:

https://play.google.com/store/apps/details?id=com.cybercat.adbappcontrol.tv

You can use this to disable the stock launcher and, having installed your favourite (I installed FLauncher - simple but effective) you can then use that.

*I absolutely hate that Google Goons think they own my device and can use it to SPAM me as much as they like - this is the solution to sticking it up the rrr's.*

---
Tags: launcher, home-screen, android-tv
---


title: S Memo permissions

text:
# Question
Title: S Memo permissions
So, I wanted to see install S Memo on an Android 8 device and, for some reason, S Memo asked for permission to read my contacts, messages, phone journal and location. Why does it need this stuff?

# Answer
> 2 votes
`S Memo` can be used to share your notes with the contacts. You can text it to them, amongst other things.

On Android 8, if you deny these permissions, the app may not work properly, or may not work at all. On apos written for the latest Android, you can deny selected permissions and the app is still supposed to work, albeit in a limited fashion.

---
Tags: samsung, permissions, 8.0-oreo
---


# Question
Title: Multiple DND rules for different schedules
I am looking to have two DND schedules with two different rules as follows:

> 1. From 12:00 AM till 7:00 am - No sound for any notification from any application but calls are allowed for everybody.
> 2. From 7:00 AM till I stop - No sound, no calls are allowed except for the calls from Favorites contact.

The second one I already have successfully running on my phone but I find no way to have both the schedules running on one phone.

Android gives option to define only one set of DND rule and all the schedules will follow the same rules set.

I am looking for something where I can have two different rule set for two schedules.

As far as I can see and search it is not possible with Android default, or is it in any way?

Or, is there any app which can allow me to do this specific thing? Paid app will also work.

# Answer
Found an amazing in-built way to achieve that.

There is something called `Modes and Routines` in android where you will find already built `Modes`, you can create your own ones.

I modified the existing `Mode` sleep.

This is an amazing feature which allows you to customize almost everything that you want to achieve during certain modes like sleeping, driving etc.

These modes can be made auto activate by defining the timings.

So I modified the `Sleep` mode to be activated during certain time period and during that mode I defined to switch off the wifi as well as the mobile data.

And these modes work independent of do not disturb. So now I have a sleep mode running during I sleep which only disable internet and then I have DND running during 7-10 am.

This works like a charm without any external app or any complicated developers' logic building!

This is how my `Sleep` mode settings look like
> 1 votes

---
Tags: samsung, do-not-disturb
---


# Question
Title: How can I retrieve WiFi passwords via (rooted) ADB on a Pixel 4a with LineageOS?
I have a Pixel 4a with LineageOS (Android 13) that can connect to various WiFi networks. Not all passwords can be viewed through the WiFi page in settings, e.g. those with WPA Enterprise or those added through third-party app.

How can I retrieve the passwords of these WiFi networks?

I tried finding the location of it via Google, but all the suggested paths turned out to be empty or missing:

* `/data/misc/wifi/WifiConfigStore.xml` (does not exist)
* `/data/misc/wifi/wpa_supplicant.conf` (does not exist)

`/data/misc/wifi/wpa_supplicant` is a directory, but it is empty. The only other thing in `/data/misc/wifi` is the empty `/data/misc/wifi/socket` folder.

This question is **not a duplicate** of the following questions:

# Answer
> 1 votes
I cannot give you the direct answer but cannot comment yet on Stack Exchange. However, with ADB you can try searching for it in two ways.

1. search for file names

`cd / ; find | grep supp | grep conf`

2. or take a known SSID password and search for it in the files.

`cd / ; grep -R "known SSID password"`

Number 1) is supposed to give you various names, like wpa\_***supp***licant.***conf*** or bcm\_***supp***.*conf* or whatever the file might be named. It seems to not always carry the same name.

Number 2) would give you the file name IF your Wi-Fi password appears in clear text in a file. Other passwords should likewise be in that file or at least in that directory.

Alternatively, if ADB is just an alternative for you to find the passwords, this app had worked for me on a Samsung Note 10+ with original firmware in which the "regular" location also hadn't worked; that is my reason for answering here.

https://android.izzysoft.de/repo/apk/ua.sytor.wifipass -Sources are linked from the site on GitHub.

# Answer
> 1 votes
On this Phone/OS combination, it turned to be in `/data/misc/apexdata/com.android.wifi/WifiConfigStore.xml`.

Check out boro's answer for a more general approach on how to find it. I simply found it in the source code of the suggested app: https://github.com/syt0r/WifiPass/blob/1c649924649cb182e60535f27384793d2b6c09fc/app/src/main/java/ua/sytor/wifipass/core/network\_data\_collector/NetworkDataCollectorContract.kt#L38-L42.

---
Tags: root-access, lineageos, android-13, wifi-password
---


# Question
Title: Primary Zygote (64-bit) only starts the System Services? And all Android apps are 32-bit?
As far as I know Zygote is started by `app_process64` and `app_process32` where 64 is for primary zygote that starts system services because of `start-system-server` flag.

As we can see below in `static void main` method of `frameworks/base/core/java/com/android/internal/os/ZygoteInit.java`, it checks for `start-system-server` flag, `run` the forked System Server and exits due to `return;` statement below it, and never running the `runSelectLoop` that actually goes into infinite loop listening to connections that request to launch new applications. Only `app_process32` without `start-system-server` flag will not enter the control statement to `run` the forked System Server, and instead, runs the `runSelectLoop`. Does it mean that all system services are inherently 64-bit while all Android apps are inherently 32-bit?

This code is from AOSP branch: `Android-14.0.0_r21`:

```
// redacted above code

zygoteServer = new ZygoteServer(isPrimaryZygote);

if (startSystemServer) {
    Runnable r = forkSystemServer(abiList, zygoteSocketName, zygoteServer);

    // {@code r == null} in the parent (zygote) process, and {@code r != null} in the
    // child (system_server) process.
    if (r != null) {
        r.run();
        return;
    }
}

Log.i(TAG, "Accepting command socket connections");

// The select loop returns early in the child process after a fork and
// loops forever in the zygote.
caller = zygoteServer.runSelectLoop(abiList);

// redacted code below

```

# Answer
> 1 votes
The `runSelectLoop` will actually be run by `app_process64` as well and not simply exit.

Let's take a look at this excerpt of the `forkSystemServer` method, called in your code snippet when `startSystemServer` is true, to see why:

```
private static Runnable forkSystemServer(String abiList, String socketName,
        ZygoteServer zygoteServer) {
    // ...

    int pid;

    try {
        // ...

        pid = Zygote.forkSystemServer(
                parsedArgs.mUid, parsedArgs.mGid,
                parsedArgs.mGids,
                parsedArgs.mRuntimeFlags,
                null,
                parsedArgs.mPermittedCapabilities,
                parsedArgs.mEffectiveCapabilities);
    } catch (IllegalArgumentException ex) {
        throw new RuntimeException(ex);
    }

    /* For child process */
    if (pid == 0) {
        // ...

        return handleSystemServerProcess(parsedArgs);
    }

    /* For parent process */
    return null;
}

```

I removed most of the code and kept only the relevant part for clarity. As you can see, the method will fork the current process and return some data in the child process, while it will return `null` in the parent process.

This means that both the child process (`system_server`) and the main process (`zygote64`) process will continue execution in the code snippet you included in the question:

```
Runnable r = forkSystemServer(abiList, zygoteSocketName, zygoteServer);

// {@code r == null} in the parent (zygote) process, and {@code r != null} in the
// child (system_server) process.
if (r != null) {
    r.run();
    return;
}

```

Now, in the forked `system_server` process, the call to `forkSystemServer` returned some object. The process will therefore enter the `if` and execute `r.run()` before returning. `zygoteServer.runSelectLoop(abiList)` will therefore never be executed **in the child process (system\_server)**.

However, in the parent process, the call to `forkSystemServer` returned `null`. The process will therefore not enter the `if` and continue, executing `zygoteServer.runSelectLoop(abiList)`.

This is also what is mentioned in comment in your code snippet.

In case you are not yet convinced, listing the running processes on your device will clearly show you that both `zygote64` and `system_server` are running alongside the 32-bit version of `zygote`:

```
# ps -e | grep -E "zygote|system_server"
root           979     1 6102692  65188 do_sys_poll         0 S zygote64
root           980     1 1754948  18020 do_sys_poll         0 S zygote
system        2164   979 14310660 308548 do_epoll_wait      0 S system_server

```

So to finally answer the question: No, Android applications are not inherently 32-bit. `zygote64` will be used to run 64-bit applications.

# Answer
> 0 votes
You are correct. In modern Android versions, starting with Android 8.0 (Oreo), the system\_server process is started by the zygote64 process. This change was introduced to support 64-bit architectures while maintaining backward compatibility with 32-bit architectures.

---
Tags: boot, aosp, services
---


# Question
Title: How to insert bookmarks inside Google docs for Android without using desktop browser?
I need the functionality of inserting bookmarks within the Google drive or Google Docs Android app. I can do that from within the desktop browser. Is this feature already there, and I am just not seeing it?

This is not the same thing as adding a shortcut to the Android devices home screen as indicated by: Can I make a Google Doc shared with me more accessible on my Android device?

Google is a large company. When it creates apps for Android, it needs to be on parody with the desktop browser unless there are specific technical reasons why that's not possible, and sometimes it is not possible, but not in this particular situation for sure.

# Answer
It is (still) not possible currently to insert a bookmark with Google Docs for Android (version 1.20.494.04.33). The only option to insert a bookmark is via the computer as stated on Docs Editor Help: Work with links, bookmarks, section breaks, or page breaks:

> **Add a bookmark**
>
> Bookmarks are not available on Android; you’ll have to use a computer.
> 2 votes

# Answer
If the doc is very important to you, you could download a copy to your device and make a folder for it. You could also try setting your browser permanently on desktop, or desktop user agent. When you go online in this mode, your device is seen as a Linux computer. At least my Z Fold 4 is, on Vivaldi/Duck Duck Go.
> 0 votes

---
Tags: bookmarks, google-docs
---


# Question
Title: Is there a way to leave bluetooth on while turning cell service off - a near airplane mode?
For my Google Pixel 4 on Android: I often go sailing out in the ocean or motorbiking in distant woods where there is no cell phone signal. I want to leave Bluetooth on so I can listen to podcasts, music and books through my ear buds, but turn cell phone service off so it is not using up power searching for towers that aren't there. Is there a way (or an app) to do this?

# Answer
> 8 votes
Newer phones do not automatically turn off bluetooth when you enable airplane mode. On yours:

* Turn airplane mode on
* Then turn Bluetooth on

---
Tags: bluetooth, cellular-radio, airplane-mode, google-pixel-4
---


# Question
Title: How to import contacts from .vcf file on Samsung device running Android 14?
On my previous generic Chinese Android phone, it was very easy to export/import contacts from a .vcf file.

But on my Samsung running Android 14, I can't find a command to import/export.

Is there any way to do this?

# Answer
On Samsung devices running Android 14 the Samsung Contact app allows to import and export contacts.

1. Open the left side menu using the three lines (burger menu) button
2. Select the entry "Manage Contacts" (or named similar)
3. A screen appears with multiple buttons, one for Import Contacts and one for Export Contacts.
> 0 votes

# Answer
Click (tap) on the .vcf file, follow the arrows or menu popup to where you want it listed, from the apps displayed. Click the app and it should go through.
> 0 votes

---
Tags: samsung, contacts, import, android-14
---


# Question
Title: How to change typing layout for physical keyboard on android tablet?
I got a QWERTZ keyboard made by Samsung for my Samsung Galaxy tablet because literally I couldn't buy anything else and was lucky to even find this one.

I prefer QWERTY, so I'm wondering how I can switch the keys in android? I can physically swap the keys, but I don't want it to use a QWERTZ layout.

How can I make my physical android QWERTZ keyboard function as a QWERTY keyboard on my samsung Galaxy tablet?

# Answer
The finer details may differ between OEM's and models, but generally speaking you can use ADB to find and directly modify your device's .kl file. Note that without root, the changes may or may not persist across device reboot (though you can somewhat improve QoL by using a PC script to automate the process, etc); if you *do* have root, you would need to flash the system partition with the modifications.

Generally speaking, the default keyboard layout file would be `qwerty.kl` and is typically located at `/system/usr/keylayout/qwerty.kl`. For specifics, you can refer to this resource; and here's a backup copy for link retention.
> 1 votes

# Answer
External Keyboard Helper app will enable remapping of your physical keyboard to QWERTY without rooting.
> 0 votes

---
Tags: samsung, keyboard, external-keyboard, text-layout
---


# Question
Title: Need security pattern to unlock my new blu tablet
I received a brand new BLU tablet and someone has already put a security pattern on it to unlock it. How do I unlock it?

# Answer
> 1 votes
Return the tablet.

It isn't new, if someone has put a lock pattern on it. This could be carelessness by the supplier, sending out a tablet that isn't new, or it could be fraud by one of their staff. In any case, it is *not your problem*, but theirs.

ETA: After looking at BLU Products' Wikipedia page, I'd demand a refund, rather than a replacement BLU device, and buy something more reputable. 20 years of privacy sanctions from the Federal Trade Commission mean they found something pretty bad in BLU's organisation.

---
Tags: security, tablet, sim-unlocking
---


# Question
Title: Alarm turns off when Clock App is closed
When I close the Clock app the alarm no longer works. I have noticed that closing the app causes the little alarm icon to go away (indicating the alarm is no longer on). This never happened before, the alarm icon would stay on even if the app were not open.

I have cleared the clock app cache, restarted the phone, reset all settings and restarted again all to no avail.

This is on a Samsung Galaxy S22 Ultra, Android 14 and it is the native Clock app that came with it.

Any ideas would be appreciated.

# Answer
> 1 votes
Same happened to me, remove clock from the sleeping apps on the background usage menu. Open settings, battery, backgound usage limits, sleeping apps... Find clock and long press it. Remove it from the list. Now when you close the app it continues running on the background and the icon will not dissapear. Alarm will sound

---
Tags: alarm, clock
---


# Question
Title: Apps I use every day marked "unused", and permissions reset
The automatic permission removal of unused apps is a great feature that I quite like (and therefore don't want to necessarily disable for a bunch of apps). However, my phone does not correctly identify unused apps. There are apps I use every day that get their permissions removed every 3 months (seems to be the interval the phone checks).

For example: I use Android Auto which calls up Maps (built-in Google Maps app) just about every day, and every so often, location permission for Maps gets revoked "due to not being used". I use Google Voice (via forwarding) for my voicemail, and permission for contacts gets revoked, etc.

It would seem whatever is supposed to track app usage does not function, and I wonder if there's a way to diagnose/fix that?

Under my Google account "Activity controls", I do have basically everything turned off for privacy, and I hope that's not the issue: (web and app activity -\> off, location history -\> off, YouTube history -\> off, Ad personalization -\> off)

As of right now, at least several of the apps that got permissions revoked are listed in the battery usage statistics (from the last charge), so evidently *some* parts of the system can correctly track usage.

Details:

* Samsung A52 5G
* Android 11 One UI 3.1 (using Nova launcher if that matters)

# Answer
I'm using Nova launcher as well. I'm sure it doesn't have anything to do with this but thought I would mention it in case we see a pattern here... I ran across this today with some apps that I installed yesterday and I think I may have an idea what's going on here... Galaxy Note 9 still and I'm going to keep using it until I can't out of protest for the removal of the SD card and headphone jack. Lol

Anyways... I received a notification about apps automatically being disabled that weren't used. When I looked at them, several of them were apps that I just used today. Going through the apps list before putting anything back the way it should be there were three categories, disabled, auto disabled, manually disabled. One that I chose to focus on was Microsoft ToDo. I launched the app, refreshed the list, and it was still showing as manually disabled while it was running. I have this listed manually as a deep-sleeping app. I'm not particularly concerned about that app or I wouldn't have put it there. It was something easy to drill down into. What it seems like to me is that when you put an app to sleep so that it only runs when you manually run it, The app is listed as being manually disabled and it remains in the disabled status even when you launch the app and have it active. Since I just updated that app yesterday and used it, and then saw the permissions removed today, I started looking into it and I've come up with a preliminary theory as to what's going on. It still needs some work and verification but I don't have time to dig into it further at the moment. So if I get anything wrong here, any corrections would be appreciated...

From what I can tell, any app that is in the disabled status is included in the list when it removes the permissions. It simply doesn't say so when it notifies you of the permissions removal. Since deep sleeping apps show up as disabled, it removes those permissions. It may do this to sleeping apps as well although I haven't had time to get that far into it.

Within the apps settings, there isn't a separate setting for deep sleeping. It's enabled or disabled. So on another app...Shazam, it was showing all permissions off. It is this today. I didn't turn them off. I keep Shazam in deep sleep. If I want to run it I run it.

Putting it into deep sleep however pushes it into disabled status.(Says "Turn On") and remains so even when I run the app. Putting it into deep sleep does not change the permissions however. So when I would run it, it ran under the permissions that I'd set for.

When the phone swept for unused apps it saw it as disabled and stripped the permissions. I'm assuming that any app that is disabled when the cleanup runs, including deep sleeping apps, is thrown into the "hasn't been used in 90 days" category and stripped of permissions.

I guess I'll have to wait 90 days to confirm this but every app that I had deep sleeping did have it permissions stripped. It seems to me that I can't put an app to sleep and have it only run when I want it with permissions set as I want without having it eventually getting the permissions stripped and having to reset them.

Some things that I need to check on later are the "Put unused apps to sleep" feature that "puts unused apps to sleep when they haven't been used in a while" since there's no indication as to what a while means or even what it means to be unused. In "memory" there is an "apps not used recently" list that can be accessed on my phone. I'm suddenly uncertain how that list is utilized, if at all. It doesn't include Microsoft ToDo or Shazam right now. And there's no indication giving any hint on what the relationship between "recently" and "a while" mean. Lol Basically putting an app into deep sleep it's kind of like putting it in Schrodinger's box. It's both being used and not used at the same time.

This has the feel of an error... One that should have been caught long ago by Samsung. I don't think they intended for deep sleeping apps to have their permissions completely removed when the auto clean up runs but that is what it seems to be doing. It would be great if somebody can verify it.
> 1 votes

# Answer
So, I don't know much about android or coding for it. But I had a similar problem with an app. It was an app that comes up automatically under certain use cases. I'm pretty sure it was a texting app. Well months would go by where I did not click on the app to open it. Only on notifications that popped up, and this would happen to me too. Unless I either closed the app in recently used applications and opened it, or went and pressed on the icon. I know when in the car Android auto can auto connect and give you a notification. Maybe that is why, I don't know I'm just spit balling, but, when I started to open the app at least once a month manually it stopped happening. This was a Galaxy S8 too, I have a pixel 4xl now. But that stopped it for me. Almost seemed like the OS forgot the app was running in the background. It's not an educated guess cause like I said I don't know a lot about Android, or various flavors of it, but maybe it's a similar issue?
> 0 votes

# Answer
In 2024, `Settings -> Battery -> Background usage limits` allows one to control which apps should not be put to sleep.

In addition, each app has a setting under `App -> App Info`, called `Remove permissions if app is unused`.
> 0 votes

---
Tags: samsung, permissions
---


# Question
Title: Get the list of downloaded YouTube offline video's title from another device
Is there a way wherein I can see what YouTube videos I have saved offline on my phone on another device with the same Google account?

Is there a way to see a list of my saved YouTube videos?

# Answer
> 2 votes
> Is there a way wherein I can see what YouTube videos I have saved offline on my phone on another device with the same Google account?

AFAIK the answer is No, and below is brief theory explaining why so.

When YouTube Download those videos for offline viewing, it basically store those videos on THAT device's internal storage. The location for those videos is something similar to below path.

> Internal storage/Android/data/com.google.android.youtube/files/Offline/(system generated folder name)/streams

There might be a minor change to this location or path on other Android devices, but all those downloaded files are saved as .exo files, in an **Internal Storage of a device**!

Those "offline" videos can only be played using official YouTube App, and those videos simply can not be played using any other Video/Media player application.

YouTube (means Google) controls the access to the offline file.

The permission is controlled on their server to access those downloaded files and Since they are part of specific device, you cannot access/view those using Google Account, from another device.

> Is there a way to see a list of my saved YouTube videos?

Yes, you can see the list of all offline saved videos on same device by 2 ways

1. As mentioned earlier, using the path from Internal store.
2. Through YouTube App itself. Open YouTube App, click on the right most icon(which looks like person/contact). Here you can see "**Available Offline**" section with **Saved videos**, click it to see all offline saved videos on your device

# Answer
> 0 votes
very great question and here is some answers from my side and you can use the screenshot option with long screenshot to capture all that list in a picture format. with this information collected in screenshots you can use or download videos on your other mobile as you asking for the help.

---
Tags: youtube
---