# Question
Title: Samsung Galaxy timeout changes to "parentheses" (or zero)
When I restart my Samsung Galaxy S9, the screen timeout value changes to "**()**".

Notice that's not a zero; it's two parentheses. That's literally what appears in the settings. However, the phone must **think** of it as a zero, because the screen goes dark immediately when I'm not touching it (and then I have to enter my password again).

This setting change also happens if I have the Power Mode in "Maximum Power Saving" and I switch to a different Power Mode. I don't think it happens in Safe Mode.

This started happening a few months ago. It also happened with my old Galaxy S7; my solution was to get the S9. (JK, I had other reasons too.)

EDIT: Yes, Cody: I can set the timeout to any value, but when the phone restarts or comes out of "Maximum Power Saving", the timeout is reset to "**()**".

# Answer
> 2 votes
Following @wbogacz's lead, I went to **Settings --\> Apps --\> Special Access --\> Change system Settings.** I discovered that Avast Battery Saver had control over the timeout, so I revoked that privilege. (I think I could also have done it in the Avast app itself.)

That solved it.

# Answer
> 0 votes
So, when you have set the timeout to be a longer length of time you see this issue? I assume you have tried rebooting your phone and trying software updates. If all else fails, you could try resetting the phone.

---
Tags: samsung, samsung-galaxy-s7, samsung-galaxy-s-9, sleep, screen-timeout
---


# Question
Title: How do I block an app from ever installing in Android 12?
There is one notorious app. That gets installed every now and then. How do I stop it from happening in Android 12. Is there a way to block it from ever installing from google play store?

# Answer
> -2 votes
Turn automatic update off in settings

---
Tags: installation, uninstallation, android-12
---


# Question
Title: How to create shortcut to 2nd YouTube account
How can I make a shortcut to a 2nd YouTube account on my Android phone. I have a Samsung s21+ with one ui 4.1 and Android 12

There is a dual messenger function which allows multiple versions of the same app to be installed. Can this be done with YouTube?

If not can I make two shortcuts, one that automatically loads a second YouTube profile and the other a default profile?

If this is not possible can I a make a chrome shortcut that opens the specific YouTube account in Chrome (or any other browser)

Ultimate goal is to have two icons, one for each profile so I don't have to keep switching profiles manually via the app (slow and requires 10+ seconds on slow internet).

What is the easiest way to achieve this?

# Answer
You can use apps\* available on google play and log in with the desired google account in the cloned app and then create a shortcut on the home screen.

\*third-party cloner app as an alternative to Dual Messenger if it is not possible to duplicate youtube through it.
> 1 votes

---
Tags: samsung, google-account, youtube, samsung-one-ui
---


# Question
Title: Display a portrait-mode app on a horizontal rotatable screen
I need to display a portrait-mode app from my Samsung Galaxy S9 on a horizontal PC screen. The PC screen is able to rotate to portrait mode, but the problem is that the image rotates with it. The image is always displayed horizontally in regards to the PC screen. This means that when the PC screen is horizontal, the image is displayed in portrait mode in the middle of the screen, covering only a small "pillar".

When I rotate the PC screen to portrait mode, the image rotates with it, leaving the same "pillar" covered (though now rotated 90°).

What I need is for the image to be displayed in portrait mode while the screen is in portrait mode (meaning the image is rotated -90° when the screen is horizontal, making it utilize the entirety of the screen).

I've contacted Samsung, and they say there are no settings on the phone that allows me to do this, so I'm looking for an alternative solution, such as an app or other third-party clients. I've also read somewhere that I have to root my phone (and change some codes?) in order to achieve this, but that seems way too advanced for me. Alternatively, I could use my old Huawei P9, if that helps.

# Answer
Using Miracast or an HDMI cable, the content will always be displayed as it is on your smartphone \> I suggest trying this app on your phone to rotate the image and then adjust the image on your monitor as per your needs.

Rotation Control

Activate Guard Mode (shield icon) and choose the desired angle.
> 1 votes

---
Tags: screen, hdmi, samsung-galaxy-s-9, auto-rotation
---


# Question
Title: How can I use userscripts on Firefox for Android?
As of October 2020 I can't seem to find a working add-on/extension for Firefox on Android. Tampermonkey's page says the add-on is not compatible with Android, but I think it used to work fine a while back. Is there any way to install userscripts on a current version of Firefox for Android (including beta or developer editions)?

If current versions don't support such extensions, and the only way is to install an older package (not recommended due to potentially unpatched vulnerabilities, I know), which is the latest package version I can use Tampermonkey (or a similar) extension with?

# Answer
End of August Mozilla has pushed a new major version of Firefox for Android that bases on a new web engine.

For an unknown reason for this new version they only allow a very small set of hand selected addons. May be the engine changes were so big that most of the addons now have problems?

It seems like the developers at Mozilla are trying to bring back the full addon support in the next version which is scheduled for October 22th 2020. According to the Mozilla blog the current Firefox Nightly version should already include the mentioned full addon support. May you give this version a try - hopefully it will be able to run Tampermonkey addon again.

Edit 2024: For installing any XPI add-on in Firefox for Android you have to enable the Firefox Debug-Mode by opening the **Settings** -\> **About Firefox** and tapping the Firefox logo 5 times. Afterwards the Settings page has the new entry **Install add-on from file**.
> 6 votes

# Answer
You can instead install an actively maintained Android Firefox fork Iceraven that supports extensions like Tampermonkey, Greasemonkey, etc.
> 1 votes

---
Tags: firefox-for-android
---


# Question
Title: How to effectively search for apps on/without using Google Play?
Okay, so basically the Google Play store search is only for typing in the exact name of the app you already know and want to install.

Every time I look for an app with certain functionality, I'm having great problems in finding it. Usually the results contain tons of spam applications and very few of useful ones, or ones actually fitting the search keywords I used. Sometimes I find the apps I was looking for while browsing the store (hundreds of pages...) or digging through "top xx apps for yy" sites that usually come as a result of a regular google search.

**My question is** \- are there any alternatives? How do I search for Android apps that do what I want them to do without digging through hundreds of pages of crappy, unrelated apps at Google Play or reading lists of hundreds of apps on silly web pages whose sole purpose is advertisement? I've read that there once was something called Chomp, but it seems like it doesn't exist any more (not sure, I think Apple bought it).

# Answer
> 5 votes
Try combined search words to narrow down the result list. If you e.g. look for an alarm reminder, "alarm reminder" gives you 1.000+ results -- while "alarm-reminder" (note the "minus" replacing the space) shrinks it to 48, relating to both terms (and not just either one of them).

Sometimes also the rules from Google's main search engine apply here (I could not yet figure out when they do and when they don't). So "alarm +reminder" should list only apps whose name/description contains *both* terms -- while "alarm -reminder" should list only those containing "alarm" but not "reminder". As said, this works *sometimes*, while the first rule mentioned seems to work *always*.

I just tested it, and surprisingly even some more advanced keywords work: "clock +intitle:alarm" really lists only apps having "alarm" in their name (and "clock" in their name or description; though this I did not verify completely). I suspect the playstore search is just a "customized Google search" -- so you might play with other "tipps and tricks" from its "big brother".

# Answer
> 3 votes
There are some alternative front-ends to the Google Play store, like AppBrain, AndroidZoom that use a totally different search engine, and index apps differently, you may have different results if you search on there for your apps.

See also this previous question for some more info: What are the alternative Android app markets?

# Answer
> 1 votes
I abandoned Google Play because:

* Downloads get aborted on network interruption
* Loading of app details is slow
* Screenshots of apps are not clear on the small display

Now I use the following apps:

# Mobogenie

* Good for browsing and downloading apps, even on slow and interrupted internet connection
* Zoomable screenshots allow viewing details clear on small devices

# F-droid

* Easily install open sources apps
* Offline browsing
* Multi-version download

# Aptoide

* Multiversion support

After installing some apps, I just realised they are not working as advertised by the developer. Some apps didn't even launch. In most cases, this is due to a bug introduced while adding new features to the app. Downgrading to an older version fixes this. Aptoide allows doing so by navigating to the multi version tab.

# 1mobile

* For searching apps from lots of stores
* Even paid apps can be searched and then opened in Google Play using the share menu
* Apps can be downloaded directly from their website (info: they provide two links one for the current app and the other for their marker app with the same name)

# Answer
> 0 votes
**With App Finder, there is now an advanced search engine designed to find the best apps with a specific functionality.**

It searches the descriptions of 2,300,000+ apps from Google Play, with data for all 200+ countries.

With an advanced search language and many filters, it makes it often possible to refine the search to a point where all remaining results can be examined in a few minutes, as I show here.

Available from Google Play here.

For more information see the thread on XDA, and here.

***Disclosure: I am from Skyica LLC, the developer of App Finder***

---
Tags: google-play-store, search
---


# Question
Title: How to search for Android apps without ads?
Is it possible to limit searches within the Google Play Store to apps (gratis or paid) that do not contain ads?

If it's not possible within the Google Play store, is there another effective way to accomplish this?

# Answer
There's the Playsearch website which allows you that without having to install anything beforehand:

Playsearch website, your criteria marked (click image for larger variant)

In addition to what you asked for, you even can specify how long ago the last update should be at maximum, what size the app should have, what Android version it should support, how well it ranks (stars) – and how wide-spread (number of installs) it should at least be.
> 58 votes

# Answer
Not sure with native Google Playstore, but you could use Yalp or a fork of Yalp, Aurora (F-droid link), it has many search filters e.g for ads, gratis, number of downloads etc..

> Aurora Store is an alternate ( FOSS client) to Google's Play Store, with an elegant design, using Aurora you can download apps, update existing apps, search for apps, get details about in-app trackers and much more.

Select the filter and tap apply, your search results will match your criteria.

Filters in Aurora (click image for larger variant)

Disclaimer I am not affiliated with Aurora, but I use it as a replacement to Google play store client

Acknowledgements

1. Xda thread
> 18 votes

# Answer
With ***App Finder***, you can filter for apps without ads (and many other criteria). Also, in the result list it is indicated for each app if it contains ads.

It has 2,380,000 apps indexed currently, much more than *playsearch.kaki87.net* and *reallyfreeapps.com*. Also, there are more filters available, and more information is shown in the result list.

Available from Google Play here.

For more information see the thread on XDA, and here.

***Disclosure: I am from Skyica LLC, the developer of App Finder***
> 4 votes

# Answer
I developed an app (and web) called reallyfreeapps for Android to look at apps and games with no ads and no IAP. You can take a look at https://reallyfreeapps.com
> 3 votes

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


# Question
Title: Are android kernel versions are same for identical device models?
I have a question: if I have two Samsung A52 devices are these both got the same kernel versions?

# Answer
> 1 votes
If they are running the same OS version, then they are also running the same kernel version.

Note that by "OS version" I don't exactly mean the same Android version. Phone manufacturers can - and should - release newer OS versions with newer security patches and bugfixes. The Android version doesn't necessarily change with each such update, but OS build version does. Kernel version can change too.

