text:
Nandroid Phone Backup Using TWRP for ROM Hopping
I want to switch ROM for testing purpose. Before that I want to make a NANDROID backup of current ROM so that if anything goes wrong with the new ROM, I can restore the backup to remain at the same point at which I made the backup. I had been doing this before when I had phone with Android 4.1 (jelly beans) with TWRP. Now the system is:

Phone: Redmi Note 10 Pro
Android 13
MIUI 14
TWRP 3.7

Can we still make backups and restore then as we do in older Android versions?
Best Regards

By definition full NANDroid backup means exact image of the phones NAND storage.
TWRP backup never included emulated Internal Storage and is technically no full NANDroid backup. The short answer is NO.
Long answer
TWRP main purpose is backup of ROM, apps and settings.
Backup of firmware depends on how the TWRP maintainer predefined selection of partitions for this phone model. Having a look into specific twrp.fstab the file only has 28 lines.
Providing the average user the power to backup and wipe all the partitions can be considered as dangerous. Furthermore we can download firmware elsewhere, backup of firmware via the TWRP backup menu is therefore not desired. That's why some maintainer's exclude firmware partitions from menu.
Advanced user can backup all partitions manually from adb pull as TWRP provides full access to raw partitions.
Backup of ROM is still functional but the backup method has changed. the system partition is no longer a tarball archive containing files, but a partition image.
TWRP can backup dynamic partitions inside super partition since v3.7.0
Backup of Data requires the userdata partition decrypted. Backup does not include /data/media aka /sdcard Internal Storage. Therefore one must backup pictures manually via USB MTP or adb.
adb pull -a /sdcard

Android Keystore and apps that rely on security cannot backed up due the nature of Replay Protected Memory (RPMB)
This concerns some crypto or banking apps, screen lock credentials and FBE file-based encryption.
Adoptable Storage encryption rely on phone encryption. encryption keys cannot backed up and therefore all data on MicroSD card becomes unrecoverable. manually backup of decrypted files is possible.
island/work profiles/parallel apps cannot backed up because TWRP cannot distinguish between encryption profiles, only user 0 is decrypted by default.

Thanks for such a detailed reply. My purpose is to backup original ROM pkus apps and data only. How can I do that using TWRP. Which partions should I select.

depends on what the custom replace. boot + system + data


text:
Can I get back an image that displayed momentarily in the camera finder?
I had someone take a photo for me with my phone.  I didn't verify the photo but I took the phone back and put it into sleep (pushed the power button to turn the screen off without switching off the power) with the camera app still open.
Some hours later when I woke the phone up, the camera app displayed and in the finder there was for a split second the image that the person had taken for me.  The finder then switched to what was currently in front of the lens.
The photo doesn't seem to be saved.  It's not in the folder where photos normally end up.  However since the image did show up in the finder for that split second well after the fact, the phone must have saved it somewhere at least temporarily.
I've seen this phenomenon before, on multiple phones.  In this kind of case, might the image still be somewhere that I could retrieve it, and if so where?

I'm not sure what you mean but you can check in Phone Storage > Pictures > .thumbnail folder. It will be a hidden folder

Most likely the preserved image you saw after unlocking the phone was still saved somewhere in RAM by the graphic driver.
Waking up the camera takes a few milliseconds so you could see the old image in RAM before it was overwritten by the new live image from the camera.
Thus I don't see a chance to recover that image as it had not been saved to flash storage.

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

sort: votes


text:
Which Android version will be preffered for my device?
I am trying to build a custom rom for my device(Lyf flame 7s 2016).
But its hard to choose from which android version should I use? as default it came packed with bloated android 5.1 rom.
Most of my everyday using apps are droping support for android 5.1 eg:- Magisk, Fdroid, clash of clans, etc. and also android 5.1 is not much customizable.
I need minimum Perfomance(as i dont multitask much), stability and customization. So is there any android version that is much suted for my needs.
Device Specification:
Processor - Spreadtrum SC9830A (1.5GHz quad-core)
Ram - 1GB
Display Size - 4.00-inch (480x800 pixels)
More Info here
Note: I want to build a google free rom. any recomendation to that also.

Not sure but I think Spreadtrum SC9830A doesn't support anything newer than Android 5.x

Your device has only 1GB RAM which is not much even for Android 5 but even if you would succeed building such a ROM the resulting OS would be next to unusable because of the tiny RAM size. Note that learning to build a custom ROM including searching and integrating drivers and services may require several dozen hours of work and a lot of tries.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
Run avdmanager with sudo
I am running avdmanager create avd from my python script that I start with sudo -E to make my script be able to do priveldged stuff. But for some reason avdmanager created AVD inside /root/.android/avd, but not inside /home/user/.android/avd. How does it know that it is being run with sudo? I am really confused. Please, help me to figure this out.

Your question isn't quite clear.. you say you run the command with sudo and questioning when it is being run in /root?

@44yu5h Yes, but -E should have retained the user's environment. The question is indeed unclear but I think it's about why it didn't.

Maybe you should ask this question on superuser. Also check this out https://superuser.com/questions/636283/how-to-allow-user-to-preserve-environment-with-sudo

@ChanganAuto Yeah, my wording maybe wasn't quite good. Then, forget about python script that I mentioned. The problem is the following: I run sudo -E avdmanager create avd from terminal as a user, but it puts new device inside /root/.android/avd for some reason.

@44yu5h Thank you for the link, but this is not my case actually, because I don't have any errors regarding environment preserving.

Cross-posted to Super User: https://superuser.com/q/1780670/356789


text:
User-settable Root of Trust supported devices
As mentioned in Android doc

Devices can optionally allow the user to configure the root of trust (for example, a public key). Devices can use this user-settable root of trust for Verified Boot instead of the built-in root of trust. This allows the user to install and use custom versions of Android without sacrificing the security improvements of Verified Boot.

and

The Google Pixel 2 devices use this approach and the virtual partition is called avb_custom_key

So, Pixel 2 support this feature. I searched every where but not seen any list of phones that support user-settable root of trust
Has anyone list of android phones?


text:
Where can I find the Google Assistant "Use screen context" on/off switch?
Despite this:

https://support.google.com/assistant/answer/7393909?hl=en-GB&co=GENIE.Platform%3DAndroid
this Samsung does not show this on/off switch. Instead, "Use screen context" is a button which goes to a page of switches, none of which have this label.
So, where can I find the "Use screen context" on/off switch?

Please add more details about the phone and android version. Also are you looking at the right place?