If you're interested in running custom ROMs, then it's also possible that two ROMs based on the same Android version would be running different kernel versions.

Finally, with an unlocked bootloader it's possible to flash a custom kernel to any ROM, custom or not.

---
Tags: kernel
---


title: Access Phone with broken screen

text:
# Question
Title: Access Phone with broken screen
I've recently broken the screen of my Samsung Galaxy S7 (model number: SM-G390F). USB debugging should be enabled, however MTP seems to be disabled as data cables (work for file transfer with other phones but not for this one) are able to charge it (vibrates when plugged in), but neither the file explorer nor the adb list of devices features it.

Are there any way to force the recognition, to get around it not being detected, to mirror the screen or use a different output, to check if the touch is still active or both screen and touch are broken? To figure out where one would need to do blind presses to enable the necessary permissions?

So far I've tested several cables and are in possession of data micro-USB cables for data transfer, I tried to access it via adb and failed, I tried to do this power, home, vol up or down, but I don't see a result with screen broken. I've read several post on this topic but they are either outdated or weren't successful. Are there any options that come to mind on how to access and recover the data on the phone?

Edit: The only response left from the screen is that the pseudobuttons left and right from the home button light up when I press the home or power button. Also the light in the top left is occassionally blue or red (when charging). Attempts to take screenshots on an sd card (unfortunately only inserted after the screen stopped working) have not been successful, though that could just be a me issue and not a phone issue, I'll keep trying later).

# Answer
I would recommend trying to mirror its screen, for if its only the internal screen then it should have no problem giving an output. Then, if the touch screen still works. Either check settings, Get a new screen, Or try factory reset

See HERE for MicroUSB to HDMI adapter
> 1 votes

---
Tags: broken-screen, samsung-galaxy-s7
---


# Question
Title: How can I search for a place amongst my visited places in the Google Maps Android app?
How can I search for a place amongst my visited places in the Google Maps Android app?

# Answer
> 0 votes
I'm not aware of any method to manually search your visited places in the native Google Maps application; the best I've been able to find is by opening Timeline and navigating by date, which isn't very helpful if you don't already know the date of your visit in advanced. Instead, I would use a browser and navigate to your Google account's activity controls page, and filter by Maps; this will allow you to directly search your maps visited places.

---
Tags: google-maps, search, history, google-location-history
---


# Question
Title: How can I delete ALL alarms in the stock Clock app?
How can I delete ALL alarms in the stock Clock app?

I see that you can delete them one-by-one, but I have 50+ (created regularly with voice commands), and I'd like to get rid of them in one action.

# Answer
> 13 votes
I deleted all alarms in Android Jellybean 4.1.1 by performing the following operations in Settings \> Apps \> All \> Clock:

Force stop
Clear data
Clear cache

YMMV

# Answer
> 3 votes
Incredibly, this is still an unaddressed issue in 2022. I have noticed that it's possible to ask google assistant to delete all of your **active** alarms -- meaning the ones that are scheduled to ring.

So one inconvenient way to deal with this, would be to activate all the alarms manually (which is a bit faster than deleting them manually) and then ask google assistant to 'delete all of my alarms'.

Careful btw: asking Google assistant to 'delete all of my inactive alarms', will actually delete only your active ones (which is how I discovered this).

# Answer
> 0 votes
At the top of the page there is a garbage can. You can click on the can, which will show a multi select option, which lets you mark each alarm for deletion.

---
Tags: stock-android, alarm, delete
---


# Question
Title: Why is "transfer files" an optional mode for USB?
When I connect my android device to a PC, it has several options for the "mode" of connection. Does anyone know the reason for this? Why would anyone want file transfer to be unavailable on a USB connection? Is there anything gained by disabling file transfer? If not, then why is it not always enabled? I know there is a workaround with developer mode, but I would like to understand why this problem even exists.

# Answer
> 3 votes
My guess for this behavior are security and privacy concerns.

If you connect the phone to an USB port mounted somewhere where you can't control if it is connected to a charger or a PC it makes a difference if it is a PC that automatically gets full access to all you photos, videos,...

Micro PCs can be placed even in cases of charger size so considering that any USB device you connect your phone to could directly steal a large number of your private data - would you really want this?

---
Tags: usb
---


# Question
Title: How do I find what type of file system is of an attached USB or SD card?
How can I find the file system type of USB drive without using computer? Drive is attached to Android phone and I can see the files in it. I want to know if it is `extFAT` etc.

# Answer
Related question: How to detect filesystem type of un-mounted partition?

Just to complete some missing pieces:

Usually we use `mount` command to see mounted filesystems, it works without root e.g. from a terminal emulator app or `adb shell`:

```
~$ mount
...
/dev/block/sda1 on /mnt/media_rw/C8BA-D0E2 type sdfat ...
/dev/block/sda2 on /mnt/media_rw/C78E-434F type vfat ...
/dev/block/sda3 on /mnt/media_rw/C81D-4E8D type vfat ...

```

It shows mounted filesystems on external USB drive to be `sdfat` and `vfat` which are **not actual filesystems but filesystem drivers**. A driver can support multiple filesystems and a filesystem can be mounted using different drivers. `sdfat` can be exFAT, FAT32 or FAT16. `vfat` can be one of latter two. Similarly filesystem types `sdcardfs`, `fuse` or `fusectl` aren't actual but virtual filesystems (FUSE can be used to mount any filesystem theoretically). So the output of `mount` command or apps like DiskInfo can be insufficient or misleading.

A more certain way is to read **filesystem magic** (`file` and `blkid` commands do this). But the problem is that storage devices are enumerated as block devices by Linux/Android kernel and device nodes are created by Android `init`/`vold` with restricted permissions so that only root processes can access them (see How to read ext4 filesystem without mounting on a non-rooted device?). So it's not possible to read partitions directly which hold filesystems inside them.

**With root access:**

```
~# blkid
/dev/block/sda1: ... TYPE="exfat"

```

```
~# file -s /dev/block/sda*
/dev/block/sda2: DOS/MBR boot sector ... FAT (32 bit)
/dev/block/sda3: DOS/MBR boot sector ... FAT (16 bit)

```

* Android's builtin `blkid` does have filesystem magic values but `toybox file` applet doesn't have. Use e.g. `file` on Termux which looks for a large magic database.

```
~# hexdump -C -n100 /dev/block/sda1 | grep -o '[EX]*FAT[0-9]*'
EXFAT

```

* `hexdump` is a busybox applet.

exFAT magic is found at offset `3`, FAT32 at `82` and FAT12/FAT16 at `54`. So for **exFAT** `hexdump -e '"%_p"' -n5 -s3 /dev/block/sda1` returns `EXFAT`.

Similarly for **EXT4** `hexdump -e '"%X"' -n2 -s1080` should return `EF53` and for **F2FS** `hexdump -e '"%X"' -n4 -s1024` should return `F2F52010`.

**Without root access:**

Another option is to check `logcat` soon after boot or inserting USB drive or SD card. `vold` uses `blkid` at back end to detect filesystem before mounting which appears in log:

```
~$ adb logcat -v brief -s vold:V | grep TYPE=
V/vold    (  752): /dev/block/vold/public:8,1: LABEL="disk" UUID="C8BA-D0E2" TYPE="exfat"

```
> 7 votes

# Answer
Apps like Disk Info also provide the format (enable "show file system" in settings).
> 4 votes

# Answer
The app DevCheck will show you the actual filesystem of `/system` and `/sdcard`. (unlike the "diskinfo" app).
> 1 votes

---
Tags: file-system, formatting, usb-storage
---


# Question
Title: Can't restore (Nandroid backup) data partition (using TWRP) because boot gets stuck on "Phone is starting..."
I embarked on a planned factory reset and hence started the procedure with a Nandroid backup (via TWRP) of all available partitions.

Following the reset, after restoring the data partition from the backup, the boot sequence gets stuck on "Phone is starting...". After five minutes (or so) the phone restarts and then says:

> Cannot load Android system. Your data may be corrupt. If you continue to get this message, you may need to perform a factory data reset and erase all user data store on this device.

...providing the option to "Try again" or "Factory data reset".

Restoring any other partition from the Nandroid backup produces no issues, it's only when the data partition (the most important to me) is restored does this issue occur.

The backup is not corrupted, as the digest verification succeeds.

Do I have any other options other than:

1. Discard the backup and start from a blank slate.
2. Start from a blank slate and manually extract the most important data from the data partition.

?

Ideally I'd like to be able to diagnose the root cause of the "Phone is starting..." issue, address it and continue to use my phone as it was prior to the first factory reset. I have done this restore process successfully before, but this time it's just not working for me.

* Phone: Fairphone 3+
* OS: Stock
* Bootloader: Unlocked

Restoration procedure I do (following a factory data reset):

1. Boot phone.
2. Follow prompts to set same screen lock as prior to reset.
3. Restart phone into fastboot mode.
4. Boot into TWRP (using screen lock credentials to decrypt data partition).
5. Restore from backup.

# Answer
> 2 votes
The following procedure worked for me:

1. Factory reset data partition. If you can't boot, this can be achieved by running `fastboot flashing lock`, and then `fastboot flashing unlock` (because locking/unlocking the bootloader results in a factory reset).
2. Boot into the operating system and follow the setup prompts, **ensuring that no screen lock is set!**
3. Turn off phone.
4. Boot into TWRP.
5. Restore just "data" partition.
6. Reboot.
7. Re-enable screen lock as desired.

# Answer
> 0 votes
Sometimes, bypassing screen unlock (as per one of the answers) isn't enough. Need to actually Format Data in TWRP.

Some recoveries can't deal with FBE and so you'd have to Format Data and disable FBE and then take a TWRP backup of that. Your ROM will basically be decrypted at that point. When you then do a restore, it'll work fine.

I've had this issue today, tried all sorts of things, ended up going with the above as a proper working solution.

---
Tags: backup, twrp, restore, partitions, nandroid
---


# Question
Title: How to automatically turn on WiFi hotspot when the airplane mode is disabled?
How can I configure my wifi hotspot so that it is automatically turned on when the airplane mode is disabled?

I use a Google Pixel 6 with Android 12.

# Answer
One can use MacroDroid:

Potential problem:
> 1 votes

---
Tags: wifi-hotspot, airplane-mode
---


# Question
Title: Viber displays numbers instead of name of senders, how can I restore the old setting on my Viber?
My Viber shows numbers instead of names. Before, it shows sender names, now it show senders number unless I edit it.

How to restore to the previous setting?

# Answer
> 1 votes
I downloaded a previous version (v18.5.1.0) and it resolves my issue.

---
Tags: contacts, viber-messenger
---


# Question
Title: How to clean app caches in Android 11 and why is it not possible to delete all app caches in Android settings?
In the phone's stock file browser's cleaner it shows me that apps like Soundcloud take up lots of storage space but it only offers me the option to remove the app entirely instead of deleting just the cache.

When I go to Android settings -\> manage apps -\> Soundcloud (App-Info) it shows me that it takes up 0.00B of disk space and the button Delete data at the bottom is disabled.

I already ran the "Junk Cleaner" of "Phone Cleaner" by "Super Cleaner Studio" to remove all apps caches but it looks like it didn't work (from the browser cleaner and from the available storage space).

* How to clean app caches in Android 11 in a way that actually works (including for the Soundcloud app and for all apps at once)?
* Why is it not a built-in feature of Android to clean all (or multi-selected) app caches at once and one needs to install apps like "Phone Cleaner" to do so?

**Edit**: I could clean the cache now. I could do so after turning off night mode / reading mode (it reduces blue light) and using the cache cleaning of Playstore when it displays that you lack disk space.

**Edit 2:** it works without turning off reading mode but only with the data management by PlayStore now, I think at that specific point in time after running off reading mode Phone Cleaner removed the caches too but not anymore. The problem is I don't know how to open the PlayStore data management, it only sometimes shows when the disk space is full in PlayStore.

I'll try if it still works with other ways to clean the cache such as Phone Cleaner and/or without turning off reading mode.

# Answer
> -3 votes
Go to Recovery, then wipe cache.

---
Tags: applications, cache, cleanup
---


# Question
Title: How do I adjust the sensitivity of my Bluetooth wireless mouse on Android 11 or Samsung DeX?
I have an ergonomic wireless Bluetooth mouse from Microsoft that I use when using my Samsung Galaxy S21 Ultra in Dex mode. The speed of the mouse cursor is very high by default and I want to make it move slower.

How do I do this in Android and preferably in Dex?

# Answer
> 0 votes
I've found out how to configure the mouse cursor sensitivity. In `Settings` go to `Dex Settings > Mouse and Trackpad`. Click on `More Settings` and then adjust the mouse sensitivity with the `pointer speed` adjustment bar.

---
Tags: android-11, samsung-dex, samsung-galaxy-s-21
---


# Question
Title: How to change the brightness of the Galaxy A10s flashlight
I saw how this application (Cardiograph) uses a bright flashlight, and then it switches to a dim one. The phone itself (Samsung Galaxy A10s) does not have a built-in flash brightness control, and there is no root either. So, how can you adjust the power of a flashlight, what applications are there for this (maybe even somehow through Termux)? Samsung Galaxy A10s phone, Android 11, all updates installed.

---

Video

# Answer
From googling, I found How to adjust the flashlight brightness on your Samsung Galaxy phone;

> 3. **Tap the word “Flashlight“** below the icon to open the brightness slider.
> 4. Alternatively, you can **long-press the Flashlight icon** itself to access it.
> 5. **Adjust the slider** from Level 1 to Level 5 as you desire.
> 6. After choosing a brightness level, tap **Done** to leave the setting.
> 1 votes

---
Tags: samsung, android-11, camera-flash, samsung-one-ui, flashlight
---


# Question
Title: How to know, which app is playing music in the background?
I installed some alarms, then I configured them... then I configured the phone settings the standard wake signal for a long music.

I ended up that something is playing music in my ear, in the background, and I have no way to know, which app is doing it.

# Answer
Try this command inside adb shell `dumpsys media_session | grep -E "Media button session is.*userId=0"`

It will output like this

```
blueline:/ $ dumpsys media_session | grep -E "Media button session is.*userId=0"
  Media button session is com.bsbportal.music/media_session (userId=0)

```

Here is a single liner command for getting the package name of app playing the audio

`dumpsys media_session | grep -E "Media button session is.*userId=0" | sed "s/.*Media button session is//g" | cut -d'/' -f1 | xargs`

```
blueline:/ $ dumpsys media_session | grep -E "Media button session is.*userId=0" | sed "s/.*Media button session is//g" | cut -d'/' -f1 | xargs
com.bsbportal.music
blueline:/ $ dumpsys media_session | grep -E "Media button session is.*userId=0" | sed "s/.*Media button session is//g" | cut -d'/' -f1 | xargs
com.google.android.youtube
blueline:/ $

```

If you've paused the Music playing apps then you would get the same above output.

If you really wanna confirm if the audio/music or some content is really being played then you can combine the above command with another one to check its playback state.

`dumpsys media_session | grep -E "Media button session is.*userId=0" -A11 | grep "state=" | sed "s/.*{state=//g" | cut -d ',' -f1`

Returns "3" for playing state and "2" for paused state.

```
blueline:/ $ dumpsys media_session | grep -E "Media button session is.*userId=0" -A11 | grep "state=" | sed "s/.*{state=//g" | cut -d ',' -f1
2
blueline:/ $

```

*All my tests were done on Google Pixel 3 running on Android 12, the shell commands might return a different output on different Android versions so make sure to fine tune them. (Or revert back to me if you need any help)*
> 5 votes

---
Tags: music, background-process
---


# Question
Title: Android NIC MAC address changed automatically
This is very puzzling but my android phone's NIC's MAC address seems to have changed on its own (or at least this is what it's showing).

I have a MAC filter in my LinkSys router and I have given access to only my computer and android phone. I had connected my phone to the access point just a few hours ago. When I tried to connect it now, I couldn't. So I rechecked the MAC filter list (FC:A1:3E:77:57:76) , and I surprisingly found it to be different from what my phone (FC:A1:3E:77:57:F7) was showing. Is this some bug in android? Does this happen? Or maybe the address in my router got changed (which isn't plausible).

PS: *Please don't say that somebody must have broken into my router and changed it there, because that's not possible. I use WPA2, and anyways the signal cannot reach outside since outside is very far.*

**Edit**: I guess it's a fault with my LinkSys router, since more weird things are happening. The router is assigning the same IP address to my computer and android phone. Can someone please migrate this question to Server Fault?

# Answer
My android 11 moto g used to randomize my phones mac every time I forgot the network and reconnected which I need to continuously reconnect to the coxwifi hotspot for the 30 min trail. That’s how they track it. One trail a month. But I had bypassed that and could do it for ever. Until a year or two later and android stopped doing it. The settings haven’t changed just the max is
> 0 votes

# Answer
Problem is with your phone and not router. Your phones software keeps assigning new MAC addresses every time you turn your wifi on. If you are using MAC address filtering then it will need a static address.
> -1 votes

---
Tags: wi-fi, mac-address
---


title: Writing an ISO file to flash memory

text:
# Question
Title: Writing an ISO file to flash memory
I have an Ubuntu DVD ISO file downloaded in my android phone. Is there any way or any app I can use to write the ISO file to a USB flash memory connected to the phone so that the flash memory can be used just like a DVD to boot into Ubuntu in a desktop computer?

# Answer
> 2 votes
There is an app on the Play Store called 'DriveDroid' which will allow you to do exactly what it is you are looking for.

I am not sure however, if it is free or not but unfortunately you need a rooted phone to use it.

# Answer
> 1 votes
Although it's not actively maintained; EtchDriod still a works file for Linux ISOs.

> EtchDroid is an open-source application that helps you write images to USB drives, no root required.

---
Tags: applications, usb
---


# Question
Title: What does "Amplify transfer service is running" notification means?
I got a notification for an app saying "Amplify transfer service is running." What does this mean?

# Answer
> 0 votes
**The app is using the AWS Amplify Android library and this notification appears when the app is transferring data from/to its backend AWS services.**

Cross-referencing from Stack Overflow, Every upload & download getting notification "Amplify transfer service is running" which referenced to a GitHub issue, #1803 - A notification appears on user devices,

> While the transfer is running, we intend to display the foreground service notification to ensure that the transfer continues if the app is backgrounded/killed. Ideally, this foreground notification should only show while transfer(s) are in progress.

According to the relevant pull request, this is due to the background execution limits imposed since API 26 (Android 8.0) that apps in the background cannot start background services.

> While an app is in the foreground, it can create and run both foreground and background services freely. When an app goes into the background, it has a window of several minutes in which it is still allowed to create and use services. At the end of that window, the app is considered to be idle. At this time, the system stops the app's background services, just as if the app had called the services' `Service.stopSelf()` methods.

In normal cases, the notification should disappear after the transfer is completed. However, the library's maintainer also observed a possible bug:

> However, I have observed that even after a transfer completes, the notification continues to display, even if the app itself is killed. This appears to be a bug that our TransferService is not being stopped upon all transfers completing.

In this case, the app's developers need to fix it.

---
Tags: notifications
---


title: How to open an app using ADB?

text:
# Question
Title: How to open an app using ADB?
I would like to modify an existing app from Google Play to not appear on the app drawer. So what I did is I decompiled the apk file and then removed the line: `<category android:name="android.intent.category.LAUNCHER">` from the manifest file and now the app does not appear in the app drawer.

Now, if I want to open the app (just like opening it if I press it from the app drawer), how can I do it using the ADB shell?

I read that we can use `adb shell monkey -p your.app.package.name 1` to open an app but when I tried to use this it says `** No activities found to run, monkey aborted`.

# Answer
> 2 votes
You can use an app like Activity Launcher and if the app shows no activity to launch, that means in the process of decompiling you destroyed the app's ability to be launched.

And if you want to start the app from adb, you can take the activity name from Activity Launcher like this:

```
adb shell am start -n your.package.name/Activity Name from Activity Launcher

```

---
Tags: adb
---


# Question
Title: Is there a way to use Userscripts / Greasemonkey Scripts on the Android Browser or Dolphin HD?
I would like to be able to use userscripts in Android. Is this even possible? I read that it was a couple months back and tried a tutorial which I can no longer find but it didn't work.

This question may be related to this other one I submitted but I believe they may have totally different answers.

# Answer
Use OilCan \- "Greasemonkey on steroids for Android".
> 6 votes

# Answer
## 2019 Update:

My preferred way to get userscripts on Android would now be to use the Firefox browser, which has working, well-maintained Add-ons available for both Greasemonkey and Tampermonkey (search for them through the Add-ons menu in the Firefox app).

Pasting the javascript into the address bar still works (at least on Chrome), but note that Chrome now strips out the `javascript:` prefix when you paste in the code. If you don't retype it, it will just do a web search.

The mobile versions of Chrome and Opera (also now based on Chromium) don't support userscript add-ons, but the Tampermonkey standalone app is still available from the Play Store. It hasn't been updated since 2013 but still just about works. However, given its age, it won't support many of the features of the current Greasemonkey/Tampermonkey API, or modern websites in general. As a result, many userscripts won't work without modification. It's also tricky to figure out how to install them in the first player (use the 'Textarea' utility hidden under the Advanced Settings). There are also Tampermonkey extensions for the Dolphin and UC browsers available in the Play Store. I haven't tried them, but they haven't been updated since 2016.

## Original 2013 answer:

Solution 1. Use Tampermonkey. Tampermonkey is more popular as an extension for Chrome, but it is also available as a standalone Android app. It functions as a lightweight browser, and allows you to manage and automatically run user scripts. Unfortunately it doesn't have many of the features found on other popular browsers, but it does support the Greasemonkey API.