Could you post a screenshot on the question? I have Samsung Galaxy M12 on Android 13 (also Google Pixel 3a on Android 12), and following the above procedure shows the expected option (whether it's working or not on a Samsung device is a different matter)

Am I looking in the right place? I doubt it. But I sure am looking in the documented place.

Andrew, could you post a screenshot showing where it is prresent? All I could post is where it is missing.

Within the assistant settings, the Use screen context option takes you to a settings page titled Digital assistant app. If you disable the Use text from screen toggle, this will have the effect you're looking for, and you'll notice the two following toggles are disabled to show the entire feature has been turned off.
Example:

I dont think this answers the question. Anyway lets wait for him to reply

"the Use screen context option takes you to a settings page titled Digital assistant app". Not here. It takes me to "Device assiistance app" which is unlisted on Settings > Apps.

"If you disable the Use text from screen toggle" I get nobsuch toggle (on/off switch).

Thanks for the suggested alternative but note this does not answer the question.

Would you mind posting a screenshot showing what you're describing when you navigate to these options? This was the answer to the question on my Pixel 6 Pro, but may need to be expanded to include options for your Samsung device.

https://i.imgur.com/I5VmZt9.png

Perfect! These are the same options, just with different titles. This would indicate that your "Use screen context" setting is currently on.


text:
Where can I find Google Assistant "Share screenshot" button?
Despite:

https://techhelpkb.medium.com/bypass-an-android-apps-screenshot-restriction-34ee4b79b284
and

https://support.google.com/assistant/answer/7393909?hl=en-GB&co=GENIE.Platform%3DAndroid
when I hold the Home button on this Samsung phone, I get a part-screen window saying "Try saying" but missing "What’s on my screen?" button.
If I tap the mic icon and say "Hey Google", I get a bigger window with a horizontal list of buttons including "What’s on my screen?", but tapping that gets only a box saying "Play, hum or sing a song."
So, how do I find a "What’s on my screen?" (or anything else) that actually offers "Share screenshot"?
Thanks.
PS Assistant > Settings > General

PPS Use screen context gives

Have you turned it on? Open assistant and say open assistant settings > general > use screen context

Have I turned it on? No. Is it turned on? I do not know. Use screen context does not offer it.

What do you mean? Can you attach a screenshot of what you can see in assistant settings > general

Attaching is not offered so I have embedded one.

Could you post a screenshot of what you see if you press the "Use screen context" section on this screen?

Also, there appears to be a pretty prevalent bug with this feature, it doesn't appear to work at all on my Pixel 6 Pro either, just turns on the "hum a song" command (https://www.reddit.com/r/GooglePixel/comments/sgcqct/anyone_else_having_issues_with_screen_context_for/), (https://issuetracker.google.com/issues/145374256?pli=1), (https://www.google.com/search?q=what%27s+on+my+screen+google+assistant+not+working&rlz=1C1GCEA_enUS1038US1038&sourceid=chrome&ie=UTF-8#ip=1)

@ChrisJJ Analyse on screen text is the same thing and you've already enabled it. Instead of searching for the button try saying "what's on my screen" to the google assistant. It should work

That gives "Play sing or hum a song".


text:
unlocking bootloader in ZTE blade 7 lite
i installed all drivers and also extracted adb and fastboot in my system so i enter "adb reboot bootloader" code in cmd after changing into adb folder and then when i enter "fastboot oem unlock" it respond back "waiting for any device" but nothing happends then
also what seems weird is my phone enters to "Meta Mode" and not "Fastboot mode" or something more relevant

To exit Meta mode, you would hold the power button down for 10 seconds to force the phone to turn off and then hold the power button to restart the phone
To enter recovery mode, press and hold the Power and the Volume Up buttons at the same time then navigate to Fastboot mode by volume keys and enter using power key.
It's not recommended to root if you are a beginner. And even if you attempt to you should stick to a tutorial like THIS one. Or you may follow some other tutorial.
Use may Magisk it's better than SuperSU. See the link


text:
How can I turn off "Brighten with HDR" dialog when viewing photos in Google Photos?
I'd like to turn this off:

I haven't yet found from where. Would anyone know?

In short you cant. It's a proprietary app and there's nothing you could do except request for it.
But but but if you are willing to take the pain of decompiling and understanding and tweaking the code you could do so.
I knowwww how annoying those dialoges are


text:
Android 13: system language mix with english
My friend just bought a new phone, Samsung S23.
He wanted to have the system language set to his mother language (Hungarian), but the phone didn't offer this language during initial setup so he selected English.
After the setup completed (again this was a brand new phone, he opened the box), he installed Hungarian in Settings/General management/Language.
Now he has mixed language: menus on Android in general are in Hungarian, but for example, the settings application is still in English.
Can I help him to do something to have a fluid 100% Hungarian menu everywhere?

You just installed the language. You have to change the app languages too

On your Android phone, open your Settings app.
Tap System and then
Languages & input and then App languages.
Select the app you want to change.
Choose a language.

(Correct me if im wrong. I havent looked it up. Its what i remember what i did the last time i did it)
EDIT:
Settings > System > Languages you should see English and Hungarian here numbered as

English
Hungarian

Drag the Hungarian to 1. position pressing and holding the two small dashes (like = sign) beside it. Language should change right away.

His "Settings" app stayed English, and it's not listed in App languages.

I've edited the answer. Please check

He has Hungarian at first place. Not working, "Settings" app is still in English. He also tried to entirely remove "English" which also not making settings menu items Hungarian.

@Daniel Hmm.. that's odd. Is it only the settings app which is in english or are there more apps? Can you confirm what's in Settings > System > Language & Input > App Language > Settings app

"Settings app" is not listed nor selectable in "App Language". :( And yes only Settings app is in English.

That's very starnge, it shouldn't behave like that. Try resetting and selecting the language right off from the set up screen. (Also I dont have a samsung but do you see any option in App Language as show system apps?)

AND before that could you add another random language(other than eng and hun) at 2. and tell if the settings language changes? It might be possible that settings app doesn't support Hungarian, in that case 2nd language is used. So just to make sure. The order in Languages should look something like 1. Hungarian  2. Chinese  3. English


text:
How to move the entire termux to sdcard
i have seen multiple posts but non helped.
i have root access and i want to put the whole termux on my 32GB sdcard because i have a very limited internal storage (8GB) and most of it is used by the system. Please help asap
i have seen this but i didnt understand how to do it
https://android.stackexchange.com/a/228444/44325

Welcome to the Q&A site Android Enthusiasts Stack Exchange. Looks like you have found a similar question Can the Termux environment be put on an external SD card?. Could you [edit] and explain what didn't work?


text:
Anyone know what rooting an android device actually does?
I am wondering about what rooting my android device actually does. I know quite a lot about linux and android, so I think it just uses an exploit to install a su binary onto the android rootfs. I'd like to know what it actually does to make sure that I actually want to root my android.

That depends on how the rooting is done. If you use the at the moment common rooting method for devices that allow to be OEM unlocked is patching the boot image using Magisk and then flashing it using the common flashing method of the device. So it does not involve exploiting anything, it is just like installing a new boot image into grub. Exploiting is only necessary on devices that don't allow bootloader unlocking.

Good starting point for details on that: our root-access tag wiki ;)

See How Magisk works? and How to manually root a phone?

I am not an expert but I can tell you what I know.
It depends on what method of rooting you use.
You can have a system root or a systemless root. Basically the only difference is that a system root modifies the system partition to obtain root access.
All rooting does is either use an exploit or a third party bootloader to gain root access to then install binaries that can then grant other processes root access.
I find flashing a custom bootloader a bit more invasive to the system and I'm not sure how easy it is to get the stock bootloader back.
You can always revert a rooted device to it's original state by flashing the original image provided by the manufacturer. Installing the original software should not affect the data on the phone, only the system. Just make sure to use the correct version, you can find information on your system and model version in settings.


text:
Delete Files from Directory that are Older Than a Given Time
I've been searching for this for several hours but couldn't find any solution. I have a folder (Call_Rec) which contain thousands of files and I want to delete only those files that are older than a given date. It seems like a basic feature or requirement but I'm unable to find any solution for it. How can I do so in Android? Is there any app or way to achieve this?
Best Regards

Have you tried using a regular file manager and choosing to sort the items on their modified date? I would recommend using Solid Explorer because I know with it you can long press a file, then scroll and long press another file and it automatically selects all files between the two selected files. That way you can choose from what date to what date you want to delete.
Another option is to plug your phone into a computer and use the computer to sort on date, then click the start file and shift click the end file to select all within a range.

Thanks for reply. I'll check solid explorer. I knew about sorting but selection of files or unselection of few hundreds out of thousands was an issue. I'll see if it could be overcome with the detection method you described about Solid Explorer. I wish there could be an app on which I could give a data range and it could filter the files based on that.

Thanks for help. My issue is resolved and I've deleted the required files by using Solid Explorer. But I still wish there could be an app or option in the file explorer app whoch could filter the files based on date range.


text:
Locked out of phone with airplane mode left on
My son has locked himself out of his phone while on vacation with airplane mode on. Now we can not get back into his phone as its not connecting to internet to change the password from a computer. How can we get back in the phone as we can not turn airplane mode off without the phone being unlocked. We do not really want to do a hard reset.

If possible, can you add the make and model of your phone so users here can be more helpful in their answers?
Also, can you be more specific in your definition of "locked out"? Did an incorrect passcode get entered too many times? Did the passcode get changed to something now unknown?
My phone allows me to access quick settings, which for me includes airplane mode, without unlocking the device by pulling down the notification shade on the lock screen. Are you able to do something similar on your son's phone?

Usually you should be able to enable Wifi without unlocking the phone. Only on old devices with Full Disk Encryption this is not possible as Android not fully boots until the correct PIN/password has been entered.

What is the phone's model and os? Some OS (ex. xiaomi) offer turning on/off of plane mode by long pressing power key

Thanks for the info, I believe his phone is a Samsung A10, I am unsure which OS it currently has. When I swipe down to access the wifi or airplane mode and tap one of these it asks for password which we are unsure of at this time. And correct he had changed his password while in airplane mode I believe and forgot the password so now we are locked out of it. Currently it has a 4minute timer between password entries.


text:
App tries to open an URL with a custom protocol/scheme, browser protests
This app tries to handle logins through the browser with a custom "protocol"/scheme in the URI, i.e. instead of https://..., it tries to open dbnavigator://idm_auth/login?..., but the browser (Google Chrome) says "Web page not available", "net::UNKNOWN_URL_SCHEME".
How do I help the app explain to the browser how to access that address?

What Android version do you use? And is the used ROM stock or custom (with root)? Which button triggers the custom scheme URL, I see for example the login and sync button in my tickets but that leads me to a normal web page.

@Robert It's a LineageOS 19 (so Android 12?) ROM that was made for this phone (probably with root). I'm using that because the official Android at some point refused to update, and that app refused to install on the old Android version. The login procedure after typing in the login details leads to dbnavigator://idm_auth/login?...

Before dbnavigator://idm_auth/login?..., an URL like https://... briefly flashed on the screen, so I managed to quickly tap it and then tap "Copy" or "Cut", then pasted it into Firefox on the phone and proceeded in the browser. After a few steps in Firefox, the app appeared and worked.


text:
Body Sensor Permission? What all kinds of information could it get of our body?
How is the Body Sensor Permission utilised by the apps?
I'm aware that it uses hall sensor and proximity sensors to detect human presence. I want to know how exacty it detects specific people? I'm talking of the smart lock: On-Body Detection. It used to be fairly inaccurate but hall and proximity sensor cannot distingusih between bodies (i think, correct me if I'm wrong)
So is there something I'm missing?
Can it read my ("vital signs") respiration rate or heartrate or body temperature (as it says on the screenshot)? I'm particularly interested because Google has it and Google has made it just for itself?? I've not seen any app request for this permission
.
Googling shows body sensor is used to detect physical activites but it's not. The dedicated physical activity sensor is used for that.

Based on the information provided by Google's support page on the topic, it sounds like they're using almost exclusively accelerometer data. The things they mention for Pixel devices (and are most likely identical or at least similar to other phones running Android) are:

Your phone will learn the patterns of your walking and may lock if "another walk pattern" is detected
Your phone will lock when set down on a surface (completely stationary)
Your phone may not lock when using transportation that's inherently shaky, such as planes or boats

That being said, Body Sensors are separate from this process and mostly have to do with fitness tracking and wearables. For instance, my smart watch and companion app needs the Body Sensors permissions to track heart rate and oxygen saturation, as well as to collect step and sleep data. I haven't found a comprehensive list, but if you install the Health Connect Beta app, you can use it to view, enable, or disable which apps have access to which Body Sensor data. In your case, if no app has asked permission for this, then nothing on your phone has access to it.

Hmm.. that's interesting. I couldn't find anything relevant on how it does that.. did you stumbled upon something like that?

How on-body detection works? I remembered the description when enabling it on my phone ("stays unlocked while it is in motion") and used that to find the Google support page with more information. I think they keep the exact details obscured on purpose though, as publishing these might enable others to figure out better how to fool such a detection algotrithm.

I remember it used to be like the device will stay unlocked as long as it is with you or it will get unlocked on detecting "your body". Yes they must keep the exact process hidden but still I'll search and see what I can get and get back to you. Also they removed smart locks from most android versions (or was it my OS? Not sure) meaning it must be buggy. As far as I remember it got to unlocked for my brother's body too the last time i tested it. (I was standing far)

With this system, the device will never unlock by detecting you in any way. It simply allows it to stay unlocked while it determines you're in possession of the device, and will lock it otherwise. Fwiw, it is still present on my Pixel 6 Pro running Android 13 under Settings > Security & privacy > More security settings > Smart Lock > On-body detection.

Oh, I didn't know pixel still has it. "If you hand the phone to someone else while it's unlocked, it will not lock - the feature isn't able to recognize that you specifically are holding the phone. It just knows when the phone is being held / pocketed and when it isn't." I found this from 2015 article. But they certainly improved upon this. Couldn't find anything much relevant except for what you already stated. I think that's all google wants to say about it. I'm still paranoid though that it can read vitals of people EVERY minute if they want

There are some physical limitations with what you're worried about. For instance, your phone can't read your heart rate without a wearable with such a sensor, or you holding your finger to the camera, and I don't think there's a phone yet that can sense body temperature. In the end though, as long as (1) you trust that Google and your phone's manufacturer are being transparent in their collection and usage and (2) you pay attention to apps and services that request such information, as you clearly are, then you shouldn't have to worry about this information being taken without your consent.


text:
Transform stock tablet firmware to Android TV
Is there any public guide for the subj?
I have arm SOC Rockchip and the Android 11 firmware from the manufacturer (downloadable from their's GIT).
I am able to unpack it through all stages:

single img
boot + update.img
uboot.img + boot.img + recovery.img + super.img + ...
super.img.raw
odm.img + product.img + system.img + system_ext.img + vendor.img
each img from (5) complete unpacked until files

And I am able to pack it in backward order to flash and boot.
Is there enough to obtain ATV versions (according to the arch) for some apk's (which is ?) and just replace them in the source filepaths ?
Is there are list of conflicts apk's which is required to be deleted in oneway (without replacement) ?
Is there some special tunings required for the configs (SELinux for example) ?
UART/TTL in my hands and I am ready to read boot stdout :)

I don't have answer, I asked. If the same apps behave different what's the point of replacing system apps? Must be some setting that tells the app it's tablet or tv. if your question is about replacing apps in system.img I can answer how to do it. but I don't know what apps or settings, so my answer can't provide solution for the exact question

@alecxs, because the System Apps do the difference I am asking for. Different voice search. Different Play Market. Different Launcher. Different Google Services. Lot of differents and special improvements.

Most likely Android TV apps share a large part with the apps from Android for phone/tablet but there is a significant part that may be different. Conditional compiling respectively different flavors of the same app allow to build similar but different apps. This is what I would do if I would develop a system like Android TV.

For reference a true ATV device would need to support: https://source.android.com/docs/devices/tv otherwise a Android media box (IPTV?) could be running something like Kodi on top on regular Android.

@Morrison Chang, KODI is a good platform and I am use it with a single and central database point on a number devices at home, but it does not provide benefit of clean TorrentTV experience (it does, but with ugly workarounds). Besides, a lot of IPTV providers (in my outside environment) has its own ATV apps for provide viewing for TV broadcasting. So, cable transport for ATV - is an option. Good option (I have a USB DVB-C dongle and effectively want to test for FTA channels!). But not absolutely required.


text:
Simple documentation frameworks on android (like local HTML help)
I´m facing the challenge to transfer a long-grown (local) HTML documentation to Android.
As you probably know, all Android web browsers refuse the usage of local links inside the Android file system for security reasons. As the documentation will be used in field work, the upload to a web server is not an option. Even the experiments with local web servers on Android were unsatisfying. They are either unstable (due to the internal handling as a standard user app), lead to peculiar issues in the presention in browser and do not support links to HTML sites in folders, other than the site you are coming from.
Do you have any recommendations for the rebuilding of a local linked documentation? Is there any simple generic framework or app to accomplish this task? The writing, linking and management of the help documents should likely be done in Windows like before. I still did some research on this topic, but I couldn´t find any satisfying solution.

What you could potentially do is create a small web server and wifi hotspot on something like a Raspberry Pi, then bring that with you and connect to it to read the documentation.

Technically it is possible to create an app that displays HTML files from a local folder (e.g. /sdcard/Andorid/<app packagename>/ but I don't know an existing app that could do so. If you have some Java skills you might be able to develop a simply app that only consists of a WebView showing your html files. https://stackoverflow.com/q/35699674/150978 would be a good starting point.

Thank you for your ideas!
In the end, I see the solution in using Markdown in combination with the edit/viewer app Joplin. It´s possible to arrange and link the different *.md documents like the HTML-Files before (and even use them on Windows). In case of complex formatting, I´ll use links to PDF documents.


text:
How to prevent FB from loudly auto-playing videos? FB settings don't work
In Facebook on android I have "Never Autoplay Videos" on and "Videos start with sound" off. Nevertheless, FB autoplays videos with sound. Moreover,
FB version 411.1.0.29.112 on android 10 on samsung galaxy 9+

Are you open to automation? Apps such as MacroDroid or Tasker can reduce the speaker/media volume to user specified levels when Facebook app is in foreground. When it goes into background the original volume level can be automatically restored too.

As firelord said.. just to add you can use Automate app too.. it's more light weight than macrodroid and tasker is paid


text:
Running testMyFoo binary within adb shell
I figure this question comes up often, but here goes:  I have a testMyFoo binary that

Is installed on the phone's /data/local/tmp/ path
has appropriate execute permissions
requires a series of shared-object libraries (one of them being libc++_shared.so)
set the LD_LIBRARY_PATH variable with the required search paths
is built with the correct toolchain+sysroot for the phone (arm64-v8a/android33)

So when I try to execute ./testMyFoo:

It seems to execute
It finds my dependent shared-object libs
It fails to load libc++_shared.so

I get this error:
CANNOT LINK EXECUTABLE "./testMyFoo": couldn't map "/storage/emulated/0/MLZ/mlz-libs/libc/libc++_shared.so" segment 1: Permission denied

From what I've read online, it seems I have to run this through an Android studio project.  I would like to avoid that (for now), and just run my program directly.  Any suggestions?
Thanks, Charles.

Usually the shared internal storage /storage/emulated/0 is mounted with no execute restriction.
It seems this does not only affect executables but also libraries loaded by executables and thus you get an Permission denied.
You should better copy the libraries so that they are located in the same directory as your binary. libraries not together with the binary in /data/local/tmp. Then loading the libraries should work.


text:
How to prevent Android from booting into Safe Mode?
I'm hoping to remove access to Safe Mode on my own device. I want to explore the possibility of making it more difficult to circumvent self-restriction apps such as the popular AppBlock app (and things similar to Focus mode found in Digital Wellbeing by Google).
Is it possible to prevent access to Safe Mode?
I do not have a rooted device but I am open to rooting it, if necessary.

If you know Android app development you can create a Device Policy Manager and setup this policy in it: https://developer.android.com/reference/android/os/UserManager#DISALLOW_SAFE_BOOT

I don't know Android development, but policies and what you referred to sound like the mechanism to make this work. I think that means I should look into remote admin tools that utilize policies. This would provide the effect of disabling safe mode. As I'm writing this, I'm not sure why I didn't consider that earlier. Thank you.


text:
Error installing Aircrack in Termux (E: Unable to locate package aircrack-ng)
An error is occurring when I try to install aircrack-ng in Termux.
E: Unable to locate package aircrack-ng
When I try to use apt or pkg to search for aircrack, it doesn't find anything either. Here are the outputs:
The error
~ $ pkg install aircrack-ng
Checking availability of current mirror:
[*] https://packages-cf.termux.dev/apt/termux-main: ok
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package aircrack-ng
~ $ apt install aircrack-ng
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package aircrack-ng
~ $

When I search for the package
~ $ pkg search aircrack-ng
Checking availability of current mirror:
[*] https://packages-cf.termux.dev/apt/termux-main: ok
Sorting... Done
Full Text Search... Done
~ $ apt search aircrack
Sorting... Done
Full Text Search... Done
~ $ apt search aircrack-ng
Sorting... Done
Full Text Search... Done
~ $

I thought it wasn't finding the package, so I decided to use git to clone the aircrack repository on GitHub and install from there, but I don't even know if there's a way to do that or how to do it.
Note: I'm quite a beginner so I apologize if something doesn't make sense.

May be NetHunter (Kali) for Android would be an easier start for you. It should already contain tools like aircrack.

You first need the repository that has aircrack-ng
apt install root-repo

Then do
apt install aircrack-ng -y

More on this here

However, I would suggest you to install aircrack on linux running on termux. There are many apps to achieve this but I personally use AnLinux
Being a beginner is not bad.. we all start somewhere :)


text:
How to connect to a Wi-Fi device but use cell data
I have a Wi-Fi connection on a solar system that connects to an app to provide data on usage. I do not have Internet aside from my phone on my property. I need to connect to the Wi-Fi solar  Data logger but continue to use my cell data connection, as it requires Internet to function properly

AFAIR only the latest Android version(s) allow to be connected to a Wifi without Internet access and continue to use mobile data.


text:
Android Hotspot - manage connected devices
I use sometimes an old (rooted) Android 7 phone as a Hotspot for several other devices.
I have a data plan with 10 GB in a month, so not that much, so I need to know if some devices use more traffic than others.
In Android settings I can see how many connected devices my Hotspot has at the moment and their MAC-address. With ip neigh (in Termux or such) I can see the MAC and IP, so I can look on each device to check which is which.
This is very unhandy and I wonder why there is no (actual working) app to manage it.
The app should be able to block devices (as I can already in the Hotspot settings's) and great would be, if I could see the traffic used by each connected device.
Is there, in all those years, that Android Hotspot exists, really no app doing this?
I asked it in xda-forums years ago, without any answer.
Here in stackexchange I found nothing appropriate.
With root, this really should be possible I think, but how?

You didn't get an answer because you are looking for the wrong solution. Creating and managing hotspots is out of the scope of apps. It's a low level thing which has to be managed at operating system level. But Android doesn't provide that much control because, unlike a router, an Android phone is not meant to be a feature-rich access point device. On a rooted Android phone, however, you might be able to achieve what you want as you'd do on any Linux system. As a hint, see macaddr_acl in hostapd.conf.


text:
Security logging for Android
How can an Android phone log all activities related to access?
My requirement is that every phone lock, unlock event, any settings modification, and audit trail needs to generate a log entry to a file.
Examples -
Successfully unlocking a phone by pin. The log should have an entry of the date and time and specifically mention phone was unlocked by the method of the pin.
Same for the phone lock. The log should say the phone was locked at this date and time from screen timeout reason.
The log should say the phone was unlocked by biometrics at this date and time using fingerprint 1. Specifying the type of verification, and what fingerprint/identifier was used.
The log should say a new biometric, new fingerprint 2 was added at this date and time.
Detailed access, and audit trail logs, just like in the security world of PC/computer, server, Linux.

The only way I see to realize that would be to build a custom ROM. Settings, lock screen, biometrics and so on are areas where apps don't have access to, may be even system apps. So the only way would be to build a custom ROM and modify all those parts of Android in a way that the generate such an audit log.

@Robert This should just be a functionality of the Android kernel

You may want to look at Android Mobile Device Management (MDM)/Enterprise Mobility Management (EMM) solutions for security logs, https://developers.google.com/android/management/reference/rest/v1/enterprises.policies#logtype Manufacturer specific solutions like Samsung Knox may have additional granularity.


text:
Installation date of deleted Apps
I need to view the Installation Date from an App on an Android Phone. Is there any way to view the Installation Date. Is there an log file in the file Manager form Android or an way to view the Installation Date in the Settings or in the Play Store. Even if the App is already deleted?
Thank you for responses

The first time an app is installed this is usually recorded as "purchase" even for free apps. Thus you may be able to find the app in the Play Store "Budget & history" including the date of the purchase.

Thank you for posting the the correct location. If there are no in-app/simple answers, see: How to export a list as Text of all Play Store Apps that I have ever installed for a possible solution.


text:
How to Find Where an App Is Installed? Find an App's Install Location
Usually, Android apps are installed in:
Internal shared storage/Android/data/app/com.example.MyApp/

However, I've been looking for a while but can't find where CapCut (the video editing app) is installed. Anyone know where CapCut is installed or how I can find its installation directory?

Sorry but you are totally wrong. Apps are never installed to the internal shared storage ( better known as /sdcard or /storage/emulated/0). Apps are installed to /data/apps. See also https://android.stackexchange.com/a/159070/2241 how to get the install path of an app.

Apps on the internal storage are stored under /data/app/.
Apps on external storage are stored as .asec files under the .android_secure folder.
System apps are stored under /system/app/.
The asec files are mounted under /mnt/asec but it may all vary a tiny bit depending on the version.
Try looking in each of these folders.

Do I need root access to view /data/app/? Because I'm not seeing it from my phone.

@GTSJoe Yes, you do.


text:
Download file from Android ownCloud Client
How can I download a file from ownCloud storage to my Android device using ownCloud Client for Android?
So far, I only found the option 'make available offline', which stores the file in an encrypted folder not accessible by other programs or file explorers.
I'm currently using ownCloud Client for Android version 4.0-beta.2.
The only way I found was using the web interface and not the ownCloud Client, but that's quite tedious.


text:
How can I reverse the order of the downloaded list on the YouTube app?
When I download a video on the YouTube app, it gets placed at the top of the "Downloads" playlist. So when I play it, the queued video is at the top instead of the bottom. I want the opposite behavior so when I play an older downloaded video, the newer ones play next.

This is something that is not natively supported by YouTube. And since YouTube is a proprietary app there's nothing really you can do about it except requesting for that feature.
I would, however suggest you to use New Pipe. Ir's ad free and open sourced. You can download it via its github page


text:
The music listened by Google Play Music on my Samsung J5 cannot be controlled by my Garmin Forerunner 55 connected watch
I have a Samsung J5 smartphone with Garmin Connect and Connect IQ applications, both linked to my watch: a Garmin Forerunner 55.
I can synchronize my activities with Garmin Connect without trouble.
However, the control music function, that is supposed to handle the music listened on my smartphone, doesn't detect anything being listened, when I use the Google Play Music application (the only one that is installed in my phone).
Have I missed an installation step?

"Have I missed an installation step?" No. When you play music on the phone its notification will be shown on the watch. Go to notifications and open the music controls from there https://m.youtube.com/watch?v=AtUlAYSfU-0


text:
Autorun transfer from USB
I am looking to automatically execute a series of tasks when a USB is plugged into a new Android tablet (running 11). Does anyone know if this is possible?
Needs:

Plug USB into new Android tablet
Power up in tablet
Transfer a folder from the root drive on the USB to the root drive of the Android device
Run an APK from within the new folder on the root drive of the Android device

You may want to switch to adb instead of MTP. On the phone enable Android Developer Options and Android Debug bridge (ADB). adb requires installation of "Adb minimal" or "Android SDK" on PC side but it works way more reliable than standard MTP USB file transfer and is way better for scripting especially when te PC is running Windows.

Running an Android APK without installing is not possible. Via adb you can install an APK using adb install <apkfile> on the PC or on the phone pm install <apkfile> (executed in an adb shell).

Rubber ducky? You cannot be using a USB drive for that though. However, you will not be able to send apk through this (i think) So you can put it on bit.ly or somewhere and get it downloaded. Also TRY THESE ONLY ON YOUR OWN DEVICES. https://anirbanroy.co.in/how-to-make-usb-rubber-ducky-in-2022-for-android/


text:
How can I restore my SMS messages from google drive or samsung cloud backup?
My previous phone is damaged. I have created backups to Google Drive and Samsung Cloud. I see that Messages are backed up to both cloud services, but I cannot access the content of these backups. How can I access to my previous SMS messages without a factory reset on my new phone?
My new phone is not a Samsung and I do not necessary want to restore the messages to my new phone. I just want to read the content of backups.

I don't think Google allows Google account users direct exposure to app backups. Even takeout.google.com does not list these backups.


text:
Android 12: App gets installed for multiple users, even though I disabled multiple users in settings
I enabled multiple users in Settings -> System -> Multiple users, but later I disabled it. Now, when I install an app with Android Studio, it gets installed to multiple users, and I can only fully delete the app by going to Settings -> Apps, and uninstall app for all users.
Is there any other place I need to disable multiple users?

I have an answer for the same issue on an older Android version, including deactivating the "guest account", though not sure if Android 12 still has it or not.

Can you list exact model of the phone (since i'm not sure if you are referring to android's multi user or second space of the phone's OS) Also what do you mean by "I disabled multi users" and "it gets installed to multi user"

Its a Pixel 3 :)  44yu5h that is whats happening. First, I enabled multiple users, then I disabled the feature. Yet, apps still ask if I want to uninstall for all users...

Hmm, did you add a new user after enabling it? If so, did you remove the user before disabling it?

Can you attach a few images of how things look like on your device? I'm having trouble following. I tried replicating that but couldn't. I installed the android app from Android Studio (i believe that's what you too are doing) and it just got installed only on my main user without any issue. It only gets installed on the second user when I've uninstalled the app from the main user and switched to the second user (as it should be). But in no circumstances the app is/should be installed on both the users since the filesystem of users are meant to be separate. https://i.stack.imgur.com/Ruycll.jpg

@AndrewT. 's linked answer seems to be the same , so probably we can close this question https://android.stackexchange.com/a/92130/44325


text:
My phone's touchscreen is damaged. Is it possible to control it remotely?
I have an Android 5-based smartphone that I like a lot but it's an old phone and the touchscreen is damaged. The screen works perfectly but there's no user input available. The battery was changed recently and I suppose the technician did a good job fixing the backing side but broke the front part containing the touchscreen.
Is there an option to access it somehow and make it controllable remotely? If I use a USB cable, is possible to install TeamViewer or some other remote control software to still use it?
The phone has no other remote control software preinstalled. Its touchscreen broke before I was able to install anything for remote control.
The point is to use its camera and mic functionality, and still use its sensors to do something useful like a remote camera or something similar.

Use an OTG mouse and keyboard.
From a thread:

I can confirm that using an USB OTG adapter a wireless Logitech mouse
and keyboard combo works for me without problem using Fairphone Open
OS 17.03 (Android 5.1).

Nice idea, do you know if it works even if you want to attempt in flash rom environment? I was thinking to upgrade also the phone to a new cooked rom android 9 or similar.

@user3450548 please don't ask off-topic. flashing requires usb connection, you can't use OTG simultaneously

@alecxs is alway right. However, there is this splitter cable you can use. I cannot confirm if it will work for Android 5, or as the matter in concern, for flashing (because the title says power cable which means it might not be a data cable) https://dl.flipkart.com/s/UaIyHguuuN

If you can manage to get usb debugging working, try scrcpy.

Its features include:

audio forwarding (Android >= 11)
recording
mirroring with Android device screen off
copy-paste in both directions
configurable quality
Android device screen as a webcam (V4L2) (Linux-only)
physical keyboard/mouse simulation (HID)
OTG mode
and more…

(from its README)

Except that you need to interact with the UI to grant the adb permissions in the first place :) so you will have to use otg anyway

If you want to use it connected to a computer, you can use Vysor. It's a program that lets you view and interact with your device from your desktop. It looks like the minimum Android version required for it is 4.4, so you should be good to go with Android 5.


text:
How to set the date format to ISO 8601 or RFC 3339 in GrapheneOS?
How can I set the date format to ISO 8601 (e.g. 2023-04-29) or RFC 3339 in GrapheneOS?

Do you have root? Magisk, twrp? I couldn't find anything relevant for graphene os particularly.

@44yu5h It is a fresh installed GrapheneOS so I guess that I am able to get root permissions somehow.

Uhh.. I'm not sure what you mean by that. Can you flash magisk? Also i found this "I ran into same problem. It seems to be in many ROMs that you have to change the language to access other date-time formats. I had to change for instance to German, since none of the options for English supported DD.MM.YYYY format."


text:
How do I port my music database from Rocket player into Musicolet?
I've been using Rocket player (which is a local file music player) for quite a long time now, but I have recently bought a new phone. The music database (i.e #times a song has been played etc) ported just fine, but I have other problems with it, and the new developers of the app don't have the greatest reputation. So I looked for another music player and found Musicolet, which I really like the features of. But I really would like to port my music database over to it. How would I do that in the least painful way?
Here's what I've tried so far

Musicolet does have a database importer/exporter, but the file is an encrypted .db file. Thanks to this post on reddit though I managed to decrypt it and can now manually edit it using DB Browser for SQLite. In other words, all my songs are in the export file, but naturally has no "data" such as #times played.
Retrieving the database file from Rocket player has proven to be much harder. I know from previous experience that Rocket player uses a file called blob3.blob to store its playdata, and it is possible to open an older version of my music database stored in .blob in DB Browser for SQlite.
However, I cannot find this file anywhere on my android phones, and I tried using AirDroid to import the .apk file, which just contains an empty blob3.blob file. I figure the file is stored in the hidden /data/data folders or the app folder for Rocket player or its cloud uploader.  As far as I can tell, the only way to acces these folders is by rooting my phone. I really don't want to root my new phone, but I don't really care about my old one (Xperia XZ1) and tried rooting it. But I got stuck at unlocking the bootloader, which seems to be more or less required in order to root. Unlocking the bootloader will clear all data from the phone which completely defeats the purpose of rooting it in the first place.
In ADB there's a backup app function you can do. Couldn't get that to work but it could possibly contain the file I need. Also, downgrading my old phone to android 9 could also possibly work to get more access to the hidden folders, but this seems also to require unlocking the bootloader.
Using scrobble works for recording new play data onto last.fm, but cannot register past play data, so that doesn't work either.

So my current solution is to manually browse each song in the Rocket player app, and then manually registering it in the Musicolet export .db file. But this includes copying last played date converted into Unix epoch time (which is the one that really takes a long time), and my music collection has over 7000 songs.
Does anyone have any idea of how I could do this more efficient in any way? Having the blob3.blob file would make this a lot easier.
Edit: Doing android backup worked this time and for me (see comments) and I got my blob3.blob file. I could easily copy over my data, but my new issue is Musicolet failing to load my import. I think it due to the fact that all the files in the Musicolet export/import .zip are checked with md5 checksums to see if they are corrupted or not (I'm guessing), which is mostly stored in a file in the zip called "0.musicolet.backup". From testing I can ascertain that the hashes in this file indeed has something to do with the other files because they do not change when making a new export and not changing anything. However, I cannot replicate the hashes since pulling the files through an encoder do not match those hashes. But I need to know the hasing method in order to get the import to work in Musicolet. Currently, i am looking for a solution on this.

You already collected most of the facts. From my perspective adb access on your old phone is the best option you have. This can get you the data if the app allows backup. Unfortunately there is no error if it denies, just the backup will be empty. How far did you got with adb backup? You need adb working, the app package name of the app you want to backup and the Java tool Android Backup Extractor.

@Robert adb backup worked! I was just missing the Java Android Backup Extractor. Thanks for pointing me in the right direction. I have now copied over the data to the Musicolet backup. But now I currently trying to solve the problem with Musicolet failing to load my import file. Maybe my re-encryption is wrong, or something else is missing...

Note that adb backup/restore won't work on Android 12 for recent apps. What may work is installing an very old version of your player app (e.g. from apkmirror.com or a similar site), adb restore your backup and then update to the latest player version.


text:
How can I pin a share target?
When we click a share button, a universal "Share Target" pane slides up. Apps declare Share Targets, which is a way that the user can share something from one app to another. This is how, say, we can share a tweet on facebook. It gets even more complex now that share targets can be created for specific contacts. So we can directly share an item with a specific person, through a specific app.
In the developer docs, you can read about how developers can implement certain features to try to increase the "ranking" of their share targets. Basically, they want to get their share buttons closer to the front than share targets from other apps. You can also directly rank the share targets within your own app. Android has some sort of algorithm that dynamically determines the rank of share targets between apps, and this ranking changes with the user's behavior.
What I want to do, however, is outside of the scope of that documentation. I want to "pin" a certain share target, so that is always the very first share target displayed regardless how much I use it. And I only want to do this on my  device, so I am not trying in anyway to get around android's ranking system to improve the ranking of my app on other people's devices.
It just so happens the app whose share target I want to "pin" in one I am developing myself, but I suppose such a feature to manually control the ranking of share targets on your own device could be useful regardless whether or not you are developing your own app.

Welcome to Android Enthusiasts. Just a heads-up that app development is off-topic since Android Enthusiasts focuses on end-users and power users (who are not necessarily developers) solving their issues. Thus, while this community might explain the technicality of Android OS to your queries or provide solutions as end-users, coding solutions are out of the scope of this community.

Hi Andrew. I think my question is a user-oriented question. As I said in my question, it just so happens that my app is one I develop myself. However, I only stated that to provide potentially helpful context. The question itself applies to any app, regardless if I developed it myself or not. The question would not belong in Stack Overflow since I am not asking something related to programming.

Understood, no worries. It's just that sometimes askers have wrong expectations about Android.SE being suitable for Android programming issues.

In Android 14 (and maybe earlier), you can do that:

Long-press the share target (contact or app)
Tap "Pin"

At least I get that on a Pixel 7 phone.

I have a Samsung Galaxy with Android 13. I just checked, and pinning as you described didn't work.

I tried to update to 14 and it said "No update is available". I am not sure if my phone is no longer eligible for updates, or if it is just one of those times where Samsung Galaxy is getting the update later. I have a Galaxy Note20 Ultra 5G


text:
Secure DNS vs. Private DNS - is there a difference?
I want to use a custom DNS that works perfectly well on my Android phone (Pixel 6 Pro) using "Private DNS" however, does not work on my Google made Chromebook (Pixelbook, so also technically part of the Pixel family) that utilizes "Secure DNS." Everything I can find suggests that the differences between the two privacy-enhancing DNS offerings exists in name only, but my experience with this in particular is telling me otherwise. It may be relevant to mention that I'm not using the traditional ip/hostname but rather the alternative host name, as that's all that Blokada provides. At least for Blokada Cloud use, anyway. However, come to think of it, I think I use an alternative hostname for Quad9 and that's working on the Pixelbook, so who knows? Anyway, I'm hopeful somebody more knowledgeable than I on the subject might be able to share some insight as to why I'm having so much difficulty getting something that works with Private DNS working using Secure DNS
Ps I confirmed my suspicion. On the Pixelbook, "https://dns.quad9.net/dns-query" works in place of 9.9.9.9/149.112.112.112 however "Google--Google--Pixelbook-**********.cloud.blokada.org" fails, everytime... Without fail. Also, I'm not sure I'd even have the option to use it otherwise, but I have enabled the necessary flags to use Secure DNS

Welcome to Android Enthusiasts. Please note while Pixelbook shares the "Pixel" series naming, it's a Chromebook and thus runs on Chrome OS, which is a totally different OS from Android. As such, while this community might explain the difference between those features, setting up Chrome OS is out of scope if it's not about interacting with Android devices or Android apps. You might be interested in our sister sites [su] for general computing hardware (including Chromebook) or [unix.se] for Unix-based OS (including Chrome OS).

Thanks for not outright deleting my comment. Not at all arguing with your statements, as everything you stated is true however just as ChromeOS has a Linux compatibility layer/environment, while it's not called an "Android compatibility layer," it really feels like it's getting the same treatment. Especially when you look at the FS/file tree. Just as Linux has, Android has a dedicated section (called Play Files or something) that mirrors Android's FS to the letter. Both are very much separated from the main "MyFiles" section belonging to ChromesOS "proper"

I just reread your comment. I should have specified sooner that my question came about entirely as a result of interaction with an Android app, Blokada 6, downloaded from the Google Play Store where I'd previously subscribed to the paid service Blokada Cloud. It is this app that provided the alternate DNS address referenced in my original post that I'm trying to get working with ChromeOS' Secure DNS. The process is exactly the same on an Android phone but where using Private DNS results in success, following the same steps fails with Secure DNS.


text:
`connect-network` API not working on Android 13
I was using the connect-network API in my automation scripts on Nothing Phone (1). After updating my Android version to 13, it was not working and throwing the below error.
Spacewar:/ $ cmd -w wifi connect-network
Exception occurred while executing 'connect-network':
java.lang.SecurityException: Uid 2000 does not have access to connect-network wifi command (or such command doesn't exist)
        at com.android.server.wifi.WifiShellCommand.onCommand(WifiShellCommand.java:427)
        at com.android.wifi.x.com.android.modules.utils.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:97)
        at com.android.server.wifi.WifiServiceImpl.handleShellCommand(WifiServiceImpl.java:4729) at android.os.Binder.onShellCommand(Binder.java:1102)
        at android.os.Binder.shellCommand(Binder.java:1049)
        at android.os.Binder.onTransact(Binder.java:877)
        at android.net.wifi.IWifiManager$Stub.onTransact(IWifiManager.java:2138)
        at android.os.Binder.execTransactInternal(Binder.java:1285)
        at android.os.Binder.execTransact(Binder.java:1244)

Has the command been changed or removed? Otherwise, what permissions do I need to enable to make it work?

You need root access. See https://android.googlesource.com/platform/packages/modules/Wifi/+/refs/heads/android13-release/service/java/com/android/server/wifi/WifiShellCommand.java#425

Is there any other alternative way to connect to a particular network without root access?
I need to run my automation scripts

You could try an automation app from Play Store and see if on Android 13 that app is able to connect to a specific network or not. Give Automate or MacroDroid a try. I can't think of other alternatives which don't need root access.


text:
Disable Encryption without wiping data in Custom Rom
Does it possible to disable encryption in Android10+ without wiping data partition to access personal data?
(unlocked bootloader)
In other words, Can I trust custom roms to protect my data?

No, it's not possible. Formatting userdata partition to remove encryption is mandatory.


text:
Detecting screen content changes and simulating touch commands accordingly
Say there is an app that shows a red color rectangle. If the app is kept open, the color of the rectangle changes to yellow after some time. When this happens, I want to detect that a color change happened, and simulate a touch on the rectangle.
Is this possible?

Related on SoftwareRecs.SE: Android app for detecting screen content changes and simulating touch commands

You can use Automate app. (docs)

To detect changes and interact with the UI:

It's pretty self explanatory. You can record interactions and save it right away. Also it's one of the most optimised and light weight automation app I've seen so far.


text:
How to take screenshot using Power button only?
I find using Power + Vol - extremely cumbersome.
Is it possible to change this to holding Power Button? I'm on Android 10.

As you are looking for a solution to take screenshots without pressing Power+Volume Down, then you can Edge Gestures, to setup a gesture that will take the screenshot.
If your phone shows a menu when pressing the power button and the menu include taking a screenshot, you can set Edge Gestures to display the menu, then you click press on Screenshot.
If your phone doesn't show a menu when pressing the power button, you can, as an example, set its Swipe left and hold from the right edge of the screen to take a screenshot as shown on the image below.

Another solution is to use Macrodroid (or any other automation app such as Automate, Tasker, etc). Create a macro and set it up as shown on the image below. If you press the power button four times, it will trigger the action to take a screenshot. You have the choice to configure when pressing the power button either three, four or five times.

Disclaimer: I am just a user of the aforementioned apps.

You cannot remap power button without root however, remapping any hardware button is possible without root.
There are many options available like Button remapped from XDA or Magisk Module or Xposed Module (named Physical Button Master Control)
For remapping any other hardware button, I will suggest you to use Button Mapper

In the Play Store description of this app it does not list Power button as "supported button". Have you actually tried this app and managed to override  Power button?

@Firelord I've edited the answer. As far as I remember, I did that back in the days (not sure though) But on testing now I find it's not possible. Maybe this was done to fix the matter that when Button mapper was closed by battery optimiser in the background all the hardware keys stopped working. And the only way was to force reboot it by long pressing the power buttons.


text:
DNS within termux
I am using termux to synchronize files across a couple of android devices (probably use rsync later... still experimenting). Presently I use ifconfig to figure out the IP address of the devices, launch sshd and then run scp etc. However the IP addresses change every time the wi-fi connection is reset. So... what are my options within termux to map hostnames to these IP addresses? I am probably looking for something similar to a DNS server.

If the Wifi is a home Wifi most likely the full privacy mode is active for your or all Wifi networks. This means the MAC address is changing every time you connect to the Wifi and thus the Wifi can not reidentify the device and assigns a new IP address. Most devices have in developer options an entry that configure Wifi privacy mode. Change it to be persistent for each Wifi and the IP should not change every time.

@Robert thank you. I don't mind the addresses changing. I would really like to assign names to machines like we do with hosts file and DNS.

That is usually the job of the Wifi router if it also includes DNS services. The only alternative would be to install something like a DynDNS client that updates a DNS record in a DNS server every time the IP address changes.


text:
What is scrcpy OTG mode and how does it work?
In scrcpy documentation an OTG mode is mentioned. How is that working without adb and what can we do with that?

@MorrisonChang so scrcpy emulates HID. one question remains, can we use it to mirror screen without usb-debugging? or even better, to enable usb-debugging? because on android devices adb with OTG afaik not possible at same time

I'm not sure if you commented on the right post, but Morrison Chang won't receive the notification from your comment on your own post.

Which version of scrcpy OTG mode supported
It appears that version 1.24 is when it became available, but the latest version of scrcpy is probably preferred.
From: https://github.com/Genymobile/scrcpy/issues/3654#issuecomment-1369369005
How does scrcpy OTG mode work
From: https://github.com/Genymobile/scrcpy/issues/3662#issuecomment-1374404072

Nope, HID events are generated on mouse events received by SDL from X11/Wayland/…

So a desktop environment is required for operation.
Additionally,
From: https://github.com/Genymobile/scrcpy/issues/4341#issuecomment-1754765403

Scrcpy uses HID over Android Open Accessory, so there's no way it can work on iPhone.

Some more details are in the HID-OTG docs:
https://github.com/Genymobile/scrcpy/blob/master/doc/hid-otg.md
Beware that Windows may require certain USB driver configurations
As called out in:
https://github.com/Genymobile/scrcpy/issues/3654#issuecomment-1369295011
and
https://github.com/Genymobile/scrcpy/issues/3654#issuecomment-1369372860
The summarized version is that you may need to uninstall other ODM usb drivers and install Google's USB driver package.
What about mirroring the display without developer mode?
Display mirroring requires developer mode to be enabled as scrcpy:

The application executes a server on the device. The client and the server communicate via a socket over an adb tunnel.
The server streams an H.264 video of the device screen. The client decodes the video frames and displays them.

From the authors blog post: https://blog.rom1v.com/2018/03/introducing-scrcpy/
Without developer mode enabled, the PC can't copy the video server binary to the Android device.
More details on the scrcpy developer page
So what does this mean for devices with broken screens?
If you can get the Android device to connect over USB (i.e. driver issues with Windows) you may be able to use scrcpy --otg to enter pin / enable developer mode. While you will have a better chance if it is just the screen capacitive touch sensors that are damaged so you can see what is being enabled, if the screen is completely broken, it is the same problem with plugging in a keyboard/mouse as you are blind to what is going on.

You can use OTG mode to enable ADB on the device but it seems like the phone does not recognize the PC at that time as ADB client, so the ADB authorization dialog does not show up (at least not in my tests).

@Robert Thanks for the feedback. I'm wondering if you are able to enable Bluetooth keyboard/mouse and using those get through the ADB authorization dialog.

In theory yes, but in reality even on a phone with fully working screen and touch it is a challenge to open the settings menu, go to Connected devices and start the pairing sequence.


text:
Tecno F9 can't write to a TF card (SD card)
My Tecno F9 (About phone) can read the content of a TF card, but it can't write to the TF card. Even if I tried creating a directory, it won't work.

Failed to create folder, unknow error!

I even formatted the TF card, but it's still the same.
When I use a file archiver like RAR, I can write to it, but I can't write to it using the phone file manager.

For write access to sd-cards you need to grant write permission to each app that should access the sd-card. Usually this can be triggered from within the app, then the files app is displayed you you have to select the root of the sd-card and press OK, then focus gets back to the app and app has write permissions. The whole process is pretty confusing.


text:
How to IMPORT passwords to Google Chrome for Android
I would like to import my passwords from Chrome for Windows to Chrome for Android and because I do not sync any data via google account and I do not want to, how do I manage to do that. I've tried enabling the flag in "chrome://flags" but it only shows the "Export" button. If someone knows a way to fix/do that I would be very happy!
Thank you!

Related: Google Chrome Help - Cannot import passwords when using Chrome for Android


text:
What happens to apps with license verification once they’re removed from the Play Store?
I use an app that’s tied to my account, when I open it, it refuses to proceed unless I own it on the google play account I’m logged in currently. Once I’m logged in the correct account though, it doesn’t do those checks repeatedly, I assume it already knows I have a license.
What will happen if the app ever gets removed from the play store though? Will I still be able to access it with my current account?

Yes, you can access it

From Google play help App removed from Google Play Store

What happens if an app is removed from Google Play?

The app will no longer be available to download on Google Play. If you have the app installed on your device, you can continue to use the app, however you will not be able to update your app...

If an app is removed from Google Play, will the app be removed from my device?

No, the app will not be removed from your device. You can continue to use the app...

I assume second clarification refers to Play protect removing/deactivating harmful apps

From personal experience - I had purchased a scanning app (CamScanner)
that is currently banned in my country (India). I use it without any problems (irrespective of Google Play Protect being enabled or disabled). Of course, I can't update the app from Play store.


text:
Turn off emergency call quick access while the switch to turn it off is disabled
My Realme X2 (Android 11) phone, being a little old, when I press the power button, it gets pressed multiple times. I know this is a hardware issue, but I'd still like to get rid of emergency calls.
The disable app option is disabled and removing permissions does nothing.

Is there any way I can do it with ADB? I'm not planning on rooting this one yet.

I didn't find a solution, but things got annoying, so I rooted and reverted to Android 10. Victory is mine! :)

I'm looking for a better solution for this myself, for now, the best I could do (on Android 13) was change the number it calls.  For me, emergency # is 911, so I changed this to just "0".  So even if it triggers accidentally, at least it doesn't call an actual "911" number.

You can remap the power button only after rooting or even just delete the emergency SOS app. Apart from these, I don't see a way out.

I found an alternative solution using ADB from Reddit. Could you try it and let me know if it works?

For Realme devices, according to multiple Reddit users on r/Realme - Emergency SOS, the Emergency SOS app can be disabled by using ADB without the need for rooting:
adb shell pm uninstall --user 0 com.oppo.sos
adb shell pm uninstall --user 0 com.oplus.sos

(the package name should be either one of them depending on the device model)

I'm willing to, but you'll have to bring the instructions down a few steps .. what's adb? where I get that? how to run this command line on phone/app ??

@Ditto It is an interface to communicate with your device. Android Debugging Bridge. Watch any video out there, you will get it.  BTW Andrew, you wrote pm uninstall instead of pm disable. People have been trying to do what your typo suggests for ages haha

@44yu5h I usually hear about pm uninstall instead of pm disable, as also mentioned in How to uninstall a system app using adb uninstall command (NOT remove via rm or any other way)


text:
Android desktop: How to suppress the new message counter bubble on launcher icons?
Specifically on Whatsapp and Messages....
I want to completely suppress the message counter. For it to never, ever, appear.
I have played with a number of options, restarted, and can't seem to nail it.
Android 12 on a Sony Xperia phone.

They are called app icon badges.
If you are on Android 12 there must be an option in Settings > Notifications > Advanced Options > App icon badges toggle
Also if you long press the app icon > app info > notifications > App ion badges
That's that but I'm not sure about Sony Xperia specifically but as Firelord said and from this thread, I am inferring that you will need to change the launcher.
Personal suggestion: use Square Home

In Notifications, I do not have "Advanced" and cannot find any references to "App icon badges"
I have something called "Notification dots" which I just turned off globally.
Thanks for the reference to Square Home -- that looks really great! (though not going there just now)


text:
Oneplus 6 (8gb/128gb) SIM & Wifi disappears & phone reboots randomly frequently. What to do?
Oneplus 6 (8gb/128gb) worked perfectly fine from July 2018 to Nov 2022. Now, problems start appearing. There are 2 separate problems - SIM & Wifi disappear & Phone reboot at random frequency. I am not sure whether the problems are linked or not.
Important point -

Using original DASH charger since day 1, running original Battery (battery health also OK).
As the problem worsens, time between restarts reduces from 30-40 minutes to 2-3 minutes & sometimes few seconds (sometimes it restarts at Oneplus logo loading screen).
Phone feels slighlty heated up to the left of Fingerprint sensor

Kindly note -
I have tried all the troubleshooting steps-network reset, factory reset, OS downgrade etc
Nearby repair shop (DOUBTFUL) - Network IC reset, Motherboard repair etc.

DETAILED SCENARIO
In Nov 2022, Phone started randomly losing network - SIMs as well as WiFi - I changed SIM cards it started working correctly. Now after few days, the problem reappeared & frequency increased.
In Dec 2022, Phone started restarting abruptly during normal usage. It is generally coupled with NETWORK LOSS as well.
Now, I performed regular troubleshooting steps as mentioned above to no avail. Then gave phone to a trusted nearby repair shop to only temporary relief. Total 3 visits to repair shop -
1st Visit - He told that Network IC issue was there. New NW IC ₹ 2000/-
Result-Worked absolutely correctly for few hours. HAPPY!!! Then same cycle of Network Loss & Random restart & then working fine randomly & then problem again.
2nd Visit - Told that seems like 'Motherboard' problem. Repair/Refurbished MB ₹ 2500/- more
Result-Worked absolutely correctly for 48-72 hours. Elated & HAPPY!!! Flashed Lineage OS & thought everything is normal now. And demon came back again - the same cycle of Network Loss & Random restart & then working fine randomly & then problem again.
3rd Visit (April 2023)- Told that there might be some pending issue, I will check thoroughly again for 3 days & use. NO CHARGES.
Result-Got phone back after 15 days, worked fine on WiFi till it got discharged to 8-9% & I put it on charge using DASH Charger. The same cycle has again started.
I am clueless
When the phone works, it works like a charm - but suddenly, network loss & phone restart keeps happening.
Please help Stackexchange community.

Even if the device itself states a good battery health often random reboot issues are related to an old battery which doesn't provide enough current in certain situations. I would first check if the problems disappear while the device is connected to a charger.

@Robert No… The device reboots in a similar manner when connected to charger power supply.

Disclaimer: Although this may be an answer to the question "what's gone wrong?" I'll try to offer suggestions for fixes, but they may be difficult.
Based on the heat you're experiencing next to the fingerprint readerwould seem to indicate the PMIC (power management integrated circuit, see Step 8 on the iFixit guide, yellow outline) chip on that side of the motherboard. I was unable to find any wiring diagrams, but it appears from your description that they're interacting with the radio modules, which fail before the device turns off due to a power issue.
While this would take sitting down with a multimeter and circuit diagram to confirm, I think it's fairly safe to say this is a hardware issue.
Potential path to a solution: There have been some communities who have tried to enable ways of PMIC Calibration in Xiaomi Poco phones, but none that I've found doing so for the OnePlus 6.
Potential temporary solution: The only software advice at this moment would be to remain on your stock operating system if that seemed more stable, as custom ROMs have the potential to cause components to operate out of their usual bounds, but this is unlikely to be a full solution if it is truly a hardware issue.
Final solution: if it is such a hardware issue, seeking replacement of this component (or related ones, but there are a lot of power management chips on this board) would be the next step. This could, cost-wise, end up being more expensive to find and fix than getting a new phone, unfortunately.


text:
Manually moving an app back to internal storage
I am using Android 11 on a Fairphone 3. I have added a microSD card that I use as storage for apps, and have some apps installed on the SD card. But some of those apps does not work properly, these apps are reset every time I launch them (connection profile and parameters), just like if I newly installed them.
I recently installed a new app (TooGoodToGo) : which automatically installed on the SD card by default, and it always crashes at startup. I think the crash might be due to the fact it is installed on the SD card. But when I want to move it to internal storage, I have a "Insufficient space" error, despite the fact that it only weights 50MB and I have 20GB available on the internal storage ...
What is (are) the issue(s) here ? Why can't I move back the app ? Or how to install this app directly to the internal storage ? And why are some app installed on the SD card not saving anything ?
Thanks in advance for any leads you could give me on this :)

How exactly are you installing apps on SD Card?

I don't know exactly : when installing a new app from the Google Play Store, it is automatically installed on the SD card, and I don't know how to change this behaviour. A while ago I also moved some already installed apps manually, using the "move" button in the app settings.

Did you try installing after removing SD card?  It should get installed to internal storage

Well, it worked ! So the issue was indeed related to app being installed on the SD card. But I still don't understand why it doesn't work on SD card, why can't I move the app back to internal storage, and why can't I choose the default location of new apps ?


text:
Can I use Google Maps Drive mode without entering a destination and still have it control texts and music?
I have a Pixel 4XL on Android 12. I would like to get in my car and have one app that controls my hands-free texting and music like Android Auto used to. Google Maps navigation mode has the ability to do this, but only when I enter a destination. With a destination, it is great. Exactly what I need. But unless I enter my destination every single time, it doesn't work safely.
I am aware that I can put a widget that enters drive/navigation mode when pressed and have added that widget. However, it still requires me to enter a destination before it will control text and music. If I simply leave it w/o a destination there is text control but no music control.
Is there a way for Maps-Driving mode to show me my map, have the music control at the bottom, and control texting without having to enter a destination every single time?

I don't think this is truly possible with the current version of this feature (as of 5/2/23). You can enter driving mode using the "I'm driving" Assistant command or the "Driving" widget from Google Maps. While you can have the Assistant-enabled voice control features without entering a destination, it appears music controls, at the very least, are inaccessible until you choose a destination.

This works fine for me in Waze
See Screen below

The destination is not required.
It uses Google Assistant, so you can use it to call, send sms or speak your destination.
You can link in one audio player, its available through the note symbol
The map is updatable by the community, so is current
So are traffic conditions such as potholes, accidents, cops.


text:
How do you decrypt EncryptedSharedPreferences on a rooted emulator
I'm trying to put together a PoC to show that a root user can decrypt any app data that relies on the keystore.
On a rooted emulator, I installed an app that uses EncryptedSharedPreferences.
I can see that the related key in stored in /data/misc/keystore/user_0 (There are USRPKEY and USRCERT files in binary format that belong to the app).
What are the next steps to actually decrypt the EncryptedSharedPreferences xml files?
A series of shell commands to run would be helpful.
Thanks

EncryptedSharedPreferences from androidx.security uses the hardware backed AndroidKeyStore, so key extraction should not be possible, only key usage should be possible with root permissions. So I would assume the most easiest way to decrypt the shared preference is to write some Java code that requests the key from keystore and does the decryption. Then compile the code to class and dex code so that you can execute it on command-line as the user-id the app is installed to.


text:
How to get the real reasons for an incompatible app/.apk?
Play Store tells me: “Your device isn't compatible with this version.”
Aurora Store tells me: “Download Failed” “App not supported”

Why do these stores think it is not supported?
If I get the .apk package file otherwise, how can I see the list of requirements (including minimum required API level)?

(Btw, the app (de.tafmobile.mobility.leipzigmove) which raised these questions and took me hours to install runs just fine.)

Related/possible dupe: Why are some apps on the market incompatible with my device?

if you install the apk directly via adb (https://developer.android.com/tools/adb#move) it usually returns something a bit more explicative.

Some reasons why an app is incompatible can be seen from AndroidManifest.xml, others only exists in the [Play] Store configuration (such as limitations to a country, a carrier or if the app developer has just white-listed certain devices for whatever reason).
AndroidManifest.xml
Minimum/maximum Android version
Back to AndroidManifest.xml. If you decode it using a tool like apktool or Jadx-GUI you should first check the entry minSdkVersion:
<uses-sdk android:minSdkVersion="30" android:targetSdkVersion="33"/>

In this example the app is restricted to Android 11 and newer. Theoretically there can also be a maxSdkversion entry but apps that have such an entry are very very rare.
Hardware features
The next restrictions can come from uses-feature entries that are marked as android:required="true":
<uses-feature android:name="android.hardware.bluetooth_le" android:required="true"/>

There can be multiple entries for different hardware features like Bluetooth, camera and so on. If you encounter an entry that has android:required="false" the this is an optional hardware requirement, thus it should not matter if your device supports it or not. You can get the list of supported features of your phone using the command adb shell pm list features.
Required shared libraries
The next relevant entries are the uses-libraries:
<uses-library android:name="org.apache.http.legacy" android:required="true"/>

Again like for the hardware features these entries define software libraries your phone has to support. You can get the list of supported shared libraries using the command adb shell pm list libraries.
Even if this is a software requirement it is not possible on un-rooted devices to install a missing library. On rooted devices it is theoretically possible to add a missing library but often those libraries require certain hardware features or other (manufacturer specific) libraries, so adding them is usually not possible.
CPU architecture
Another very important restriction is which CPU architectures are supported by an APK. At the moment there are four relevant CPU architectures:

armeabi-v7a alias armeabi (ARM 32 bit)
arm64-v8a (ARM 64 bit)
x86
x86_64

x86 and x86_64 are only relevant for emulators, physical devices with one of these architectures were not released in the last 10 years.
You can check which architecture is supported by an APK by checking the libs folder. If this folder does not exist or has no subfolder, then there is no architecture restriction. For newer split APK you have a separate APK file with the architecture in it's file-name. In such a case the base APK files (where the classes*.dex are stored in has no libs folder).
You can check the supported CPU architectures of your phone using the command adb shell getprop ro.product.cpu.abilist.


text:
Reminders in Samsung calendar?
Whenever I add a reminder with Google (either from web interface or through assistant) it gets a reminder into my google calendar, which is not visible in Galaxy's calendar.
How can I see these reminders in both Google and Samsung calendar apps?

I think it's unlikely that the data can be shared with other vendors' apps since it's completely Google products.

@AndrewT., thats not quite true.  I use Business Calendar, and it syncs with Google just fine (both ways).

@Daniel, are you wedded to the Samsung Calendar ?

@RohitGupta fair point, I should have said that it's unlikely for different vendors to cooperate, considering they have their own apps and environment.

@RohitGupta: I'm using Samsung Calendar on my phone and watch, yes. But sometimes I add reminders on my PC via web broweser to Google Calendar which would be great to see on my phone / watch too.


text:
Playing 2 videos simultaneously
Is there any way to play 2 videos simultaneously (YouTube and browser video)? I am aware of the split screen feature, but when 1 video plays, the other stops.

TLDR: It depends on the app developer and if you are running supported hardware

So Android devices with Google Play Services didn't require the ability to identify if the device could play multiple video streams at the same time until quite recently.
While you may be able to find some high-end/flagship devices which can play multiple video streams, developers had no guarantees about device performance for supported media.
Starting with Android 11, Google added a MEDIA_PERFORMANCE_CLASS which can inform developers that they can do such things without a poor user experience.
Android devices with Google Play Services are required to comply with the Compatibility Definition Document (CDD) for the version of Android they are released with.
From the Android 11 Compatibility Definition Document

2.2.7.1. Media
If Handheld device implementations return android.os.Build.VERSION_CODES.R for android.os.Build.VERSION_CODES.MEDIA_PERFORMANCE_CLASS, then they:

[5.1/H-1-2] MUST support 6 instances of hardware video decoder sessions (AVC or HEVC) in any codec combination running concurrently at 720p resolution@30 fps.

Additionally each new version of Android updates the requirements in the CDD
From the Android 12 CDD:

2.2.7.1 Media
If Handheld device implementations return android.os.Build.VERSION_CODES.S for android.os.Build.VERSION.MEDIA_PERFORMANCE_CLASS, then they:

[5.1/H-1-4] MUST support 6 instances of hardware video encoder sessions (AVC, HEVC, VP9* or later) in any codec combination running concurrently at 720p resolution@30fps. *Only 2 instances are required if VP9 codec is present.

From the Android 13 CDD:

2.2.7.1 Media
If Handheld device implementations return android.os.Build.VERSION_CODES.S for android.os.Build.VERSION_CODES.MEDIA_PERFORMANCE_CLASS, then they:

MUST meet the media requirements listed in android 12 CDD section 2.2.7.1.

...

[5.1/H-1-2] MUST support 6 instances of hardware video decoder sessions (AVC, HEVC, VP9, AV1 or later) in any codec combination running concurrently at 1080p resolution@30 fps.

...

The Android 13 CDD has even more performance detail if the manufacturer is going to support MEDIA_PERFORMANCE_CLASS. As you can see with each version Google is trying provide more information/guidance to developers about the device capabilities.


text:
Cant change callerid option
I'm not sure if this is the right place, but using oneplus official forums didn't give any answers.
I changed my callerid to anonymous a few months ago, and i can't change it back to showing my callerId.
All guids and FAQ's show me where to find the option and change it, but the callerid button in my phone is disabled/grayed out.
I have no idea why, tried restarting the phone, disable/enable sim card, and fiddling with settings without any luck.
Has anyone here encountered anythin similar, and know how to fix this ?

My device is oneplus 10 pro
running android version 13.

Are you sure it still hides your number when calling? Because it should have been reverted to show caller id before disabling. Is it a stock Phone App?

It still hides my number, friends and family have commented on it, when i'm calling them.
The screenshot is from the settings app, not a 3rd party app.


text:
DuckDuckGo App Tracking Protection
As you might be aware duckduckgo recently launched there app tracking protection to block hidden trackers account apps in the device.
Link: app-tracking-protection
Now, I have been running this service for about 10 days, it seems to block the trackers for the other app. but I have few doubts as there are some app that never appear in trackers.

Doubts I have:

Does duckduckgo not user trackers(as it never appears in the list) or is there app whitelisted.
Does anyone know any other service similar to this.

You can check DDG's trackers using Tracker Control app. I'm assuming DDG's app uses localhost VPN to sniff traffic. In that case, only one VPN can run (Tracker Control also uses localhost VPN).

@Firelord , yes DDG's app uses localhost VPN. Thanks , I will give it a try if I can find anything


text:
Shut down button shortcut on Android TV
Can we create a shortcut (or install an app) on Android TV launcher - that would immediately shut down (or switch to standby if complete shutdown isn't possible, or open the power menu with shutdown, restart and other options, if that's possible) the device which is running Android TV? Or maybe there are some launchers for Android TV that have such button implemented?
I'm using Homatics Box R 4K Plus box with Android TV 11.


text:
Can YouTube be treated as an audio channel by the system?
I listen to podcasts on YouTube frequently, and with YouTube Premium I can turn off the screen and keep listening. Typically when audio is playing and there's an interruption - say navigation instructions or a workout app reporting lap times - the audio will briefly pause then resume once the interruption is over.
This doesn't happen for YouTube, presumably because it's not being treated the same by the system (audio channel vs. audio/video channel?), so the "high priority" audio plays overtop of the video's audio.
Is it possible to change this behavior so videos (or at least their audio) pause during these alerts? On YouTube or across the system?

Are you not using Android 12 or higher version? Documentation claims that system enforces audio fade out behavior on Android 12 and higher.

Oof, many apoloiges - this behavior is on a Pixel 6 Pro running Android 13 (TQ2A.230405.003.E1).
Looking at that documentation, it seems to still be "ducking" (making one audio stream quieter while another has focus) as opposed to pausing it temporarily, as described with "speech content": Note that automatic ducking is not performed when listening to speech content, because the user might miss some of the program. For example, if you duck playback while giving driving directions.


text:
Pixel 6/7 on Android 13 drops cell if it doesn't connect to IMS
I'm looking for some help in finding a workaround for the pixels (6 pro, 7) dropping 5g nr connection due to lack of ims registration on Android 13 and 14.

My device is running build: tp1a.221105.002

Update: also tested on tq2a.230505.002; problem persists.

Borrowed a friends Pixel 7 running android 14 and the problem still exists on even the newest Android.

Pixel 7 was a friends device running the latest.

Pixel 6 is working fine on Android 12. (I wish I could just roll back like we could in the old days...)

Test setup:
Ubuntu 22.04 desktop
Open5gs core
SRSRan_Project running on a b210, transmitting inside a Faraday cage
USB C connect to phone through Faraday Cage USB port
Running scrcpy to monitor phone visually in parallel with "logcat -b radio"

So far I've tried using the *#*#0702#*#* ims menu. I futzt around with a menu called, "Edit Ignored CarrierConfig Filter".
Tried a few registrations with a handful of ims registration related toggles.
The most promising was: ims.ims_registration_required
But it didn't fix the issue. Still getting PDU sessions and just losing connection after a few minutes.
For more details check out the GitHub logs, but in human speech; The device registers just fine according to the amf. The UE is even assigned a PDU session and I can access the internet to watch YT or ping around the network. But after 1~5 minutes (always random) the UE will use drop connect. The amf logs don't show a reregistration or UE-idle message either.
For comparison sake, I used a gold standard pixel 5 and pixel 6 running Android 12 and they work fine. Additionally, I found an S22 to try running Android 13 and that phone stays connected for hours when testing.
Before I set out to build the ims server using Kamailio, I wanted to make sure the phone didn't require it. When I move to 5g handovers I'd like to isolate the test using the RSRP to trigger by itself and not have to get lost in the ims networking handover also.
Thanks in advance for all the help!
P.S. I wrote this in a bit of a hurry. I'll make some edits around lunch.

Update:
Rerooted the Pixel 6 with tq2a.230505.002
Problem persists.
Borrowed a friends Pixel 7 running android 14 and the problem still exists on even the newest Android.

Does this commit help?


text:
How to make gmail links open in chrome, in new instance or tab?
My question is like this one, but it's 10 years old:
Links from Gmail all open in same Chrome tab
I would like to be able to open links from gmail in chrome and have it not blow away what I already have there.  That would be either a new tab or a new instance of chrome.
Can it be done?  I have a Pixel 3, so hopefully something hot off the presses is not needed.

"have it not blow away what I already have there" could you explain more about this? I assume you have turned off "Open web links in Gmail" (which was not there before 2016) from the General settings so that links are opened in the (Chrome) browser directly. However, when I tried opening links with that option turned off, Chrome opens the links from Gmail in new tabs normally.

Yes, I have gmail set to open in chrome instead of its internal browser.  In my case, if I have Chrome open with some web site displayed, when I click a link in gmail, it simply replaces what I had open with the thing from gmail.