Solution 2. Use Opera Mobile, which has built-in support for userscripts, but no script management features, and doesn't support the Greasemonkey API. Navigate to the User Prefs section of `opera:config`, then tick "Always Load User JavaScript" and "User JavaScript". Enter the path to a folder (not a file) in the "User JavaScript File" field (I use /sdcard/userscripts/), then store the settings. Save your userscript in that folder with a `.user.js` extension. NB this works in OM12, but the OM14 beta doesn't seem to support userscripts at present.

Solution 3. Launch your userscript manually via a bookmarklet or pasting this javascript directly into the browser address bar:

```
javascript:(function(){var a=document.createElement("script");a.src="http://path.to/myscript.user.js";document.head.appendChild(a);})();

```

This technique is tedious, but the principle should work in most browsers. You don't get Greasemonkey API support though. The code above should work without modification in the stock Android browser, and can be saved as a bookmarklet. In Chrome Mobile the space in the `var a` needs escaping, i.e. `var%20a=`, and bookmarklets don't seem to work, so you have to paste manually every time.
> 15 votes

# Answer
Use either the Habit Browser or Slepnir Browser apps. They both support Userscripts. I had to tweak my scripts slightly to get them working (they handle events differently) but they both work really well.
> 2 votes

# Answer
There is a Greasemonkey-like add-on for Dolphin called Tampermonkey. There is also a stand-alone Tampermonkey app, but Dolphin is a more full-fledged browser than that thing.

There is also a similar add-on for Firefox for Android, called USI.
> 2 votes

# Answer
You can run userscripts on your phone by installing Violentmonkey on Kiwi Browser or Iceraven.
> 1 votes

---
Tags: browser, browser-add-ons, javascript
---


# Question
Title: Unable to get apt-update and apt-upgrade to work on Bliss OS using Termux
Ideally, I am trying to gain root access to a Bliss OS (version 11.14) Virtualbox machine I have so that I can view saved PCAP files. Sadly, to get to the directory I have to be root. The only option seems to be installing a fake root module (https://www.crisisshelter.org/get-root-access-in-termux-without-root-fakeroot/).

However, this and several other things I have tried to do with Termux lead up to running `apt-update` and `apt-upgrade`. However, I keep seeming to get repository issues.

```
$ apt update && apt upgrade
Get:1 https://grimler.se/termux-packages-24 stable InRelease [16.8 kB]
Get:2 https://grimler.se/game-packages-24 games InRelease [9347 B]
Err:1 https://grimler.se/termux-packages-24 stable InRelease
  The following signatures couldn't be verified because the public key is not available: NO PUBKEY B0076E4908716168
Get:3 https://grimler.se/science-packages-24 science InRelease [9360 B]
Err:2 https://grimler.se/game-packages-24 games InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY BO076E4908716168
Err:3 https://grimler.se/science-packages-24 science InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY B0076E490871616B
Reading package lists... Done
W: GPG error: https://grimler.se/termux-packages-24 stable InRelease: The following signatures couldn't be verified because the public key is not available: NO PUBKEY B0076E490871616B
E: The repository 'https://grimler.se/termux-packages-24 stable InRelease' is not signed.
N: Metadata integrity can't be verified, repository is disabled now. N: Possible cause: repository is under maintenance or down (wrong sources.list URL?).
W: GPG error: https://grimler.se/game-packages-24 games InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY B0076E490B71616B
E: The repository 'https://grimler.se/game-packages-24 games InRelease' is not signed. N: Metadata integrity can't be verified, repository is disabled now.
N: Possible cause: repository is under maintenance or down (wrong sources.list URL?).
W: GPG error: https://grimler.se/science-packages-24 science InRelease: The following signatures couldn't be verified because the public key is not available: NO PUBKEY B0076E490B71616B
E: The repository 'https://grimler.se/science-packages-24 science InRelease' is not signed.
N: Metadata integrity can't be verified, repository is disabled now.
N: Possible cause: repository is under maintenance or down (wrong sources.list URL?).

```

Screenshot of terminal output

I can't seem to find a fix for Termux anywhere online. Does anyone have a better solution to getting root access via Termux?

UPDATE: I updated termux to a more modern version. However, I get "File has unexpected size" error when I try to run `apt-get` update, or when I try to install anything.

```
~ $ pkg install su
Checking availability of current mirror: ok
Get:1 https://packages. termux.dev/apt/termux-main stable InRelease [14.0 kB]
Get:2 https://packages. termux.dev/apt/termux-main stable/main x86_64 Packages [450 kB]
Ign:2 https://packages. termux.dev/apt/termux-main stable/main x86_64 Packages
Err:2 https://packages. termux.org/apt/termux-main stable/main x86_64 Packages
  File has unexpected size (451382 != 450311). Mirror sync in progress? [IP: 216.18.208.174 443]
Err:2 https://packages. termux.org/apt/termux-main stable/main x86_64 Packages
  File has unexpected size (451382 != 450311). Mirror sync in progress? [IP: 216.18.208.174 443]
Err:2 https://packages. termux.org/apt/termux-main stable/main x86_64 Packages
  File has unexpected size (451382 != 450311). Mirror sync in progress? [IP: 216.18.208.174 443]
Fetched 14.0 kB in 1s (10.7 kB/s)
Reading package lists... Done
E: Failed to fetch https://packages. termux.org/apt/termux-main/dists/stable/main/binary-x86_64/Packages File has unexpected size (451382 != 450311). Mirror sync in progress? [IP: 216.18.208.174 443]
E: Some index files failed to download. They have been ignored, or old ones used instead.

```

Screenshot of terminal output

Does anyone know a fix for this?

# Answer
> 0 votes
Your link about the fakeroot module seems to be one of these websites that are created by bots to get money using website ads.

PCAP file is just network traffic capture as a file.

If you are just interested in the network traffic being captured regardless of the file or the format, I recommend you to use HttpCanary.

---
Tags: termux, virtualbox
---


# Question
Title: adb install-multiple: Update to package <pkg> doesn't support multi arch
I'm attempting to install Chrome 100.0.4896.127-489612710 (arm-v7a, Android 6.0+) on a Pixel 3 running Android 9. It's a .apkm file so I unzipped it and ran

```
adb install-multiple -r -d *.apk

```

However, I got the error message

> Failure: \[INSTALL\_FAILED\_UPDATE\_INCOMPATIBLE: Update to package com.android.chrome doesn't support multi arch\]

The relevant lines from `logcat` are

```
W PackageParser: Unknown element under <manifest>: uses-sdk at /data/app/vmdl286680564.tmp.split_extra_icu.apk Binary XML file line #3
W PackageParser: Unknown element under <manifest>: module at /data/app/vmdl286680564.tmp.split_extra_icu.apk Binary XML file line #5
W PackageParser: Update to package com.android.chrome doesn't support multi-arch

```

# Answer
> -2 votes
apkm is just a split apk file distributed by apkmirror

apkpure has an equivalent called xapk

try to install using this command

```
adb install-multiple base.apk split_extra_icu.apk split_config.en.apk

```

---
Tags: adb, installation, apk
---


# Question
Title: Why Android x86 9.0 boots in command line and not in GUI?
i just installed android x86 9.0c and i don't know why it doesn't boot on GUI mode and it boots only in commandline then after some seconds i can only see just a dash appearing and disappearing. I have tried to put my graphics settings to vboxvga and disabled 3D acceleration but it still doesn't work. What else i can do to fix this problem?

here you can see that its booted in commandline , after some seconds it becomes black and all i can see is just a dash appearing and disappearing

# Answer
> 5 votes
This is a semi permanent fix. It will stay fixed until you open settings. Then you can just do it again.

**1.** On the main VBox screen in the display section click on what ever follows **Graphics Controller:**

**2.** In the box that opens select VBoxSVGA.

# Answer
> 2 votes
According to the answer here from Stack Overflow:

1. **Temporary fix**: append `nomodeset xforcevesa` at the end of the line containing kernel during boot time at the GRUB menu. During boot press `E` to edit. While on the line containing kernel press `E` again, append `nomodeset xforcevesa` at the end, press enter, then press `B` to boot.
2. **Permanent fix:** read the answer here.

# Answer
> 0 votes
Using the 32bit version worked for me. Also try an older Android version

---
Tags: linux, command-line, android-x86
---


# Question
Title: Warning sign at WhatsApp backup in Google Drive
I have an Android phone with WhatsApp installed that backs up to my Google Drive. When I go to the app settings in Google Drive, I see a warning next to WhatsApp (a gray triangle with an exclamation mark).

Why is that and how do I fix it?

# Answer
> 1 votes
According to this thread from Google Support related to the same problem, it is a permission issue. Follow the steps as described on the message addressed to the OP of the mentioned thread by WhatsApp Support:

> Thanks for your message.
>
> There is an issue with the permission settings of your Google Drive account. You will need to access your Google Drive account to resolve this issue.
>
> On your PC, open Google Drive, click the gear icon in the top right \> Settings \> Manage Apps \> WhatsApp \> Options \> make sure you haven't selected Disconnect from Google.
>
> To ensure WhatsApp functions properly on your device, please reset WhatsApp's app permissions.
>
> You can use your phone's search feature to search for your permissions settings, or follow these paths:
>
> * Android: Open your phone's Settings \> Apps \> WhatsApp \> Permissions.
> * Android for Pixel: Open your phone's Settings \> Apps & notifications \> WhatsApp \> Permissions.
>
> Be aware that the above paths may vary from phone to phone. Please contact your phone's manufacturer for specific instructions. You can restore or backup your chat history from Google Drive after you have given permission to WhatsApp and Google Drive. Please let us know If you continue to have issues.
>
> WhatsApp Support Team

From the same thread:

> Remove permissions of Whatsapp then do backup, Whatsapp will ask for permissions, you give it, and it should work. Found this on reddit.
>
> Link: https://www.reddit.com/r/whatsapp/comments/de5w9b/google\_drive\_backup\_gray\_triangle\_with/

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


# Question
Title: Unable to run rclone mount (even as root). Stuck on Error : fusermount: fork/exec /system/bin/fusermount: permission denied
I have already:

* A rooted Android 5.0 device (Stock-ROM, Magisk 19.3), Termux installed (termux-v0.79-offline-bootstraps.apk) and root permissions granted.
* Installed rclone through official repository in Termux `pkg install rclone`.
* Created a rclone sftp configuration `rclone config` under the name "sshfs-srv-rasp1". Obviously, I have a RaspberryPi-Server with ssh-server already running. Other Linux machines can successfully connect through ssh and sftp/sshfs.
* Checked if the rclone configuration works: `rclone ls sshfs-srv-rasp1:` I get the correct file-listing from srv-rasp1. So the connection works.
* Downloaded fusermount binary from https://forum.xda-developers.com/t/exe-static-linux-binaries-for-arm-android-cryptsetup-encfs-f2fs-tools-testdisk-photorec.3709380/page-4#post-76462538 (Filename=gocryptfs\_fusermount-ARMHF.zip -\> extract fusermount for arm - not arm64).
* Copied fusermount to /data/data/com.termux/files/usr/bin, and gave maximal permissions 777 (everybody can execute).
* Checked with `fusermount -V`, that fusermount can be successfully launched.
* Created an empty directory /storage/emulated/legacy/srv-rasp1 as mount-point.

When executing rclone in Termux as normal user:

```
$ rclone -vvv mount sshfs-srv-rasp1: /storage/emulated/legacy/srv-rasp1

```

I get the following permission error (fusermount failes on permissions in /dev/fuse):
2022/10/09 09:24:25 mount helper error: fusermount: failed to open /dev/fuse: Permission denied

When trying as root with tsudo:

```
$ tsudo rclone -vvv mount sshfs-srv-rasp1: /storage/emulated/legacy/srv-rasp1

```

or with tsu:

```
tsu -c "rclone -vvv mount sshfs-srv-rasp1: /storage/emulated/legacy/srv-rasp1"

```

I get past the /dev/fuse problem, but now it halts on some other permission error, regarding fork/exec:
2022/10/09 09:38:33 Fatal error: failed to mount FUSE fs: fusermount: fork/exec /data/data/com.termux/files/usr/bin/fusermount: permission denied

Another approach to get rclone executed with root privileges is to use (su -c "XXXX"). The problem is, with su we lose the enviromental variables $PATH, $HOME, which are needed for the shell to locate executables ($PATH), and for rclone to load $HOME/.config/rclone/rclone.conf. The workaround is to explicitly pass these variables to the command (emphasis on double quotation marks "", not ''):

```
su -c "PATH=$PATH HOME=$HOME rclone -vvv mount sshfs-srv-rasp1: /storage/emulated/legacy/srv-rasp1"

```

Result: rclone is correctly located and successfully executed in PATH=/data/data/com.termux/files/usr/bin, the configuration file /data/data/com.termux/files/home/.config/rclone/rclone.conf is, too, successfully loaded, BUT the error: "fork/exec ... permission denied" remains.

How can I get past these permissions errors?

# Answer
"Android permissions are a beast".

In desktop-Linux if you have root permissions you get spoiled to be able to do everything (good or bad). I found out, that in Android even if you execute something with root permissions, you are still not almighty, and need some tweaks. Maybe it is better this way ...

Below I will explain how I successfully mounted my sftp-share on a mount-point using Termux, and made it accessible to all users/apps/file explorers. Credits to MountainX: In his post How to automate rclone-mount without Termux or Magisk? he paved the way to break through the permissions-jungle for clone-mount **without** Magisk/Termux. I believe one can do it within Termux/Magisk as well. The obvious advantage is scriptability, cronjobs to regularly check/restore connections etc.

Steps:

* I prefer doing command-line stuff on Termux using my keyboard from a desktop through ssh, and not on the touchscreen (in case somebody is interested, summary for a quick-setup but not the most secure: `$ pkg install openssh`, create a password with `$ passwd`, launch `$ sshd`, find your android's ip with `$ ifconfig`, look under **wlan0** the entry: **inet 192.168.XXX.XXX**, login to your android device from a desktop with `$ ssh 192.168.XXX.XXX -p 8022`). When inside Termux I also strongly suggest exploring directories with Midnight-Commander: `$ pkg install mc`. All the following steps were performed through ssh-connection(s) from the terminal-emulator of a desktop computer. Main advantage: one can have multiple ssh-connections, for example one as root-CLI, a second as normal-user-CLI, a third with 'midnight-commander' to check the results of mounting.
* In Magisk-Manager-Settings of the android-device find the "Namespace" Option and choose "Global namespace" or "Inherited namespace" (for the time being it is working with both, if I find some problems in the future I will edit the answer).
* The executables *rclone* and *fusermount* MUST be in */system/bin* AND have ownership *system:shell*. NOT *root:root*. It seems, when launched that way they break through the permissions-jungle. Other combinations do not work (for example ownerships changed but launched from another directory). But it is not straightforward how to copy them in */system/bin* because it is generally mounted read-only. Supposing both files are already installed in */data/data/com.termux/files/usr/bin*, we must (a) make */system/bin* writable, (b) copy them (c) change ownerships and mod, (d) restore */system/bin* as read-only.

In Termux:

```
$ su
# mount -o rw,remount /system
# cp /data/data/com.termux/files/usr/bin/rclone /system/bin/
# cp /data/data/com.termux/files/usr/bin/fusermount  /system/bin/
# chown system:shell /system/bin/rclone
# chmod 775 /system/bin/rclone
# chown system:shell /system/bin/fusermount
# chmod 775 /system/bin/fusermount
# mount -o ro,remount /system
# exit
$

```
* Now we can launch rclone/fusermount through su -c "XXXX" again, but this time through their */system/bin/* copies. By the way, we do not need to pass $PATH variable any more. In my search I discovered the su --mount-master option as well.

`su --mount-master -c "HOME=$HOME rclone -vvv mount sshfs-srv-rasp1: /storage/emulated/legacy/srv-rasp1 --allow-other"`

As long as the above command is up and running, the mount-point */storage/emulated/legacy/srv-rasp1* is successfully linked to the sftp-share. The option "--allow-other" allows users other than root to have access. I could confirm access through a separate ssh-connection with 'midnight-commander'. But the moment the command is killed with Ctrl-c, the connection closes.

* You can add the "--daemon" option to have it run in background. You can check anytime that rclone is still alive with `pgrep rclone`
* In order to kill the connection gracefully: `su -c "fusermount -u -z /storage/emulated/legacy/srv-rasp1"`. Note the -z ("lazy") option: it forces unmount even when someone is using the share. This command kills rclone in the background (check with pgrep).
* What mount point to choose? My suggestion is, to create a mountpoint-directory in a place accessible from all apps. A good place is somewhere in internal-SD, typically /storage/emulated/0/XXXX or /storage/emulated/legacy/XXXX. You must check in your specific android variant where it lives. Beware, that that *termux* and *su -c "XXXX"* may see different things under /storage/emulated !. For example, on my Samsung Tab4:

```
$ ls /storage/emulated
0  legacy

```

but

```
$ su -c "ls /storage/emulated"
legacy

```

Interestingly, both */storage/emulated/**0*** and */storage/emulated/**legacy*** refer to the same internal SD-Card. Since rclone command is executed through su -c "XXXX", I decided to use the common denominator "legacy". You have to check in your device the exact path through which su -c "XXXX" sees the internal SD-Card.

Until now, our sftp-share is accessible only within termux. Other apps (e.g. File-Explorer) don't have access. This has to do with ownerships/permission granted to the mount-point by rclone.

Check while rclone is running:

```
ls -l /storage/emulated/legacy/
drwxrwx--- 2 root sdcard_r 4096 Jan  1  2014 Alarms
drwxrwx--x 5 root sdcard_r 4096 Sep 22 17:47 Android
drwxrwx--- 2 root sdcard_r 4096 Jan  1  2014 DCIM
drwxrwx--- 3 root sdcard_r 4096 Oct  6 18:14 Documents
drwxrwx--- 3 root sdcard_r 4096 Oct  8 17:28 Download
...
drwxr-xr-x 1 root root        0 Oct  9 14:38 srv-rasp1

```

Ownership of mount-point srv-rasp1 is root:root. Changing the ownership out-of-connection has no effect: rclone grants again root:root. Even my rooted ES-Explorer could not see the content of srv-rasp1. The solution is to tweak the ownerships in rclone: `--gid 9997 --dir-perms 0771 --file-perms 0660 --umask=0`

The command so far:

`su --mount-master -c "HOME=$HOME rclone -vvv mount sshfs-srv-rasp1: /storage/emulated/legacy/srv-rasp1 --gid 9997 --dir-perms 0771 --file-perms 0660 --umask=0 --allow-other --daemon"`

Check ownerships/permissions again:

```
$ ls -l /storage/emulated/legacy
drwxrwx--- 2 root sdcard_r  4096 Jan  1  2014 Alarms
drwxrwx--x 5 root sdcard_r  4096 Sep 22 17:47 Android
drwxrwx--- 2 root sdcard_r  4096 Jan  1  2014 DCIM
drwxrwx--- 3 root sdcard_r  4096 Oct  6 18:14 Documents
drwxrwx--- 3 root sdcard_r  4096 Oct  8 17:28 Download
...
drwxrwx--x 1 root everybody    0 Oct  9 14:46 srv-rasp1

```

Voila. Mount-point srv-rasp1 was given group-ownership "everybody". ES-Explorer and all other apps can now access see the contents of srv-rasp1 mount.

Some comments, slightly unrelated to the question but still interesting:

* rclone mounts as "root" directory by default not the actual root ("/") but the HOME directory ("/home/XXXX/") of the user who logs in the ssh/sftp server. In order to override this, I found a not-so-clear answer here: https://github.com/rclone/rclone/issues/4307. By experimenting, I discovered that rclone accepts the general syntax of Linux sshfs command: *server:/path/to/mount/*, with the remark that instead of "server" we give the configuration-name. So, if I want to mount *srv-rasp1/mnt/* I simply have to type: `... rclone mount sshfs-srv-rasp1:/mnt /storage/emulated/legacy/srv-rasp1 ...`. The mount-point will be showing now the contents of srv-rasp1/mnt/
* In his post MountainX adds some rclone options regarding vfs and cache stuff. This is beyond my knowledge but seems to achieve a seamless interaction between device \<-\> server, simultaneous writing/reading etc. I simply added them to the command line.

Below my final command:

`su --mount-master -c "HOME=$HOME rclone -vvv mount sshfs-srv-rasp1:/mnt /storage/emulated/legacy/srv-rasp1 --gid 9997 --dir-perms 0771 --file-perms 0660 --umask=0 --cache-dir /storage/emulated/legacy/.cache --vfs-cache-mode full --vfs-cache-max-age 2h0m0s --vfs-cache-poll-interval 5m0s --allow-other --daemon"`

In my setting, I didn't need:

* to tweak anything regarding SELinux (see also the comment of MountainX in the above mentioned link).
* to pass any Termux enviromental variable regarding libraries (e.g. LD\_LIBRARY\_PATH=$LD\_LIBRARY\_PATH). The executables rclone and fusermount are stand-alone, don't need any external libraries.
* to tweak anything regarding namespaces (e.g. *readlink* or *nsenter* stuff), as Irfan Latif suggested (see How to mount rclone on Android? )

However, I can not exclude that the above mentioned tweaks could be needed in other settings. For this reason I mention them.
> 2 votes

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


# Question
Title: How to get an older version of an app from F-Droid?
I used https://f-droid.org/ to search the F-Droid repository for an app and to download the respective APK file. I did find the app, however, the newest version has unwanted changes or requirements like a newer Android system version.

How can I download the previous/older versions of this app?

# Answer
> 4 votes
It is easy to install older versions, just from within the F-Droid app. From the specific page of the desired app on the device, scroll to its bottom, and open the directory node **"Versions"**, revealing previous F-Droid versions.

For example, on the main page just now, "Diary", a personal diary, has a version page with DOZENS of versions, (dated). Knowing the prior release date roughly will lead you to the version you want with an **"Install"** button.

# Answer
> 3 votes
The APK files for old versions don't seem to be available/linked on the main homepage.

However, after doing some research, I found this forum post https://forum.f-droid.org/t/archive-repositories/10556 which contains a list of all archive repositories, including the official F-Droid archive https://f-droid.org/archive.

Using https://apt.izzysoft.de/fdroid/index/?repo=archive, it is possible to browse said archive and download the APK file that you're looking for. You can verify that the actual download URL begins with `https://f-droid.org/archive/`.

# Answer
> 1 votes
You can use the WayBack Machine website, I found some versions here for F-Droid and by plugging that into the Wayback Machine website I could get back to earlier versions, albeit some are not cached and cannot be accessed. I found that version 1.10 would download for example, is that old enough for you?

---
Tags: applications, apk, f-droid
---


# Question
Title: Prevent SMS from being classified as spam on Android
One-time-password SMS send during MFA by our system is classified by Android OS as spam. Is there anything that can be done to prevent that from happening? How does Android OS determine what SMS is spam?

# Answer
Android (the OS) doesn't have internal spam detection. Instead, **it's a feature incorporated into messaging apps, and the procedure to detect spam and remove it may vary.**

For example:

* Google Messages only provides reporting the message as not spam while the detection itself is based on machine learning models on the user's device, as per Your chats stay private with spam detection.

> How spam detection works
>
> > Messages tries to detect suspected spam and hides it in the spam folder. If you get a suspected spam warning in Messages, you can let Google know if it’s spam or not by tapping “Report spam” or “Report not spam.”
>
> How we protect your data
>
> > \[...\]
> >
> > When Spam protection is on, Messages uses machine learning models that operate on your device to detect known spam patterns in your messages. The app analyzes these patterns to catch more spam and warn you sooner. Because spam is detected on-device, Messages warns you about spam even when you don’t have a data connection.
> >
> > \[...\]
* Truecaller relies on user's contribution but allows for manual appeal, as mentioned in their FAQ, What is spam?

> Truecaller spam lists are created by our user community who choose to report unsolicited calls and SMS messages.
>
> \[...\]
>
> We acknowledge that mistakes can happen from time to time. If you believe that your number has been mistakenly added to our spam list, for the **EU, EEA, and Switzerland** please \[email to support.eu@truecaller.com\]. For the **rest of the world** please \[email to support@truecaller.com\].
* For other messaging apps, please search for their own help center, support, or policy.
> 1 votes

---
Tags: sms, spam
---


# Question
Title: Can USB-C charger from laptop be used to charge USB-C Samsung phone?
I have a Samsung S8 phone, which has USB-C charging connector. I lost the original charger for my phone, but I have the original USB-C charger for my Huawei Matebook X Pro laptop. **Is it possible to use this charger to charge the phone? Is the USB-C standard itself a guarantee that all the relevant characteristics will be equivalent?**

Here is the electric info from the mobile phone charger (which has USB-A female output connector, and there was USB-A to USB-C cable which I lost):

```
OUTPUT: 5.0V = 2.0A, 10.0W
        9.0V = 1.67A, 15.0W

```

Here is the electric info from the laptop charger (which has USB-C female output connector):

```
OUTPUT: 5.0V = 2.0A, 10.0W
        9.0V = **2.0A**, **18.0W**
       12.0V = 2.0A, 24.0W
       15.0V = 3.0A, 45.0W
       20.0V = 3.25A, 65.0W

```

(There is a difference in ampere and wattage for the 9.0V, is that a problem or is it that the device will just take what it needs?)

# Answer
> 0 votes
According to Wikipedia Samsung S8 uses Qualcomm Quick Charge 2.0 for the higher voltage levels. When using a standard USB-C charger with the S8 the maximum is 5V * 2.5A = 12.5 Watt.

Most likely the laptop USB-C charger only supports USB Power Delivery and thus it will charge at maximum with 12.5 Watt.

---
Tags: charging
---


# Question
Title: How to bulk move Android apps to the SD card?
I have an Android 4.4.3. Currently, all my Android apps are on the phone's internal storage, which is quite low @ 8GB. I've recently installed a 32GB SD card into the phone.

I understand that I can go to Android Application Manager \> Apps \> click on app \> click "Move" (to the SD card). For the several apps I've tried to do this, the "Move" button was grayed out. Only one app I've tried has had the "Move" button enabled.

Is there any way I can bulk-move all Android apps to the SD card?

# Answer
Moving apps to the SD card in bulk requires root, with root access apps like Titanium Backup should be able to move them easily. Otherwise you must move them individually.
> 1 votes

# Answer
As per Mario's answer:

There is an easier way than manually finding and moving one by one. I'm aware it's no bulk, but it helps.

App2SD

It helps to find all movable apps, and gets you to the move screen one by one, after you perform the move (manually), also instructing on impacts for each app.
> 2 votes

# Answer
2022 update: App2 SD finds all apps that can be moved from device to SD. The app has an automatic mode for then moving all these apps to SD card (via Android accessibility tools, easy to use).
> 2 votes

---
Tags: applications, storage, file-management
---


# Question
Title: Recover user data (photos videos) from a Poco X3 Pro forgotten pattern
So, I decided yesterday to change my pattern to something more complicated for terms of privacy. For my bad, I had such an awful day yesterday and I honestly don't remember the whole pattern. My fingerprint is also registered on the device, but it won't use it since I have my pattern set too. The related Google account and Mi account belong to me, and I have the users/passwords.

I've been taking pictures and videos for over a year without syncing in the cloud (dumb me, really). I've been trying to find my pattern by drawing what I remember for almost eight hours. I have an important amount of information that I care in my phone, like a concert I went with my brother and so on.

Initially my personal computer had the usb-debugging allowed and I tried some stuff with `adb`, like trying to pull my `gesture.key` from my device for trying a brute-force attack for my pattern, but I was unable get my key since my phone is not rooted. I also tried to pull all my personal data from `adb` but I needed to grant the permissions from my device, which I couldn't do.

I downloaded some of those trash-software that promise you to get away the pattern (by deleting the data, which is something that I don't want to do) and constantly updated my usb drivers it seems like in some point my PC got unauthorized for the usb debugging. So, some of the `adb` stuff that I could try is discarded now.

I also tried to boot in recovery mode (stock recovery) and activated the safe assistant mode, but the mi desktop software did not recognise my phone. I tried to boot some custom recovery, but I don't have my bootloader unlocked. I took my phone to different mobile care centers, and they told me that only way to get away the pattern is by deleting my data, which again is something that **I don't want to happen**.

For now, I'm trying different patterns that kind of come in mind and registering theme to keep track of those which are not the right ones.

I'm desperate and running out of ideas. I'm a developer with knowledge on C, C++, JavaScript, TypeScript, Python and some others, so any developer-approaches are welcome. Also, I'm willing to offer rewards or pay for overcoming this.

My Device is a Xiaomi Poco X3 Pro.

# Answer
Xiaomi phones doesn't support you to transfer the data of a locked out device as it can be used by anyone if found a lost phone. You can try the forgot password option on the phone and change it through the mi account if it supports that. Or you can check if it's backed in the mi cloud using the same account and checking on your device. You can always contact the mi service centre's nearby for further informations.
> 0 votes

---
Tags: data-recovery, xiaomi, locked-out, pattern-lock, development
---


# Question
Title: How do I dismiss just the next occurrence of a recurring alarm?
Tomorrow is a Bank Holiday in the UK so I don't want my "Work" alarm to go off. I could turn the whole alarm off, but then I'd have to remember to turn it back on again before I go to bed on Monday night. Or I could turn off Monday's occurrence, but again I'd have to remember to reinstate it before next Monday.

So what I'd like to do is just dismiss the next occurrence of the alarm. A Google search came up with this help page - https://support.google.com/nexus/answer/2840926?hl=en-GB :

> ### Dismiss next alarm
>
> If you have an alarm that's set to repeat, you can dismiss the next instance of the alarm. That way your alarm will still be turned on for future instances.

Which describes exactly what I want to do. It goes on to list the procedure as:

> 1. Open the Clock app.
> 2. At the top, touch the alarm clock iconalarm.
> 3. Under the alarm you want to dismiss, touch "Dismiss Now" dismiss alarm.

However, I'm not seeing the "Dismiss Now" option.

Where is it or what am I doing wrong?

# Answer
I have just discovered that Google have added a "Pause alarm" function to their standard clock since version 7.3:

It allows the alarm to be paused for a range of dates at any point in the future, not just for the next occurrence of the alarm.
> 2 votes

# Answer
**Update:** since version 7.3, Google Clock allows pausing repeating alarms. Below explanation is only for historical purpose.

---

It was impossible to dismiss the next repeating alarm, and looks like the help page was different.

Cross-checking with the help support in English (US), and for the same topic, it instead mentions,

> ### Dismiss next alarm
>
> If you have an alarm **scheduled to go off within the next two hours**, you can dismiss the next instance of your alarm. *If your alarm is set to repeat, your alarm will still be turned on for future instances*.
>
> <sup>(Emphasis mine)</sup>

The alarm can only be dismissed if it goes off in 2 hours (like for other alarms), but for repeating alarm, Android will set the next alarm automatically.

---

This issue has been reported on Google Product Forum.
> 9 votes

# Answer
Add a do not disturb rule for the duration. Not a complete solution, but that's what I do.
> 4 votes

# Answer
I have just discovered this alarm clock app:

https://play.google.com/store/apps/details?id=com.urbandroid.sleep&hl=en\_GB

One of it's features is the integration with Google Calendar:

http://sleep.urbandroid.org/documentation/integration/google-calendar/

The two relevant features are:

> * your alarms can be automatically disabled for public holidays
> * your alarms can take your calendar events into account

This will do what I'm looking for, though I'm not sure I want my holidays on my Google calendar for all and sundry to see.
> 0 votes

# Answer
Check my app on Android playstore - Alarm + Task Logger PRO

It has skip next next functionality for recurring alarms. You can skip any number of upcoming occurences.
> 0 votes

# Answer
On my Samsung Galaxy S6 I open the clock, choose Alarm at the bottom, then tap the slider on the repeating alarm to turn it off. A prompt appears below the alarm asking to Turn on again . Tap this prompt. Will turn on again appears on alarm.

\[tag: V11\]
> 0 votes

---
Tags: 6.0-marshmallow, alarm
---


# Question
Title: Stop google from saving my photos/images online
Today I got one of those "A year ago today..." notifications from google where it showed a photo I took a year ago today and It was really weird because I considered that photo (and in general all the photos I take, as well as screenshots, etc) to be private and I don't want them stored in the f\***ing cloud.

I've looked into the "Manage your google account" options but couldn'd find a way to shut this cloud backup or whatever is called down.

Can someone tell me how to keep the photos/images/screenshots/etc off the cluod and just keep them on my phone?

# Answer
> 4 votes
According to Google Photos Help:

1. Open the Google Photos app;
2. Sign in to your account, if you aren't already signed in;
3. Tap your account profile photo or initial in the top right corner;
4. Select Photos settings;
5. Select Back up & sync.
6. Tap Back up & sync to turn off.

---
Tags: google-photos
---


# Question
Title: Preferred Network Mode not changing using ADB on Samsung S21 (Android 12)
I am trying to change the preferred network of android using ADB on Samsung S21 (Android 12) through the following commands:

```
adb shell settings put global preferred_network_mode 9
adb shell settings put global preferred_network_mode1 9
adb shell stop ril-daemon
adb shell start ril-daemon
adb shell settings put global airplane_mode_on 1
adb shell am broadcast -a android.intent.action.AIRPLANE_MODE --ez state true
adb shell sleep 5;
adb shell settings put global airplane_mode_on 0
adb shell am broadcast -a android.intent.action.AIRPLANE_MODE --ez state false

adb reboot

```

But it's not updating in the phone. The phone is still in WCDMA only mode.

# Answer
You could try dialing \*#\*#4636#\*#\* to change it. When you dial this number, without pressing dial, should bring up a menu page titled "Testing". Then click on "Phone Information" and at the bottom there should be a dropdown box titled "Set preferred network type", select the dropdown box and select the cellular type you wish.

***NOT*** to be used with ADB (Android Debug Bridge) as this "testing" page is an internal settings page unreachable by ADB without going through a lot of other things.

Fell free to **comment** and **edit** this post as I am relatively new.
> 0 votes

---
Tags: adb
---


title: Rollout of new scanners copy/image

text:
# Question
Title: Rollout of new scanners copy/image
We have purchased 30 android devices with scanners to use in our warehouses to process stock(scanning UPCs, etc). We have setup one unit and just want to clone/image the other units with the setup. Nothing fancy; using standard apps; just need the apps and passwords and network setup copied/imaged to the other units for quick setup. Amazingly I can't find something like this. Sites have mentioned "rooted" - which the vendor said not to do. And others are suggesting MDM software which is nice; but way more than what I'm looking for. Isn't there a simple answer? Thanks

# Answer
Android mass device enrollment requires special devices enabled for that.

Regular end user devices only have three possibilities:

## Backup & Restore

Backup one device using `adb backup -apk -all -f backup.ab` and restore it to the other devices using `adb restore backup.ab`. Note that a lot of apps disallow backup which means their app data can not be cloned only the empty app. Another problem is that you first have to enable adb on each device before you can restore the backup.

## Data transfer via USB cable

When an Android device is "fresh" (e.g. after a factory reset) the first time dialog comes up. In that initialization progress you can connect two Android phones using an USB cable and directly transfer data from one device to a second. Note that only devices running Android 12+ will allow to transfer app data of apps that disallow app backup. Also this method may not copy apps that were side-loaded to the source app.

## Restore from Cloud Backup

If there is a Google account on the first device and cloud backup is enabled you can try to use this account to restore apps and data from Google cloud on each device. As you have to enter user credentials every time this still a bit of work for multiple devices...
> 1 votes

---
Tags: images
---


# Question
Title: No music quality option in Clubhouse for Android
I know the Clubhouse have the music playing feature in the new version of it, but I don't have the music quality option in my Clubhouse app. Based of this post, it must have the below icons:

> ### How to enable and use Music Mode in Clubhouse?
>
> To enable the new feature, users can open Clubhouse and once they are in a room, they can navigate to the options by tapping on the three-dot menu on the top-right. Look for the 'Audio Quality' option here and subsequently, Choose 'Music' amongst the various options.

But my room options are like below:

My phone is Xiaomi Note 9A on Android 10, as you can see below:

And its permission are :

Also I use dual app option in my Xiaomi phone, so I have two Clubhouse app at my cellphone.

So if possible, I want to know why I don't have music options in my Clubhouse rooms.

# Answer
> 1 votes
As explained in the article and Clubhouse blog article, the Music Mode is currently only available on iOS.

> As was the case with spatial audio, Music Mode will roll out on iOS first with Android as a fast follow.

This is strengthen with the remark on Clubhouse Knowledge Center.

> ### What is music mode?
>
> ***Note:** Music mode is currently only available on iOS.*

---
Tags: applications
---


# Question
Title: Why is an OTG not detected when a micro SD card is already inserted in the device?
I have tried this on both Realme XT running Android 11 and Samsung Galaxy Tab S7+ running Android 12. Whenever there's a micro SD card inserted and I attach a USB drive/SD card from my camera via OTG, it is not detected. But if I remove the micro SD card and try again with the OTG, it is detected. I have realised that a micro SD card and another SD card/usb drive is not detected simultaneously on both my devices.

Am I missing something or is this a shortcoming of Android?

# Answer
I just had the same issue, and I can tell you this is definitively not an Android issue, as I have devices that work fine, for instance, a Fire HD 10 running Android 9.

I think the issue is hardware related, as I have seen this problem with other devices, for instance an in-car entertainment system (Honda vehicle), where it tells you that you can't access the SD card while the USB port is in use, so I need to unplug my phone to use the SD card.

BTW, I just confirmed with Samsung support that in fact, you can't use both the SD card slot and the USB (otg) port at the same time.
> 2 votes

---
Tags: sd-card, usb-on-the-go, internal-sd, pendrive
---


# Question
Title: How to disable split-screen when opening the app from Edge panels on Samsung Android 12?
I have a Samsung A53 running with Android 12 and OneUI 4.1.

When I open an application from the Edge panels, it always opens in split-screen / multi-window, if the app has a split-screen layout (such as Google Maps or WhatsApp).

I find this behaviour intensely annoying, but cannot find a way around it - searching the settings yielded a toggle in Advanced - Labs to enable this for *all* apps, but this is obviously the exact opposite of what I'm trying to achieve.

An online article mentioned an app named "Samsung multiwindow toggle" where this can be disabled, however I haven't been able to find it in the Play Store. I've also looked through similar questions here, but they were mostly quite old and related to different software versions, with settings that I don't have.

So, what can be done to get rid of this "feature"?

# Answer
> 1 votes
The settings can be changed from the Edge panels' settings directly (not Android settings):

1. Open Edge panels by swiping it
2. Press the hamburger menu (3 horizontal bars)
3. Select "Edit"
4. Press the kebab menu (3 vertical dots)
5. There are 2 options for "Open in split screen view"
    * Touch and hold
    * Tap

---
Tags: samsung, multi-window
---


title: Error when downloading software update

text:
# Question
Title: Error when downloading software update
I have a galaxy s8+ (model number: SM-G955F). It is knox tripped but the build status is still official. But when trying to update to the April 1st 2021 software update it downloads all the way, does a restart but then says error and does not update. Is there a way to fix it or does the fact that knox is tripped mean I can no longer update security patches?

# Answer
I Updated it by downloading the Samsung Smart Switch app. The app detected that it was on an older version and automatically downloaded the update
> 0 votes

---
Tags: updates, system-error, samsung-knox, samsung-galaxy-s8+
---


title: Browser without video playback

text:
# Question
Title: Browser without video playback
I am trying to avoid any kind of sexual stimulation and want to block video content on any browser. I was looking for browsers which provide this functionality but could not find one. These are the browsers which I found

1. Atlas Browser
2. Lightning Browser
3. No image Browser
4. Habit Browser

All these browsers block only images in the browser. But I need a specific one which can block videos only. Finally, I found one such that blocks both images and videos but this functionality cannot be separated. The browser is Purity - Safe Porn less Browser.

I want to know if this functionality is separatable? Can we block images and videos separately? This browser needs subscription ; so does anyone know about any such browser that does not support flash or video files.

Important question : Can we practically block images and videos separately or are they correlated?

# Answer
I found a solution with help of Archerbob's comment. We can disable all video codecs and permanently lock this setting using various blockers available on Playstore such as BlockerX and Blockerhero. I added *about:config* to the blocked keywords and now I am totally blocked out of this setting.

This blocking codec thing did not work well with youtube but somehow solved my problem. Anybody looking for a solution can give it a try.
> 1 votes

# Answer
I dont know any browsers, but if your phone is rooted and have magisk installed you could install energized protection a magisk module to completely block sexual contents on your device, so even if you search for it on any browser in your phone no results will showing up..

P.s i have tested this method with chrome browser and it works, and should work with any other major browser too.
> -1 votes

# Answer
Have you tried the "Text Mode" extension from the Google Play store for Chrome, blocks images, videos and flash content.
> -1 votes

---
Tags: browser, video, video-streaming, adobe-flash, browser-add-ons
---


# Question
Title: How to disable autofocus and set focus to infinity?
I almost never take any close up pictures with my Galaxy Nexus (and when I do, it'd be more convenient to manually switch into some kind of macro mode).

How do I stop the auto-focus from trying all possible focus positions every time I take a picture?

Such behaviour makes me lose all the good moments that I want to capture in the first place (due to a focus delay of about 3 to 5 seconds), and often results with pictures being taken out-of-focus, especially at night or through a windscreen or something. Is there a way to disable such bogus autofocus?

# Answer
It appears that ***Open Camera*** (net.sourceforge.opencamera) does contain a feature where the focus could be manually set to ***auto***, ***infinity***, ***macro***, ***manual*** (locked-on-touch) and ***continuous***.

It does appear to mostly work on a non-rooted Nexus 5 — changing the setting to ***infinity*** does remove the extra focusing delay prior to taking each picture (although it also appears to be buggy in such a way that changing from ***auto*** to ***infinity*** may sometimes leave the focus at the ***macro*** level, without refocusing at infinity).
> 2 votes

# Answer
I'm sure there's some way technically to simply shut off the autofocus, making the camera start up in a default focus and never moving away from that. It is however not a function that I am aware of that it exists in custom ROMS, because that's the only place you'll find modifications like this, and unless there's a big demand for it, it's unlikely someone will code it. I've got a feeling that camera focus might be really tricky to mod from the actual OS.

I think the only way you'll solve this for sure is basically learning to code and inspecting the AOSP source, or paying a developer to do it for you. I'm almost certain it's not a native function of the Android OS.
> 1 votes

# Answer
Having just experienced a similar issue, I've found that the apps "Camera FV-5" and "Cinema FV-5" both have nice extra options, including ones affecting focus. Worked for me, even if I'm not sure quite which buttons I hit.
> 0 votes

# Answer
At the moment on my Samsung Galaxy A50 phone, you can lock the focus by:

* opening the camera app
* then pressing on the screen with your finger, on the spot where you want to lock the focus, for 1-2 seconds, and it should lock the focus until you tap the camera screen again
> 0 votes

---
Tags: 4.2-jelly-bean, camera, focus
---


# Question
Title: Cannot disable the clipboard history feature on Samsung galaxy device
Samsung devices have a clipboard history feature which is a big security risk for people who use a password manager.

I have tried disabling the `ClipboardSaveService` package as described in the thread "Disabling the clipboard history on Samsung devices" but I am still able to see the clipboard history using the edge panel and the Samsung keyboard and I am not sure if disabling `clipboarduiservice` package will make any difference. Please tell me what other package do I need to disable so as to get rid of this non-sense clipboard history feature. Thanks.

Android Version: 12 (One UI Core 4.1)

# Answer
> 1 votes
So I found out a workaround. **Please Backup everything before doing this!**

Install openboard -\> make it your default keyboard -\> uninstall com.samsung.clipboardsaveservice using adb -\> uninstall Samsung keyboard using adb and you’re done!

After doing this, copying things to clipboard doesn’t populate the edge panel clipboard list, which probably indicates that clipboard history feature is not working

OpenBoard on Play Store & FDroid

---
Tags: adb, samsung
---


# Question
Title: Android Auto deletes Bluetooth connection
Since I started using Android Auto in my Mercedes-Benz, it has been very annoying that the Android Auto app on my Samsung Galaxy S21 frequently deletes the Bluetooth connection to the car. When the Bluetooth connection to the car is deleted, you get no audio in the car speakers on in- or outgoing phone calls. This is a major drawback of Android Auto.

Searching on the internet reveals that this is a common problem for Android Auto users. Many people propose solutions like clearing the cache or data for the app, clearing cache or data of Bluetooth, or deleting the Bluetooth profile of your phone on the car etc. But none of the proposed solutions are permanent.

Can anyone come up with a permanent solution instead of canceling Android Auto?

# Answer
I have found a permanent solution to the problem:

Never plug the USB cable into your Android phone before turning on the ignition of your car and the Bluetooth connection between your car and your phone has been established. When the Bluetooth connection has been established, you can plug the USB cable into your phone.

Following this procedure, Android Auto never deletes the Bluetooth connection between your car and your phone.
> 1 votes

---
Tags: bluetooth, android-auto
---


# Question
Title: Android interfacing with phone with a broken screen
Screen is 100% dead black.

What are your options? What can you do from the PC with a phone with a broken screen?

I can find plethora of software promising you to do all kind of magic, but half of them most likely malware, adware, bloatware:

https://www.coolmuster.com/android/top-3-android-repair-software.html

Good news is I had USB debugging enabled before the screen broke. The phone works perfectly tho. I can hear the alarms, email notifications, notification sounds from other apps, the PC recognize it.

Is there a software which makes it possible to show the screen of the phone on the PC when connected through USB cable???

# Answer
If you have a working adb connection you can use scrcpy to mirror the phone screen to a connected PC or Mac.

Scrcpy is an open source tool. The only problem that can arise is that typical scrcpy distributions contain an older version of adb which then conflicts with an already installed version.

But besides of that scrcpy is a perfect tool for phones with dead screen.
> 5 votes

---
Tags: usb-debugging, broken-screen, android-pc
---


# Question
Title: Stuck on the boot screen with locked bootloader - Pixel 6
I was trying to flash a custom ROM on my phone (Pixel 6) and something went wrong. i was following the instructions on screen and the last one was to lock the bootloader which I did. Now the phone seems to be stuck in the boot loop (I keep getting the google screen) when I start. On the boot screen I am unable to use the recovery or rescue mode, they bring me back to the boot screen. I'm very concerned about what to do now. Can someone please help!

# Answer
Do you have a PC?

You may be able to get into the phone via ADB, that you can install to your PC from the Android SDK Platform Tools ZIP file for Windows, Linux, et cetera

There is a guide on the XDA forum to help you.

1st on the list is to get to recovery via ADB via "adb reboot recovery"
> 1 votes

---
Tags: boot-loop, bootloader, google-pixel
---


# Question
Title: How is the market divided between Android CPU architectures?
There is a very similar question on this site but it is outdated and contains no/outdated statistical sources.

I want to know how is the market divided between arm64-v7a, arm64-v8a, armeabi (I know it's deprecated now), x86, etc...

The best answer would be if there is some statistic made that shows the percentages of each type.

The reason I am asking is because I am a mobile developer and I want to know if I make an app that runs on 64-bit processors only, then what percentage of people won't be able to use the app.

# Answer
> 9 votes
Based on researching the update to the Unity Stats from Khemraj Sharma's answer, apparently there was an update to the Unity Analytics called Market Insights that also shows the CPU distribution.

From Where's the Unity stats page gone?, trucn, a Unity Technology staff posted (2018),

> Good news! We've brought back some of the data from the old hwstats page in the Operate Dashboard. We have plans to expand our offering in the future and offer more detailed breakdowns and metrics, but this isn't on the near near horizon yet.
>
> If you go to the Unity Dashboard Operate Tab and navigate into any project, it's under Analytics \> Market Insights (I know, not super intuitive and don't ask why it's living here :p)
> View attachment 293142
>
> The URL path is: `https://operate.dashboard.unity3d.com/organizations/<YOUR ORG ID HERE>/projects/<YOUR PROJECT ID HERE>/hwstats`

**As of Q3 2022, the reported distribution for Android is**:

| CPU | Percentage (%) |
| --- | --- |
| ARM64 | 63.63% |
| ARMv7 | 19.09% |
| x86 SSE3 SSE4.1 SSE4.2 AVX AVX2 | 0.07% |
| x86-64 SSE3 SSE4.1 SSE4.2 AVX | 0.03% |
| x86-64 SSE3 SSE4.1 SSE4.2 AVX AVX2 | 0.03% |
| x86-64 | 0.02% |
| Intel Pentium | \<0.01% |
| Others | 17.14% |

---

<sup>(Note that the current URL for Market Insight is `https://dashboard.unity3d.com/organizations/<YOUR ORG ID HERE>/projects/<YOUR PROJECT ID HERE>/analytics/hwstats` and it's not linked to the new Gaming Service dashboard)</sup>

---
Tags: hardware, cpu
---


title: New "Open PDF" App

text:
# Question
Title: New "Open PDF" App
I have a POCO F3 Xiaomi phone not rooted.

Recently when I try to open a PDF file from the WhatsApp, in the list of apps able to open it (Drive, Dropbox PDF viewer, Word, ... are the choices), there is a new app called Open PDF. I never installed it and I can't find it in the settings. So I cannot uninstall it.

I'm worrying. Is it a virus? How to uninstall it?

Note: As @Robert asked in comment, I have a System apps Updater, I think from Xiaomi. This updater appears to modify my default settings and installs apps against my will. Now I am almost sure that this app is from **CamScanner**.

# Answer
> 0 votes
Use Netguard firewall, apart from being a firewall it also lists down all the apps (both system and installed) on your phone, find that pdf app you are concerned about , copy the package name (it looks something like com.blah.bla.openpdf), then, go to your pc, install platform tools from google, enable developer options on your phone, enable usb debugging, connect your phone to pc using usb cable, open command prompt in the platform tools folder you downloaded (extract the zip after downloading), write `adb devices` , this will prompt you to allow usb debugging on your phone, allow it, then write `adb uninstall <package name>`  and then you should see “success”. The app will then be gone, do this for all the bloatware apps that you don’t like. Just make sure that you don’t remove certain xiaomi apps such as the security app, it will break your phone.

---
Tags: applications, whatsapp-messenger, xiaomi, pdf
---


title: Receive IR signals through camera

text:
# Question
Title: Receive IR signals through camera
I want to receive IR signals on my phone. The camera can see IR, but I cannot tell which button I pressed. (yes, I know that's not how it works).

No app on the Play Store could help me because they all want to send IR signals. I tried to install LIRC through Termux, but it did not work.

After I receive the signal, I want to send it through a network socket.

Information:

* Model: Motorola Moto C
* Unrooted
* Android 7.0
* No extra bells and whistles

# Answer
> 0 votes
You need external IR recievier hardware to be able to reliable read IR signals (I guess you use TV remote or similar). Phone's camera is not meant to read signal (it's able to receive it, but not to read the message).

---
Tags: applications, camera, networking, remote-control
---


# Question
Title: Frame buffer not working in Android emulator when accessed from Linux
I am running Linux with kernel from Android SDK in an Android emulator. When writing from `/dev/urandom` to `/dev/fb0`, nothing is drawn in the emulator window.

Why? Can you help me with this problem?

# Answer
> 0 votes
I solved my problem with the following way to run the emulator:

```
emulator -avd TINYSYS -shell -qemu -usb -device usb-tablet -device virtio-vga,edid=on,xres=720,yres=1280 -kernel /home/root/emulator/rootfs/boot/vmlinuz-4.4.302 -tiny \\
-append 'selinux=0 no_timer_check clocksource=pit no-kvmclock console=0 cma=272M@0-4G mac80211_hwsim.radios=2 mac80211_hwsim.channels=2 skip_initramfs rootwait ro init=/sbin/init root=/dev/vdf2 .. .

```

/dev/vdf is the sdcard

Kernel rebuilt with virtio DRM support.

---
Tags: linux, android-emulator
---


# Question
Title: How to turn on the wi-fi hotspot using command line with root?
I've read a lot posts about it like How to turn on the wi-fi hotspot using ADB? but all of them based on "click emulations", but I have root and it doesn't solve my problem.

I've tried VPN Hotspot app and it work perfectly even without root permissions (using only "WRITE\_SETTINGS" perm.)

I need to enable it using command line even when phone is locked, something like:

```
adb shell su -c service call connectivity 24 i32 0 i32 0 i32 0 s16 random

```

but for Wi-Fi tethering.

I've Android 11 rooted device.

## Update

I found that it is possible to do this through a similar command:

```
service call tethering 4 null s16 random

```

```
void startTethering(in TetheringRequestParcel request, String callerPkg, String callingAttributionTag, IIntResultListener receiver);

```

But first argument `null` is wrong because here must be this interface:

```
parcelable TetheringRequestParcel {
    int tetheringType;
    LinkAddress localIPv4Address;
    LinkAddress staticClientAddress;
    boolean exemptFromEntitlementCheck;
    boolean showProvisioningUi;
    int connectivityScope;
}

```

How to put it instead of `null`?

# Answer
`connectivity` service does not have a method to start Wi-Fi hotspot. `tethering` service indirectly calls `wifi` service which you can call directly.

`startSoftAp` and `startTetheredHotspot` methods start the hotspot, and `stopSoftAp` stops, as the names suggest.

For Android 11, the order of three methods is `47`, `48` and `49` respectively. So to start:

```
~# service call wifi 47

```

And to stop:

```
~# service call wifi 49

```

No configuration argument is required. Android automatically picks the saved AP configuration.

If a package name is required as argument, try to provide an empty string or `null` or `android` or `com.android.shell`.

Check the method number for your Android version in the service interface file: `android.net.wifi.IWifiManager.aidl` linked above.

All three methods require `android.permission.NETWORK_STACK` which has a protection level: `signature`, so won't work without root.

---

**Related:**
> 8 votes

---
Tags: root-access, wifi-tethering
---