text:
Google Hangouts v Hangouts Dialer v Voice : Which to download to call outbound?
If I desire only to make outgoing telephone calls from my Android, which must I download?

Google Voice gives you a second phone number linked to your original. You can use it to call outbound from the app. Google voice can also recieve calls as well as send and receive texts.
Google Hangouts is a messaging app. On the web version, you can call outbound. I'm not sure about the app version. You can also use it to video call, both single person and group calls.
^^My Google Hangouts menu^^
Google Dialer (If I have the correct product) seems to be just a phone management app, just like the typical "Phone" app that comes preinstalled on most phones. It gives you a dialer screen and a Google Duos video call screen as well as spam protection and caller ID. However, it doesn't look like it comes with a phone number, it uses the one from your SIM. So it'll make outbound calls, but only if you have a SIM card installed.
EDIT: Hangouts Dialer (Not Google Phone, sorry, got that wrong the first time) is a dialer for Google Hangouts (hence the name). It's a way of making phone calls without using minutes. You can call any phone number, and it shows on the receiving end the verified number connected with your device. I believe it can also be used in combination with Google Voice, using that number as your verified number.


text:
What is an effective way to backup data?
I have a ton of stuff. Some of it is very old. One bizarre issue I run into when using android is that I can't copy or even see some of the oldest files when I plug the phone to a computer and open it for transferring files.
For some reason, the computer can't read or copy some files. There is no corruption or data loss because I can browse said files on the phone, open them or send them through Whatsapp.
Which is what I did last time. I have to back up a thousand photos so I send them through WhatsApp in batches of 50. Needless to say, that was quite annoying.
Is there some effective method/software of dumping all images and videos from the phone onto anything?
Why is there such a bizarre data reading issue any way?
Do I like need the android equivalent of shadowcopy or something ?

try Adebar or adb-sync, MTP has known issues with large amount of files

I have to back up a thousand photos

For backing up photos, I would use Google Photos. It's free, and it does it automatically (if that's enabled). It also has a ton of other features like sorting by people and pets, using Google Lens to copy text in the photo, and backed up photos are accessible on the web version.
Be careful though, as deleting a picture on the web version deletes it from the synced device as well, thanks to alecxs for mentioning this.

Google = no privacy!

Not necessarily. Plus, people share a huge amount of information with Google on a daily basis -- willingly!

source: Stack Exchange

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

sort: votes


text:
How to prevent myself from accidentaly opening android ads?
So, quite often i miss the little "X" in the corner of my phone screen when trying to close an ad. It then opens in quick succession my default browser and then the play store. This process is enough to make my phone reach the end of its performance, meaning that any taps on the "Back"-Button etc. cause a few seconds of lag, causing major annoyance on my side.
Searching for solutions only yielded articles describing measures by Google reducing the likeliness of these accidental clicks by ignoring very early clicks after the ad loads etc..
But i noticed that quite often the browser opens a link starting with some kind of "ad-relay"-sounding url-names ("ad4m.at", "ad4mat.de", "ad4.adfarm1"...) and i was wondering if i could at least make my browser ask for my confirmation before sending me to the follow-up page. I am using Chrome and could not find anything like that in the settings, but i would be willing to change browsers if another one supports this feature but Chrome does not.
I would also be happy about alternative solutions to my problem, if there are any.

Block ads system-wide. 2. Avoid Google products as much as possible.

You can install a system wide ad blocker like Blockada.

Actually, i don't want to block them out completely, as i am ok with watching them to support the developers of certain apps i am using. I just don't want them to cost me as much time when i accidentally hit them again.

Try clearing defaults for your Chrome / default browser and then see if you get asked by the OS to load the ad-link in a compatible app, such as Chrome browser. If yes, you can try living with keeping your Chrome and other browser apps not set as default browser. Thereon, your OS would show you that "open with" bottom sheet every time you would click a hyperlink in an app which requires a separate browser to load it.

@WhiteMaple if you want to support developers (which we should), pay/donate them, preferably not through Play Store. Ads benefit Google more than developers. Giving a large share in everything to wealth giants like Google and Facebook, just because they are giving us some good products and platforms, doesn't make sense.

I typically use the back button. Since it's not on the screen (Samsung J3V) I don't run the risk of accidentally tapping on the ad. But there are times when the back button doesn't work, which is frustrating, and you just have to use the small X.

Good idea! Although my phone does not have a separate back button, it often shows the on-screen back button automatically during ads.

I tried it for a while and it works very well. Even if the on-screen back button does not show you can use navigation gestures like swipes on the edge of your screen to perform the "back"-command. Haven't had a single accidental ad click since.

That's great to hear!

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


text:
How to recover data when everything is locked (FRP, OEM)
Working on recovering data from phones newer than Android 8.1. The situation is this:

Customer forgot the lock (pattern/pin/...)
Because lock screen can't be opened, OEM is locked.
Can't install custom recovery (such as cwn, twrp) due to OEM lock.

It seems that the only way is to mount the hard disk which seems to be encrypted by default.
So what should be done in this situation?

Nothing........

You can do is try to brute-force the lock screen pattern/pin.

Data recovery and Screen lock by-pass are two different things. Both should be impossible due to security reasons.
Android provides official unlock solution via a Google account (not anymore). A Bonded Google account is a requirement for using Google Play App Store, which most likely every customer will have.
edit: Unfortunately Google discontinued Find My Device Unlock feature
A Google account itself has several forgotten password options. It's up to the customer to get it to work, not you.
You already have mentioned some workarounds which might have worked on some (older) devices. Let me explain a little more.

Data recovery from factory reset is not possible because of encryption.
Data recovery from FRP lock is not possible because of factory reset.
Data recovery via unlocking is not possible because the bootloader unlock triggers factory reset.
Resetting screen lock is not possible because login credentials are partially involved in calculating encryption keys. Deleted locksettings.db will destroy encryption.
Off-chip recovery is not possible because encryption is hardware bound.

However, some cracking is possible for some devices under certain conditions.
Data partition can be decrypted when:

device uses FDE full-disk encryption
full-disk encryption uses default_password
decryption is performed on this unique source device itself

Screen lock can be deleted when:

data partition is decrypted
encryption doesn't rely on login credentials

Dumping partitions on a locked bootloader is possible via:

Qualcomm EDL mode when OEM signed factory loader is leaked
Mediatek SP Flash Tool with proper Secure boot Download Agent and authentification files

Flashing on locked bootloader is possible when:

boot/recovery image is AVBv1 signed


text:
Do all Samsung devices sold in India after 2014 have e-fuse built-in? When was Samsung e-fuse Knox introduced?
I have Samsung J7 Prime bought in 2017 and Samsung J2 bought in 2016. How can I know if it has e-fuse Knox security built-in? I searched a lot but did not find any answers specifically for the Indian market.
Do all Samsung devices from 2015 have Samsung Knox Security e-fuse hardware built-in?

As far as I understand the e-fuse is an integral part of Knox, hence if your devices are on the Knox list they should have an e-fuse https://www.samsungknox.com/en/knox-platform/supported-devices

My device is in the list you given.Software support may be installed later in any devices. But i can not figure out whether E-FUSE is there in my mobile or not? Is there any way to figure out it?


text:
TeamViewer Android: how to connect in a unattended way?
My grandma is 89 years old, and I have installed TeamViewer on her Android tablet in order to remotely assist her.
But it is a problem for me to teach her understanding the screen messages, even when it is a single "Accept incoming connection? Yes/No" .
Is there any way to configure TeamViewer for Android to connect to it without any intervention on remote side?

Free(gratis) options preferred.

Pretty sure Android's embedded security pretty much prevents this from being possible without user intervention.

I believe the way it works is for you to install TeamViewer for Remote Control on your device and install TeamViewer Host on you grand mother device to allow unattended access. Test it after installing. Reading the comments, it seems it does not work on 100% on all devices.

A payment solution?

@SopalajodeArrierez Another solution is Anydesk but it also requires to accept the incoming session which won't solve your case.


text:
Sony Xperia Z1 Compact D5503 (Android 5.1.1) extremely laggy typing
Sony Xperia Z1 Compact D5503 with Android 5.1.1 os.
I got this cheap phone ~a year and a half ago.
Works well overall, but there's one problem that I had since I bought it, the typing is very slow; it's extremely laggy, I press a key, it displays the visual animated keypress for a couple of seconds until it identifies the next keypress. Then 1 more second for another keypress. This is ridiculous. In fact I still use my iPod 2G for notes and whatnot I bought in 2009 and typing works perfectly; no lag at all.
This doesn't always happen but I cannot identify the prime cause. It mostly happens when I'm typing in notes, and sometimes on the web browser. Other times web browser might work fine, messages work fine. I tried installing 'Gboard the Google Keyboard' app, in case it'd help but no. Same thing.
I didn't mind much at first because I very rarely use it, occasionally for notes. But lately I've been using it more (you don't have much to do in the army other than get a smartphone with internet and browse the web, or read, to pass the time) and I am seriously at the brink of tossing it 100 f*in metres away. I do want to get a "dumb phone" asap actually if this is not resolved.
If you have anything to suggest that would be great.

The device has a quadcore and 2GB RAM, even if old it should be not that slow. I assume because of the Android OS and it's vulnerabilities you may have accumulated a lot of malware (ad-clicker) on your device that is stealing the performance. Or you have too many XXL_apps running in background. Have you ever considered to unlock the device and install LineageOS - eg. LineageOS 16 (-> Android 9). There are no official builds, but the unofficial one seems to be relative stable: https://forum.xda-developers.com/sony-xperia-z1-compact/development/rom-lineage-os-16-0-xperia-z1-compact-t3886233

Yes, malware might have been the case. I performed the all powerful factory reset and after testing it for a couple of weeks it seems to be fine now, fast responding, no lags. It's all good.


text:
Any way to flash a custom rom without twrp recovery?( It doesn't work on my device)
I am trying to root my Galaxy Note 10.1 (sm P605). I've already upgraded the firmware with odin and flashed twrp with odin as well. Now after flashing twrp it boots normally then I switched it off and tried entering recovery mode. It shows me 'Recovery is not Seandroid Enforcing'. Now after getting this error multiple times I flashed the twrp again with auto reboot unchecked in odin. I keep getting the error again
I followed some steps on the XDA forum for this device and it said uncheck auto reboot but that I've already tried. I tried kingsroot but it just doesn't work as well.

TWRP is working fine. start from scratch and read more careful. Be aware of dm-verity, RMM protection and Vaultkeeper on newer devices (if that concerns your device). not seandroid enforcing mean your TWRP has successful switched kernel into selinux permissive mode (which is desired), nothing to worry about and unrelated to your issue

Then how to make it work? I've tried everything again from scratch but still stuck on Seandroid not enforcing.

you must boot straight into recovery after flashing. try another build https://forum.xda-developers.com/showthread.php?t=3635803

Thank you so much this one worked


text:
Help, I Accidentally Corrupted my MediaTek Preloader
Please help me, I have an Ulefone Note 7P and I wanted to upgrade my firmware, so I downloaded the latest of this ROM and I got the SP Flash Tool and followed the guide on that forum.
So after loading Scatter and everything, I pressed start. The red line loaded (I marked Preloader) and after a while, I received an error (I have forgotten the error now) and now my phone won't boot. I think I loaded the preloader halfway and now my phone won't boot, or charge, or turn on, and my computer does not recognize my phone. It just says unrecognized device.
I have installed the Mediatek VCOM Drivers many times, it does not recognize my phone, the VCOM Drivers don't even work, they say "device cannot start."
Please help me, I really need this phone to work.
Edit: Thanks for the help, i followed the guides and opened up my phone but i did not use soldering iron, i just touched around inside with my fingers and i tried to connect and it worked, luckily i already started sp flash tool and put it in download mode to install the preloader so my phone is up and running now. And i've learnt my lesson and i'm never selecting preloader ever again.

https://forum.hovatek.com/thread-11802.html

you learned lession hard way: SP Flash Tool golden rule No 1 - always uncheck preloader, No 2 - don't trust any scatter file, No 3 - Never flash "Format All + Download" or "Firmware Upgrade" *** (***except "Download Only" deny), No 4 - Do a readback first


text:
How to root a Lenovo Tab M8 FHD (TB_8705F)
I have tried to root my tablet using the one click options but wasn't successful.
Does anyone know of a way to root it?
Thank You,

try mtk-su bootless root

@alecxs Thanks for your suggestion. I will probably try this on another device I have but for the Lenovo tab M8 see my answer  since I found a solution.

Here is a solution that I found after a lot of research and trial and error.
Disclaimer I don't take any responsibility for your device follow this at your own risk!

Warning This step will factory reset device (delete all your data) Unlock your bootloader.

Turn on OEM unlocking and USB Debugging in developer settings.
On Pc do fastboot flashing unlock. For more info on unlocking please see here.

Get the firmware for your device using "Rescue and Smart Assistant"
form Lenovo's website. You will need to log in with your Lenovo ID
to be able to
Install Magisk Manager on your device.
Get the boot.img from the firmware and copy it onto your device.
In Magisk Manager click on Install and select Select and Patch File then select the boot.img you copied.
Copy the patched image back to the PC.
Flash the patched image to the boot partition with fastboot.

All Done!

please note the link is not common method for Lenovo bootloader unlock, there are several devices where one
need unlock code https://www.hardreset.info/devices/lenovo/lenovo-tb3-710f-tab3-7-essential/faq/faq/bootloader-moto-unlock-lenovo-motorola-root

I updated the link to a better tutorial. Basically its unlocked the same like most devices any online search will provide the directions.


text:
Adaptive Notifications re-enabling itself after some updates
I have a OnePlus 6T running Android 10 / OxygenOS 10.3.4. The problem I'm about to describe has, I believe, been present since the system upgrade to Android 10.

I started seeing these suggestions on various notifications - mainly from messaging apps; the above is a WhatsApp notification. I don't want them, and didn't have a clue how to turn them off because I didn't know what they were called.
Googling various related things ('suggestions', 'smart notifications', etc.) didn't get me any closer, but I eventually found some article on a feature that'd just debuted called 'Adaptive Notifications'. While it didn't mention the above behaviour explicitly, I figured this must've been it.
Switching them off (temporarily)
Sure enough, when I dug through my settings, found the option under Apps & notifications > Special app access > Adaptive Notifications, and switched it to 'None', these suggestions on notifications disappeared after a few minutes.
However, they periodically reappear after I apply a bunch of Play Store updates - and every time they do reappear, I find that 'Adaptive Notifications' has been re-enabled in my settings.
I'm unsure precisely what updates trigger this, but I'd hazard a guess at it being Play Services.
So, how do I stop this from happening?

@beeshyams I'm not sure I understand. Selecting 'Android Adaptive Notifications' makes the 'suggested actions' on notifications re-appear, which is exactly what I don't want.

Oh. OK. I thought on your device it appears different. Please ignore

I've just found out that these are called smart actions: https://www.xda-developers.com/smart-actions-set-reminders-notifications/ - still no idea how to get rid of them for good though

While this setting keeps turning itself back on after certain updates, I've finally figured out how to switch off these 'smart actions' (apparently that's their actual name - see my above comment).

As per the above, go to the Adaptive Notifications setting. Switch it on.
Go to Settings > Apps & Notifications > Notifications.
Scroll down and hit Advanced.
Scroll down to Suggested actions and replies. Switch it off.

I'd seen this setting before, but it was greyed out. The missing step was re-enabling adaptive notifications.


text:
Can i delete a message from a blocked caller. Just a certain one not all of them?
Can you delete just certain messages you get from a blocked call?

On most messaging apps, if you tap and hold on a message in any conversation, it will give you an option to delete the message. However, the deletion only occurs on your phone, not the phone on the other end.


text:
My Android 6.0 phone changes the MAC address every time I log into a WLAN; how can I stop it?
I have a rooted Cubot Max (Not Max 2) Android 6.0 phone that has an interesting habit: it changes the MAC Address every time I log into a WLAN. The WLAN MAC address usually looks like 00:08:22:xx:xx:xx. The second part is random. In the beginning, it was funny, but now I want to stop it.
I read the MAC address from Settings > About the phone > Status. There is no spoofing software on it. It seems that this is a normal reaction of hackers in China, they do not like constant MAC addresses.
Do you know if there is any secret setting there I could take a look at?

The randomization of MAC Address is a security feature of Android 6.0, the OS changes the MAC address when a background scan of the network is initiated.

When a device running Android 6.0 (API level 23) initiates a background Wi-Fi or Bluetooth scan, the operation is visible to external devices as originating from a randomized MAC address.

https://developer.android.com/about/versions/marshmallow/android-6.0-changes
Here you may find details about the randomization:
https://source.android.com/docs/core/connect/wifi-mac-randomization-behavior?hl=en

In current Android versions, each SSID has its own setting for randomization.  It is possible that this may be present in rooted Android6 as well.   To stop the randomization -

Go into Settings
Select Connections
Select Wifi (long press if necessary)
Select the SSID you want to fix it for
Once connected, press the Gear Wheel
Press on View more at the bottom of the screen
Scroll Down until you see MAC Address Type
Its a drop down, change it from Random to  Phone MAC


text:
How can I stop the status bar from hiding?
On my Samsung S10 with Nova as the main launcher, I'm noticing that for a few days now I don't have a status bar when on my home screen. The status bar is there when I'm working from inside any application, but as soon as I move the the home screen, it is pulled up somehow (literally, I see it moving up and disappearing). I can easily get it back by just swiping my finger from the top of the screen just a bit downwards which is why I don't think this is a bug or the launcher somehow covering it. But I'd prefer for the status bar to remain visible all the time.
I'm really not aware of anything I have done to cause this. I might have pressed something by mistake but I did not tinker with my phone in some meaningful way.
I tried googling this but all I get is results about how to show or hide notifications or icons within the status bar. When it comes to hiding and unhiding the status bar, I could only find development examples but as mentioned, I have never developed anything on this phone, it's also not rooted.
Some help on this would be much appreciated.

Nova has a "Notification bar" setting to hide it on the Home Screen. Look for it under "Look & feel". Change its state to experiment to taste. When experimenting, generally ONE setting at a time reduces later confusion.

@wbogacz that was it. I never set this, I guess there must be some kind of shortcut to activate this which got triggered by accident. Thanks. If you post it as an answer, I'll accept.

Nova Launcher has dozens of settings for its Home Screen layout and personalization. Included is a Notification bar setting, which allows the device owner to hide it on the Home Screen.
It can be found under the Look & feel settings.
Change the state of Show notification bar to experiment to taste.


text:
Galaxy A50 won't boot up or even try to
I was on my phone looking at twitter and then it just suddenly stopped working, i thought it was some app crash but my whole phone wasn't working, not even the power button.
I force restarted my phone and restarted it, the boot screen showed up and then disappeared.
I tried charging it but it doesn't show anything, i tried to remove the sim card, i tried to boot into recovery mode and my attempts were unsuccessful, and the screen is not the problem as my phone doesn't even vibrate after booting up.
Somehow, i got my phone working again for a couple minutes, i pressed the power button and the battery showed up (i had 45%) and the boot screen showed up, but the was stuck on that screen this time, i force quitted my phone and next thing you know my phone is still broken.
My phone has a lot of space left (50GB), it isn't very old, (i've had it for like 10 months) and the charging port is working well, i tried it on my switch and it does the job.
Any help would be appreciated.

is it by any chance physical problem like water damage (wet air or pocket) or dropped on the floor? is behavior same with keeping charger connected over night? might it be the case that it's still on but unresponsive?

No, i was staying on my phone and it just flat out froze, i was in my bed, it isn't a screen problem as i said because it turned on again for a minute but was stuck on the boot screen nor is it on because i tried to make it ring using another phone, and finally i kept it charging for over 2 hours now i'm pretty sure it's battery is full.

press Power for 30 seconds to see if there is some kind of response. or watch youtube how to disassemble in order to disconnect battery

I've looked further into the problem and it seems to be a software issue, the power button doesn't do anything, it's practically unusuable and removing the battery would be useless because the phone is already off and i could risk damaging the phone. I will go check tomorrow and go to samsung to fix it.


text:
How to change the date format within WhatsApp messages?
In WhatsApp, you see the date as DD/MM/YY or MM/DD/YY and you want it the other way around.
How to change the date format within WhatsApp messages?

WhatsApp doesn't read the date format settings from Android's date format settings, but rather it adjusts the date format depending on the language set for the Android interface.
Solution:

If you want DD/MM/YY, change the language of Android to English (UK)
If you want MM/DD/YY, change the language of Android to English (USA)

Settings > Language & Input > Language (in the phone settings)


text:
Is it possible to have shell access to Trusted Certificates
I have an Android Application that launches Python via JNI. Inside of Python I have web requets that I make, some need to be secure. I can configure the APK to be able to access a User CA certificate, but the problem comes in when trying to make a web request from Python.
If I manually copy the PEM file into my app space and load that, I can make SSL calls in python without a problem, but trying to use the OS installed credentials is where I'm having problems. Is there any way in which I can load or use the certificates that have been installed? I would need to be able to use or access them from the shell.

If you start python via JNI python is running within the app process? Anyway please note that (app+python) programming questions are better suited on stackoverflow.com. BTW: You can make a virtue out of "necessity" to add your own certificate to python: Just call it root ca/certificate pinning and you have a security feature ;)

I've posted a question to SO with no responses for a few months. I figured I'd post something here as more of a "Can I access these from outside of Java" type of thought process. Is there a folder on the device I can cat or try to load trusted certs from.  Similar to what was mentioned here
https://github.com/yan12125/python3-android/#ssltls

And yes, python is running within the app process

Directly accessing the certificate store is not a good idea as it may change in future Android versions. I would use the Java app, list all root CA certificate and convert them in a format that can be used by Python.

@Robert So once I can list all the CA, can you point me in a direction of how I would use this to create a PEM?  I see how maybe I could do it with openssl, but not sure how to do it all from java
https://stackoverflow.com/questions/652916/converting-a-java-keystore-into-pem-format

https://stackoverflow.com/questions/3313020/write-x509-certificate-into-pem-formatted-string-in-java

@Robert in running some of these things, do you know if the User Certificates are available in the KeyStore object, or do I need to access them through KeyChain?

I have not tried it but in my understanding the user certificates are automatically "mapped" into the AndroidCAStore in case the app that is requesting this store is configured to use user certificates via Network security config.

Thanks for the help. I think I have managed to get what I want working.


text:
Galaxy Note 4 "boot loop"?
I'm guessing it's called boot loop from research over the past few hours.
I switch it on, it loads the logo and phone introduction screen, the screen goes dark, it resets and then repeats.
Charges fine, works without charger. I've tried lots from Google results like take out battery, soft and hard reset, recovery boot screen: clear cache, factory reset. I've even tried installing TWRP and rooting via odin which was successful, computer recognised it via USB. I then tried installing a custom ROM and gapps which was also successful but still have boot loop issue.
Possible water damage, if so what part will be faulty?

Have you tried to boot your device while connected to the charger?

@Robert Thanks for the reply Robert, yes I have and got the same result.

How many seconds does each loop take? This allows us to guess how far your device gets it the boot process.

@Robert From fully switched off I power it on and it takes 15 seconds for the screen to come off logo and go blank, then a further 5 seconds for the first vibrate followed by a second vibrate and reset 1 second later (approx)

sounds like short circuit in power button. watch youtube how to disassemble and dry components with hairdryer. android in general does not boot on modified partitions like recovery, you need to disable dm-verity first

@alecxs Thanks, I will try this


text:
Retrieve (list of) default apps via ADB
Many of you will know (or at least have heard of) commands like adb shell pm list packages or adb shell dumpsys package to retrieve a list of apps available on your device. What I am looking for and cannot find is a command to list default apps – like what is set as default launcher, default camera, default browser etc. Not even parsing the full details of all apps via e.g. for app in $(pm list packages); do [[ -n "$(dumpsys package ${app#package:} | grep APP_BROWSER)" ]] && echo ${app#package:}; done reveals that (the command would simply list all web browsers on the device).
So how can I query for those default apps via ADB? It's fine if I have to pass the "type" (like APP_BROWSER in my example) as long as there's a reference of types available.

As of Android 10 roles are saved in /data/system/users/<user_id>/roles.xml which can be dumped using dumpsys role.

Thanks, @IrfanLatif – that's what I was looking for in dumpsys. Looks like role was added only with Q (and up), as it's not available on the Oreo or lower devices I've got here for testing (did not yet check with the Pie one as it's currently "occupied"). Any clue for what would work at least with Oreo, and ideally also below? I mean, the concept of "default apps" goes back at least to 2.x IIRC – so the system must remember them somewhere there as well. I've combed dumpsys up and down, didn't find a hint.

I don't have access to any Android release other than Q ATM. But IIRC these settings were split across multiple locations, at least /data/system/users/0/package-restrictions.xml and /data/system/users/0/settings_secure.xml. So the respective CLI tools (pm and settings) might dump the required info. Or may see the files directly if root access is available.

Thanks again! settings doesn't show them, and for pm I didn't see a corresponding parameter. What sounded close was cmd package resolve-activity -c android.intent.category.LAUNCHER – but that returns nada ("No activity found") for all I tried. I was able to identify the dialer using cmd package resolve-activity tel://123456; similarly the browser with a http URL (yields the OS (package android) if no default set, interesting) and the mail app with a mailto:john@example.com. But what actions to attempt for homescreen, assistant etc?

By "default apps", did you mean apps that the user can set from the Settings (e.g. default dialer, default camera), the default "open with" apps, or both? Other than those that are explicitly set from the Settings, most apps are set as default from calling implicit intents -- usually for specific filetype/mime or some URL schemes -- that match the intent filters registered on the apps' manifest file. Haven't researched where these values are stored in the system though.

Initially the first group (as my answer shows) – but the second group would be interesting, too. Actually, I'd say they overlap. On one of my devices, e.g. default mail resolves to k9 mail as that's the only mail app available (the other one is disabled). I even used the "implicit intent" way for the URLs I guess (without knowing its name, thanks for that!) Though when resolving via MimeTypes, that could be a long check ;)

I meanwhile found a partly resolve working with Android 7/8 and up (when the cmd package command was added):

Default dialer: cmd package resolve-activity tel://123456
Default mail: cmd package resolve-activity mailto:john@example.com
Default browser: cmd package resolve-activity http://www.example.com/
Default messenging: cmd package resolve-activity sms://123456
Default homescreen launcher: cmd package resolve-activity -c android.intent.category.HOME -a android.intent.action.MAIN

In the output, then grep for packageName= (e.g. packageName=com.android.messaging for the default SMS app). If a given action has no default set (e.g. multiple browsers are installed but none was declared to be "always used"), the action will resolve to the OS (packageName=android) to prompt the user. Side-note: if you want to check for available alternatives, just replace resolve-activity with query-activities (note it might also return a one-liner like "No activities found", especially on Android < 8).
I call this a "partly resolve" as it lacks several default apps I've no idea what activity to ask for – like the default homescreen launcher (note: just figured) or the assistant app (hints welcome!).
Thanks to Irfan Latif for pointing out a solution for Android 10 and up. Here, the role manager was added which I had already found but didn't figure how to call it via ADB. Turns out that was because all my devices are running Android < 10 (and as just said, role manager was added with Android 10), and the command would be dumpsys role (but not availabe before Android 10).

PS: Still missing something that resolves to the Contacts app, the Emergency app and the Assistant app…


text:
Periodic slow wifi pings on android despite strong signal
I have an android phone connected to my home wireless. Every other device in the house works ok with the network. Checking ping in Android adb shows some weird results:
Android:/ $ ping 1.1.1.1
PING 1.1.1.1 (1.1.1.1) 56(84) bytes of data.
64 bytes from 1.1.1.1: icmp_seq=1 ttl=58 time=1211 ms
64 bytes from 1.1.1.1: icmp_seq=2 ttl=58 time=205 ms
64 bytes from 1.1.1.1: icmp_seq=3 ttl=58 time=22.3 ms
64 bytes from 1.1.1.1: icmp_seq=4 ttl=58 time=1068 ms
64 bytes from 1.1.1.1: icmp_seq=5 ttl=58 time=62.7 ms
64 bytes from 1.1.1.1: icmp_seq=6 ttl=58 time=1109 ms
64 bytes from 1.1.1.1: icmp_seq=7 ttl=58 time=100 ms
64 bytes from 1.1.1.1: icmp_seq=8 ttl=58 time=1146 ms
64 bytes from 1.1.1.1: icmp_seq=9 ttl=58 time=138 ms
64 bytes from 1.1.1.1: icmp_seq=10 ttl=58 time=1183 ms
64 bytes from 1.1.1.1: icmp_seq=11 ttl=58 time=176 ms

I am getting periodic ping spikes. How can I figure out what is causing this?

Your output does not show every third ping is slow.  It looks like your WiFi is congested and the WiFi interface in your phone is not very good (but it could be something else) Try moving your phone close to your AP and retesting. Also try getting a task killer and killing all tasks and see if that clears the problem (which could indicate a CPU bottleneck)

I've used this phone with the router without problems until recently (last few months). I think it coincided with the update to Android 9. If I move closer to the access point, I'll end up on the 5Ghz network which works fine. Other people seem to have a similar problem. I have reinstalled the OS from scratch today using factory reset so there are minimal apps...

Sounds like an issue in the (firmware for the) radio in your phone.

Yeah, it's a nightmare as it's rendered my phone useless at home. I'm going to try a custom ROM now. Wifi strength is -65 dB with my network being the only one in the area.

Don't forget that in the 2.4 GHz band not only WiFi is located. It is free to use and therefore used by many different devices and systems. It is possible that even the Bluetooth part of your phone has an negative effect on the WiFi part.

Well that would suck. We have a few devices in the house - Firestick, Echo, another phone and a laptop. I am currently at least 10m from any of these. Installed Lineage OS 17.1 and still getting spikes but they have decreased.

Disable Bluetooth on your device and test again. Also don't forget to check for a potentially present Babyphone, video doorbell, wireless headset, wireless audiobridge. Additionally "cheap China light-bulbs" (energy saving lamps as well as LED lamps with integrated power converter from 110/230V) can cause high frequency interference.


text:
Android Encrypt with ADB install? TWRP CarbonROM
I have the following problem: I have CarbonROM 8.0 and the default /data full encryption does not work. Now I want to set it up with the ADB {Android-Bridge}... à la: adb shell recovery --set_filesystem_encryption=on
does anyone know which commands I would have to enter? alternatively, I could use the terminal in TWRP 3.4.0.0. my device: Maple, Sony Xperia XZ Premium 8242
Thank you very much.

I have removed the duplicate German part, please use English only here on stacks xchange.

you need to repair your fstab, compare userdata flags with stock ROM


text:
Where did my downloaded music on sd card go?
I downloaded all of my amazon music to my SD card to switch to a new device. So I take the SD card with all of the downloaded music put it in my new phone then sign into my Amazon music account and it says I have no fricken music downloaded. I seriously need a solution to this problem before I go ballistic because after waiting for all my stupid music to download just for it to not show up on the new phone I am frickin livid. Keep in mind it shows up in offline music on my sd card on the old device. I NEED TO KNOW

downloaded songs are stored in internal storage in encrypted form

I'm not very experienced with Amazon Music, but on other sources, when you download music to an SD card, it stays on the SD card. So most likely, your music will not appear in Amazon Music because Amazon Music doesn't know to look in your SD card for the music. If you use a file explorer, you should be able to find your music on the SD card.
If your phone doesn't come preinstalled with a file browser, ASTRO File Browser works pretty well for me. There are a lot of file browser apps out there.
There might also be an option on Amazon Music to import or show music on the device/SD card.

Amazon music hides its downloaded files. I cant find them even when trying to view them in the folders.


text:
How to find the creation date and time (aka timestamp) for a file or folder in Android?
In Android, it is simple to view the modified date and for any file or folder.  Just about any decent file manager (such as Solid Explorer) includes this functionality.
But how do you view the creation date and time (aka timestamp) for a file or folder in Android?

Birth/creation time is not standardized feature of filesystems. Android's emulated filesystem doesn't support this field. See https://android.stackexchange.com/a/209243/218526

Unfortunately, this is not possible when using Android's emulated filesystem.  Android's emulated filesystem does not store the creation date of files or folders, so there is no way to retrieve this data, as it does not exist.
(Many thanks to Irfan Latif for confirming this, and to Izzy for clarifications.)

“not possible in Android” is not precisely true. It's the limitation of filesystems and the available tools to dump info from filesystem. ext4, for instance, can have inodes larger enough to store crtime which can be dumped using debugfs tool (requires root access) as demonstrated in my answer linked in the comment. Also if you have kernel 4.11+, some tool (like this) can be used to retrieve the same info (doesn't require root). The same can be true for other filesystems

Note that Irfan's initial comment didn't say "Android doesn't support", but "Android's emulated filesystem doesn't support this field". He was pointing to what's called "external storage", ie. the sdcard file systems (for the external SD card as well as for the internal one, the latter using an emulated FAT via FUSE).

@IrfanLatif and Izzy Thank you both for the clarifications. My brain is a bit overwhelmed with life stuff right now, so please bear with me. I have a few detailed questions about what you both wrote, but I need to do more research and also have a clearer mind before I can ask the right questions.  In the meantime, I'll update the answer to be more accurate.

@Izzy and IrfanLatif I hope you choose not to delete your comments, as I think they are both very valuable and helpful.

I'd say we leave them be until you've integrated them with your answer and someone marked them obsolete ;)

Use command stat. The Access time would be the creation date time if the partition is mounted with option noatime, which is the factory default for all 3 of my android phones.
That is to say, practically, you can check file/folder creation time.


text:
Access App content [non-root] [non-debugable] [no-backup support]
Background:
I am using an app (developed by my network carrier); each month a bill is generated for my usage detail, it is a PDF file, which is only visible in app (no save, no export option). In app, there is a limitation of viewing only last three-month’s bill. I want to save generated bill to maintain history.
Scenario:
The OS of my device is android 9, non-rooted (and I do not want to root my device).
Analysis:

With some emulation, I figured-out that, app is saving these files (bills) in a (temporary) folder, which is located in /data/data/com.app.package/files/
I have also tried ADB commands e.g. run-as and adb backup but not achieve the task (application is not debugable and backup support is disabled on this app).
I also tried multi-droid app “Parallel Space” (as described in different tutorials e.g. How to View/Edit AppData on Android) but shockingly, app folder (among other apps) is not accessible (might be due to some security patches).

Question:
Is it possible to access / copy (protected) files generated by app in /data/data/com.app.package/files/?

All apps store their data in /data/data/. That's how Android's security model works. // Even if you are able to extract data (by rooting or other means), there are chances that the data would be encrypted/scrambled in some way, leaving it not meaningful to others (except the app itself). That's how apps secure sensitive data.

@IrfanLatif as I mentioned, via emulation (Nox Android Emulator [Rooted]) on PC I have checked the data and that is as per my requirement (not encrypted).

Is the app limited to your device/the used mobile network? Because otherwise you could try to make it run in a rooted emulator on a PC, then access to the files wouldn't be a problem.

@Robert that would be my first option to adopt if I don't HAVE to do my all stuff on mobile.

If you have access to a PC you may try to repackage the app using apktool and modify the app to allow backup. Additionally you could try to find the limitation to 3 bills (if the limitation is in the app, not in the server part).

@SaadBinKhalid Just confirming that taking a screenshot(s) of your bill is disabled in carrier app or insufficient for your needs.

@Robert I have also tried 'apktool' but at 'built' step, I receive so many errors (just for information: I checked detail about errors on project's site and come to know that these are reported bug, which are not fixed yet.). Secondly, 3 bills limitation is mixture of server and app; server allow app to get bills of 3 months and app delete these bill as soon as I exit / close bill.

@MorrisonChang screenshots are not disabled but insufficient for me, as bills are consist of multiple pages (5+). Secondly, I have to extract information from these bills (text information), which is not (easily) possible if I go for this method.

@Robert , I check the method you shared but extracted AndroidManifest.xml file is encrypted and can't be edit. By the way I ad d argument in your command to de-compile apk.

The AndroidManifest.xml is never encrypted. What you see is the binary xml format which can be decoded/encoded by various tools: https://stackoverflow.com/q/29669937/150978


text:
Is there a quick way to change settings on Android?
Sometimes I need to quickly change a couple of settings, which are located deep enough (3 or more levels) in the settings menu. Is there a way to do this without actually opening the settings or writing my own app (which I could probably do, but why doing something that could be done more easily, right?) to do so?
I have thought about: maybe there is something like pinning certain settings to homescreen or something like .bat files on Windows? Or maybe there are certain apps where it is possible to quickly change settings from a list or even create some settings presets?

There are apps on Play Store that can help create shortcuts. Search for "settings shortcuts" or settings app etc

@beeshyams Most of the apps just open certain categories in settings. Can't find anything that actually helps changing settings quicker. Only found this in some link on Stack Overflow. Wanted a shortcut for mono audio to start with - it requires root (weird, as long as I can change it manually). It seems like I'd better stick with manual changing for now, less time consuming than trying to tweak something to work.

Not all settings are accessible through commandline without root access. If yours are, or if your device is rooted, create a shell script and run it using Termux widget.

@IrfanLatif I will definitely give it a try, thanks for the idea

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


text:
Can I find the path of name resolution?
I'd like to know which name servers are asked for a name, when I try to connect to a local device by name. Is it possible? I have a local DNS, which mostly works fine, but sometimes not.
For example, I can ping web.home.myname (myname=an own TLD, not a real one), or I can access this site from Android browsers if I'm connected to my Wifi. But can't when I'm connected to LAN via my own VPN, although the OpenVpn server pushes DNS settings to clients.
I'd like to see what's happens when I'm using VPN, but every DNS tools are using Google's DNS, instead of local server. Even if I'm connected to my Wifi (when I can access lan devices by name).

I'm trying to explain by real examples.
I have an Asus router with stock firmware, which acts as router, Wifi AP, DHCP server, DNS forwarder, firewall, OpenVpn server and PPPOE client.
I have a server with many docker containers, including a container which runs dnsmasq. It is my main DNS, this is the only one, which can resolve the local domain names. I've configured DHCP on the router, to send the container's IP to clients as DNS server.
When my mobile connects to the AP, all apps run on this device, can access local devices by name. Because of it, I think, Android is able to use my own DNS server instead of Google's.
But... when I connect to the OpenVPN server (from the Internet), which runs on the router, I can access LAN devices by IP address, but not by name (with 3rd party firmware it works fine).
The VPN server has been configured to push the DNS settings to the clients but it doesn't work.
That's why I'd like to see, how are the names resolved, which DNS servers are asked when an app tries to access devices by name. The tried tools connect directly to 8.8.8.8, but the browsers and programs in termux app aren't, because they can access lan devices by name if the mobile is connected to the Wifi.
Ps: the mobile isn't rooted

I read your question twice but can't understand what you are asking. Can you rephrase it?

With stock Android, those Google servers are unfortunately always the default even when on WiFi (where you usually get a DNS server assigned via DHCP, but then the Google one is used as "secondary" at least). If your device is rooted, you can override that e.g. using a custom script in AFWall+ (rewriting any packages on port 53 to the name server of your choice, depending on which network you're connected to).

@Izzy also possible without root using VPN apps which intercept only DNS traffic.

@IrfanLatif theoretically yes – but in this case not: "when I'm connected to LAN via my own VPN". Only one VPN can be used at a time. So no separate VPN "which intercept only DNS traffic", sorry.

@Izzy you must be correct. I wasn't able to understand OP's situation.

@IrfanLatif - O.K., I'll try to edit the question, and explain my problem by actual examples. Please look back a little bit later!

@erc4cfcwefc when using VPN, the VPN services tells your device which DNS servers to use. From your description, that server would be identical to your router, so it should actually work – if set up correctly. I'd check the setup of OpenVPN concerning DNS, maybe it's misconfigured and hands out some "external DNS server" instead of your local one's. But that would rather be a general networking question rather than an Android specific.

@Izzy: yes, I know and with other fw (Merlin instead of stock fw) it works with the same settings. But this is just the reason, why I now asked, how to find out the real DNS server. Actually it is an older story, I often see that the name resolution doesn't work as I want, on my mobile

Just looking at the response of a DNS lookup in some cases is misleading (like in my case, where an iptables rule rewrites the request). I don't know which tools you've tried, but a network sniffer (packet analyzer) could help if you know how to work with it. I've never tried that myself, so I cannot point out details. Unfortunately, again such an app needs either root or VPN to collect the necessary details. So I'm afraid your situation requires a rooted device to test.

To me your question seems more related to router and OpenVPN configuration but for Android part you may find some of my previous answers related to DNS helpful: https://android.stackexchange.com/a/220129/218526, https://android.stackexchange.com/a/205740/218526, https://android.stackexchange.com/a/218209/218526, https://android.stackexchange.com/a/215878/218526

@IrfanLatif: the origin of the question is a router bug (Yes, I know, it is a bug in the fw). But the question is: how can I find out, which DNS servers asked by an android app when it try to resolve a host name. (packet sniffers aren't help, because they need a rooted device AFAIK)


text:
Samsung Galaxy Tab S 10.5 - how to connect device wirelessly to computer?
I should first explain that the Tab connects wirelessly to my modem\router, and thence to the internet.
Also, it connects to the computer via USB cable.
However, I cannot get it to connect wirelessly to my computer, or any other of the five desktops and laptops that make up my home network.
I must be missing something basic.
Anyone have a suggestion?
BTW: All the PCs but one are W7 Ultimate 64bit. The other is W10 Enterprise.
All are connected via gigabit hub and are fully shared with each other.
Galaxy model is SM-T800. Android is 6.0.1.
Thanks for reading.

What type of connection have you tried (what app on Android side and what settings/program on Windows)?

Thanks Robert. See my comment below to Oboe Wan Kenobe.

You cannot just use a local WiFi connection to transfer the data. It has no way of knowing you want it to. There has to be a third party of some sort telling them both to talk.
I would recommend checking out apps like this.
Or, for Android to Android, this.

Thanks for that. I wasn't aware that additional software was required for wifi file transfers.


text:
How do I identify and remove this spammy malware "Suggestion" app?
Recently these spam ads have started showing up on my phone from an app calling itself "Suggestions". I never installed this thing itself and I don't see it on the apps list.
It runs periodically throughout the day by itself. Maybe once/hour? Generally when I turn on the phone and unlock, its there. More rarely it pops up in front of the active app if I've been using the phone for a while.
Presumably it tagged along with something else I installed, but I can't recall that it started occurring at a corresponding time with any other app being added.
Generally once I minimize it, it disappears entirely.
Is there a way to identify & remove this?
The ad shown below is just an example, they vary.

While this was on the screen, I long pressed the square Android apps button to go into split screen, somehow this triggered the following site to open up:
(don't click it - just for info)
https://yourphoneboost.com/landers/external/cleaner-update/landing.html?device_name=Motorola%20o&language=en-US&device_brand=Motorola&device_model=o&uclick=17m7e8xr0&uclickhash=17m7e8xr0-17m7e8xr0-gm-sy-9z-wf0-tw3y-7a9e36#

This phone is a Motorola G4 running Android 7. The security patch level was April 1, 2018.

(click images for larger variants)

Same thing happened to me. It seems the Bluetooth auto connect app is not longer on my device or in the play store... the Suggestions popup has stopped, but I'm still getting the popups in Chrome from yourphoneboost.com Anyone know how to remove the remaining malware? I've tried three anti-malware apps and none of them found anything. Thanks

@DanielMoss maybe that's worth a separate question... wouldn't surprise me if the phoneboost spammers have more than one way to get to your phone?

It turns out to be "Bluetooth Auto Connect" that introduced this spamware-like behavior. This app had been installed for a long time but apparently only recently changed its behavior. I will find a replacement.
Thanks to a tip from @Firelord, I was able to determine the actual app (process?) by:

Pressing the main Android square recent / running apps button

Long-pressing the title bar of the "Suggestions" window.

Pressing the (i) icon which shows up after the long-press. This showed the actual app name.

FWIW, the app has been taken down from Play Store, returning 404 now. You might still be able to see the listing since you have installed it before though.

@AndrewT.aha interesting. Its gone for me too now.


text:
Music Player and Audio Recording Crashes Randomly
My Music Player can't play more than 5mins & 10sec after you stopped using the screen, same with my Audio Recorder and after the short records it stores as .3gpp.tmp which can't play on android because of the (.tmp). I was told that Nova Launcher app can help but I can't get the full details.
More Details.
Music Crashes on Boom player, Google Play music, VLC & Music player by Mobile_V5.
Yes I withdrew from Battery Optimization and it didn't work.
Model: Itel A51
Version: 6.0

Looks like you just self-answered your question: your music players get closed by Doze (battery saving feature of Android) – and you can work around that by excluding them from battery optimization.

Why are you guys confusing me here? I post an issue you ask for more details. I provide necessary details, you close the topic and show option for delete. Now I deleted and create a new one with full details your remembered I have one I created earlier. Be helpful am not always here

I didn't close your post, and as far as I can see noone showed you an option to delete. The closure of your original post was for lacking sufficient details to be answered; once edited accordingly, such a post can of course be re-opened. Maybe our [tour] can help you understand how SE sites work? // Back to topic: is exempting your music player from optimization not solving your issue? You wrote when you did so they worked – or did I misunderstand that?

I guess I don't understand the procedures. Anyway "Battery Optimization" didn't work, when I set it not to Optimize. I once saw how to do it with Nova Launcher App but can't pin the site link again.

Ah, a spelling mistake, I see. I don't know the device, but could it be a resource issue? I tried to look it up, but all I could find was a Lava A51, which seems to match what you wrote. If your device also comes with only 512M RAM, it could be the LMK (Low Memory Killer), see e.g. this question. Could you try to grab some logcat details? Our logging tag-wiki should help you with that.

I am able to find that device, please check it out: https://gadgetstripe.com/itel-a51-specs/


text:
How to unencrypt my data on a Lenovo Tab M8 FHD TB-8705F device
I'm trying to unencrypt my data on my device.
My device is rooted with Magisk Manager.
This is what I have already tried.

Uticked the box Preserve forced encryption in Magisk Manager.
Patched the boot image in Magisk Manager.
Flashed this patched boot image to my device.
Formatted userdata thru ADB.

But after this my userdata is stilled encrypted.
Thank You,
Sruly

you need to patch /vendor/etc/fstab.mt6762 see this example for userdata partition flag encryptable= and 'fastboot format:ext4 userdata'

Looking at that example I'm not sure what the encryptable= should be. There are 2 places in that example that have such a statement.

/dev/block/platform/bootdevice/by-name/userdata

@alecxs I have now another device that I'm trying to unencrypt. Even after changing the fstab.mt**** file it goes back to its original form after reboot. I tried to pull the vendor image and changed the file then re-flashed the image. It still goes back to its original state.

A/B device? Forward Error Correction?

I'm not familiar with these terms I looked at the link you provided. How can I find out if one of these reasons is my problem? If it is waht can I do about it? Thanks

i don't know, it's heavily device- and rom- dependent. Open new question with good device description and as much details as possible regarding your problem

check the universal dm-verity disabler xda thread page 90 there is some info about that


text:
Accessing list or raw data for blocked numbers?
I'm using some vendor' stock ROM but I as far as I understand it still uses Blocked Numbers Storage - com.android.providers.blockednumber, however I cant seems to find a way to export or back it up.
Is it possible with Tasker?
Is it possible with root? Any API that can get me access to it, if I have root and will set my test palceholder app as a default dialer? I'm willing to use some Xamarin template to make it work.

Blocked numbers are accessible through contacts APIs. Stock Contacts app can show blocked numbers, as well as add and remove them. Or with root access: sqlite3 /data/user_de/0/com.android.providers.blockednumber/databases/blockednumbers.db 'select * from blocked'

Huh, interesting, it is empty.

Unless you're really sure that it's using the public shared provider "Blocked Numbers Storage", there's another possibility that the Dialer app is using a its app's storage/DB for blocked numbers.

Yeah, it is possible that MIUI is a special snowflake that does that it wants.


text:
How do I access the storage of a restricted profile with adb on Android TV?
I created a restricted profile on my Android TV running Android 9, tried to access the storage of the new profile but failed, here's what I got in adb shell (current profile for the TV is the restricted profile):
mytv:/sdcard $ cd /storage/emulated/10
mytv:/storage/emulated/10 $ ls
ls: .: Permission denied
1|mytv:/storage/emulated/10 $ whoami
shell
mytv:/storage/emulated/10 $ pm list users
Users:
    UserInfo{0:Owner:13} running
    UserInfo{10:Restricted Profile:18} running
mytv:/storage/emulated/10 $ am switch-user 10
mytv:/storage/emulated/10 $ ls
ls: .: Permission denied
1|mytv:/storage/emulated/10 $ whoami
shell
mytv:/storage/emulated/10 $ id
uid=2000(shell) gid=2000(shell) groups=2000(shell),1004(input),1007(log),1011(adb),1015(sdcard_rw),1028(sdcard_r),3001(net_bt_admin),3002(net_bt),3003(inet),3006(net_bw_stats),3009(readproc),3011(uhid) context=u:r:shell:s0

The device is not rooted and su command is not available.
So how do I access the storage of a restricted profile with adb on Android TV? TIA!

1015(sdcard_rw) should be sufficient for storage, don't know why not working. Anyway, you can try mtk-su (instead su)

@alecxs Thanks for the advice! However the TV box doesn't have a MTK chip so I guess mtk-su won't work on it.

shouldn't you be able to access via /sdcard while the desired profile is active?

yes I can access /sdcard, which is /storage/emulated/0,
but I can't access /storage/emulated/10 in adb shell.

tought that depends on which userprofile is logged on and /sdcard automatically changes to /storage/emulated/10

Guess that's the case.
So is it possible to switch logged in user in adb shell to any user other than shell?

the purpose of profiles is to separate spaces, guess the only way is log in and access the current user. not sure when that symlink is created but it will most likely point to the current profile, so switch the user (on gui as usual) and open separate adb session (if that is possible for other users than 0). please note i don't use profiles and what i write are just my thoughts, not valid knowledge


text:
How to mount a tmpfs directory that would be allowed to be read and written to by any app? (root available)
I am trying to create some volatile (tmpfs) storage for my Android, to avoid clutter.
I am trying to follow the previous questions:
making manually mounted partition folders write accessible to all apps
and
How to bind mount a folder inside /sdcard with correct permissions?
The way I am doing is by adding an "init script" into a magisk "service.d" directory:
# cat /sbin/.magisk/img/.core/service.d/001-tmpfs.sh

#!/system/bin/sh
while [ "$(getprop sys.boot_completed)" != 1 ];
do
  sleep 1
done

su -mm -c mount -v none -t tmpfs -o size=4g,nosuid,nodev,noexec,noatime,context=u:object_r:sdcardfs:s0,uid=0,gid=9997,mode=0777 /mnt/runtime/write/emulated/0/Download/tmpfs-cleared-on-reboot

Seems plain and simple, only doesn't work in the sense that the folder is mounted successfully, and files disappear after a reboot, if copied there by root. But an ordinary app cannot copy anything there. FX Explorer, for example, says "Access was denied."
It does work though if I set setenforce 0, which seems to indicate that there is a SELinux problem.
The only relevant error in dmesg looks the following:
[ 3181.763111] [20200731_13:36:57.002188]@1 type=1400 audit(1596173815.897:12245): avc: denied { create } for pid=5870 comm="Thread-139" name=233339202D5370656E63657220477265656E62657267206F6E20696E7472696E7369632076732E20696E737472756D656E74616C2076616C7565732C206F766572636F6E666964656E63652C20616E6420686F7720746F2061637475616C6C79207570646174652062656C6965667320696D70726F76656420617564696F2E6D7033 scontext=u:r:untrusted_app:s0:c104,c256,c512,c768 tcontext=u:object_r:sdcardfs:s0 tclass=file permissive=0

It appears if I try to copy some file into this directory.
ls -lahZ /mnt/runtime/write/emulated/0/Download/ gives
drwxrwxrwx   2 root everybody u:object_r:sdcardfs:s0   40 2020-07-31 13:25 tmpfs-cleared-on-reboot

ls -larhtZ /storage/emulated/0/Download/
drwxrwxrwx   2 root everybody u:object_r:sdcardfs:s0   40 2020-07-31 13:25 tmpfs-cleared-on-reboot

Which is strange, because the other files in the directory have permissions like this:
drwxrwx--x   2 root sdcard_rw u:object_r:sdcardfs:s0 4.0K 2020-07-30 20:04 pdfs-scientific_papers-toread

the group is different. I am not sure whether this is related or not.
But anyway, I cannot copy anything into this directory as a normal app.
I can copy stuff there as root, and it disappears on reboot, as expected. But where is the permissions problem?
This is Android 9 on OnePlus 5t.

Great! How do I make it appear as a subfolder under Download?

That is exactly the story I am asking in this question. Moreover, the "bind mount WhatsApp" question is even linked to as "prior research" within the first three lines of this question.

what happen when you mount it uid=0,gid=1015,mode=0771 instead?

Then the group is changed into sdcard_rw, but it does not help. After this change, other apps are not just not able to write anything into this directory, but also not allowed to cd into it.

maybe the permissions on underlaying tmpfs needs also to adjusted. i recommend to try with fat32 sdcard partition first. once you figured out working permissions you can adapt to tmpfs

Why can't WhatsApp write to bind mounts? some more links Mounting portable SD card folder to internal folder (WhatsApp)


text:
Trichromelibrary was suddenly downloading from Google Play Store
From nowhere, my friend got a notification that com.google.android.trichromelibrary was downloading together with a progress bar.

Why?

From Shared Libraries on Android which explains
native code in Chrome on Android

Android L & M need ChromeModernPublic.aab
Android N, O & P need MonochromePublic.aab
Android Q needs TrichromeChrome.aab + TrichromeLibrary.apk

(Emphasis added)
Further down the page it explains what these packages do (in developer speak). So, it's perfectly safe and legit, as it is a part of Android Chrome - nothing to be worried about.
Edit: From Android Police

... Chrome no longer appeared an option in the WebView picker (found in Android's Developer Options). A Google engineer explained that Android 10 uses a new implementation called 'Trichrome':

"Chrome is no longer used as a WebView implementation in Q+. We've moved to a new model for sharing common code between Chrome and WebView (called "Trichrome") which gives the same benefits of reduced download and install size while having fewer weird special cases and bugs."

Last couple months I couldn't update Chrome and Android System WebView. Tried today and again updates couldn't be done, but this trichromelibrary was installed instead and then WebView update was finally triggered so I assume the purpose of this package is to fix these updates

Related for cleaning old Trichrome libraries // You can use Trichrome Squoosh Magisk module


text:
Names of Screens
I totally lack the terminology here, so asking to help me clarify

When I look at my note 10 I see a screen with clock, always on display. What is the name of this"screen"?
If I double tap on this screen, I get another screen that tells me to swipe to unlock. What is the name of this screen?
When I swipe, I get the login screen. This is simply called the login screen?
Now I'm logged in and I'm on the home screen? Main screen. Start screen?;)

Related Is there a glossary of Android's UI elements

When I look at my note 10 I see a screen with clock, always on display. What is the name of this"screen"?

It is commonly known as Always on Display. It is a feature commonly found in devices with AMOLED display. See its wiki page for more information on this.

If I double tap on this screen, I get another screen that tells me to swipe to unlock. What is the name of this screen?
When I swipe, I get the login screen. This is simply called the login screen?

It is recognized and called as the login screen. Developer oriented manuals however might not use this term. For example, the screen where you (the user) are required to authenticate yourself using PIN/password/pattern/biometric might be called as login prompt. But everyone understands it as login screen and the term is acceptable to both general users and power users of Android.

Now I'm logged in and I'm on the home screen? Main screen. Start screen?;)

It depends. If your device went to sleep (display turned off, either manually by the user using power button or because of screen timeout) and the user was using an app other than launcher app, the first screen you would see after unlocking the device is that last app you were using. Otherwise, if you press Home button / home gesture, than the screen you get is one of many Home screens. Home screens are part of a home launcher app. A home launcher app is one such app which manages your home screens, the contents displayed on them (such as your app and web shortcuts, app widgets, etc.), and also allows the user to access the installed apps using another screen called app launcher.

thanks, but there are no terms to separate 2 and 3?


text:
How can I configure BlueStacks to have Android use dark mode?
How can I configure BlueStacks to have Android use dark mode?
On Android 10 I can use:

but I can't see the option on Android on BlueStacks:

The simple answer is you can't.
BlueStacks 4.2 bases on Android Nougat - also known as Android 7.x and therefore there is no Dark Mode.

I know it's not the best solution, but if you are on Windows 7 or 10 (the script was only tested out on those, perhaps it works with other Windows versions newer than 7), by using this autohotkey script, written by teadrinker and other contributors, you will be able to draw multiple inverted color rectangles on the screen (as seen with the 1 and 2 regions in the 2 images below):
/*
This script works on Windows 10 with 64 and 32 bit AHK
and on Windows 7 with 64 bit AHK (but not 32 bit), if DWM is turned on (Aero theme).

Use Shift + LButton hotkey to select a new area on the screen, where colors will be inverted
Use Shift + RButton hotkey to delete the previously selected area
Use F9 hotkey to hide/show selected areas and turn off/on Shift + LButton and Shift + RButton hotkeys
*/

/*
; try uncommenting this block, if the scrit doesn't work with some needed windows

If !RegExMatch(DllCall("GetCommandLine", "Str"), " /restart(?!\S)") {
   If (A_PtrSize = 8)
      RunWait "C:\Program Files\AutoHotkey\AutoHotkeyU64_UIA.exe" /restart "%A_ScriptFullPath%"
   Else If A_IsUnicode
      RunWait "C:\Program Files\AutoHotkey\AutoHotkeyU32_UIA.exe" /restart "%A_ScriptFullPath%"
   Else
      RunWait "C:\Program Files\AutoHotkey\AutoHotkeyA32_UIA.exe" /restart "%A_ScriptFullPath%"
}
*/

#NoEnv
#UseHook
SetWinDelay 0
SetBatchLines -1
toggle := true
DllCall("Dwmapi\DwmIsCompositionEnabled", "UIntP", bool)
if !bool {
   MsgBox, 64, DWM, DWM is turned off, this script will not work. Choose the Aero theme and launch the script again!
   ExitApp
}

F9::
   toggle := !toggle
   Magnifier.ToggleShow()
Return

#If toggle
+LButton::
SelectNewArea() {
   Magnifier.stop := true
   area := SelectedArea.Start(0x82FFC800)
   if !(area.w > 10 && area.h > 10)
      Return
   timer := ObjBindMethod(Magnifier, "CreateMagnifier", area)
   SetTimer, % timer, -10
}

+RButton::
DeleteMagnifierUnderMouse() {
   DllCall("GetCursorPos", "Int64P", POINT)
   for k, gui in Magnifier.GUIs {
      if DllCall("PtInRect", "Ptr", gui.area.pRect, "Int64", POINT) {
         Gui, % gui.hGui . ":Destroy"
         break
      }
   }
}

class SelectedArea
{
   Start(colorARGB) {
      area := {x: 0, y: 0, w: 0, h: 0}
      this.ReplaceSystemCursors("IDC_CROSS")
      this.Select(area, colorARGB)
      this.ReplaceSystemCursors("")
      Return area
   }

   Select(area, colorARGB) {
      this.hGui := this.CreateSelectionGui(colorARGB)
      Hook := new this.WindowsHook(WH_MOUSE_LL := 14, ObjBindMethod(this, "LowLevelMouseProc"))
      KeyWait, LButton
      Hook := ""
      WinGetPos, x, y, w, h
      Gui, Destroy
      for k in area
         area[k] := %k%
   }

   CreateSelectionGui(colorARGB) {
      Gui, New, +hwndhGui +Alwaysontop -Caption +LastFound +ToolWindow +E0x20 -DPIScale
      WinSet, Transparent, % colorARGB >> 24
      Gui, Color, % Format("{:X}", colorARGB & 0xFFFFFF)
      Return hGui
   }

   ReplaceSystemCursors(IDC = "")
   {
      static IMAGE_CURSOR := 2, SPI_SETCURSORS := 0x57
           , SysCursors := { IDC_APPSTARTING: 32650
                           , IDC_ARROW      : 32512
                           , IDC_CROSS      : 32515
                           , IDC_HAND       : 32649
                           , IDC_HELP       : 32651
                           , IDC_IBEAM      : 32513
                           , IDC_NO         : 32648
                           , IDC_SIZEALL    : 32646
                           , IDC_SIZENESW   : 32643
                           , IDC_SIZENWSE   : 32642
                           , IDC_SIZEWE     : 32644
                           , IDC_SIZENS     : 32645
                           , IDC_UPARROW    : 32516
                           , IDC_WAIT       : 32514 }
      if !IDC
         DllCall("SystemParametersInfo", "UInt", SPI_SETCURSORS, "UInt", 0, "UInt", 0, "UInt", 0)
      else {
         hCursor := DllCall("LoadCursor", "Ptr", 0, "UInt", SysCursors[IDC], "Ptr")
         for k, v in SysCursors {
            hCopy := DllCall("CopyImage", "Ptr", hCursor, "UInt", IMAGE_CURSOR, "Int", 0, "Int", 0, "UInt", 0, "Ptr")
            DllCall("SetSystemCursor", "Ptr", hCopy, "UInt", v)
         }
      }
   }

   LowLevelMouseProc(nCode, wParam, lParam) {
      static WM_MOUSEMOVE := 0x200, WM_LBUTTONUP := 0x202
           , coords := [], startMouseX, startMouseY, timer
      if !timer
         timer := ObjBindMethod(this, "LowLevelMouseProc", "timer", "", "")
      if (nCode = "timer") {
         while coords[1] {
            point := coords.RemoveAt(1)
            mouseX := point[1], mouseY := point[2]
            x := startMouseX < mouseX ? startMouseX : mouseX
            y := startMouseY < mouseY ? startMouseY : mouseY
            w := Abs(mouseX - startMouseX)
            h := Abs(mouseY - startMouseY)
            try Gui, % this.hGui . ":Show", x%x% y%y% w%w% h%h% NA
         }
      }
      else {
         if (wParam = WM_LBUTTONUP)
            startMouseX := startMouseY := ""
         if (wParam = WM_MOUSEMOVE) {
            mouseX := NumGet(lParam + 0, "Int")
            mouseY := NumGet(lParam + 4, "Int")
            if (startMouseX = "") {
               startMouseX := mouseX
               startMouseY := mouseY
            }
            coords.Push([mouseX, mouseY])
            SetTimer, % timer, -10
         }
         Return DllCall("CallNextHookEx", "Ptr", 0, "Int", nCode, "UInt", wParam, "Ptr", lParam)
      }
   }

   class WindowsHook {
      __New(type, callBack, isGlobal := true) {
         this.BoundCallback := new this.BoundFuncCallback(callBack, 3, "Fast")
         this.hHook := DllCall("SetWindowsHookEx", "Int", type, "Ptr", this.BoundCallback.addr
                                                 , "Ptr", !isGlobal ? 0 : DllCall("GetModuleHandle", "UInt", 0, "Ptr")
                                                 , "UInt", isGlobal ? 0 : DllCall("GetCurrentThreadId"), "Ptr")
      }
      __Delete() {
         DllCall("UnhookWindowsHookEx", "Ptr", this.hHook)
         this.BoundCallback := ""
      }

      class BoundFuncCallback
      {
         __New(BoundFuncObj, paramCount, options := "") {
            this.pInfo := Object( {BoundObj: BoundFuncObj, paramCount: paramCount} )
            this.addr := RegisterCallback(this.__Class . "._Callback", options, paramCount, this.pInfo)
         }
         __Delete() {
            ObjRelease(this.pInfo)
            DllCall("GlobalFree", "Ptr", this.addr, "Ptr")
         }
         _Callback(Params*) {
            Info := Object(A_EventInfo), Args := []
            Loop % Info.paramCount
               Args.Push( NumGet(Params + A_PtrSize*(A_Index - 2)) )
            Return Info.BoundObj.Call(Args*)
         }
      }
   }
}

class Magnifier
{
   static GUIs := []
   CreateMagnifier(area) {
      static onExitSet := false
      this.show := true
      (!this.onDestroy && this.onDestroy := ObjBindMethod(this, "WM_DESTROY"))
      if !this.GUIs.Count() {
         this.MagInitialize()
         OnMessage(0x0002, this.onDestroy)
      }
      (!onExitSet && OnExit( ObjBindMethod(this, "Clear"), onExitSet := true ))
      Gui := new this.MagGui(area)
      this.GUIs[Gui.hGui] := Gui
      this.stop := false
      this.MainLoop()
   }

   MagInitialize() {
      if !this.hLib := DllCall("LoadLibrary", "str", "Magnification.dll") {
         MsgBox, 16, Error, Failed to load Magnification.dll
         Return
      }
      Return DllCall("Magnification\MagInitialize")
   }

   Clear() {
      if !this.hLib
         Return
      DllCall("Magnification\MagUninitialize")
      DllCall("FreeLibrary", "Ptr", this.hLib)
      this.hLib := ""
      OnMessage(0x0002, this.onDestroy, 0)
   }

   MainLoop() {
      while !this.stop {
         for k, gui in this.GUIs
            this.Update(gui)
      }
   }

   Update(gui) {
      area := gui.area
      params := A_PtrSize = 8 ? ["Ptr", area.pRect] : ["Int", area.x, "Int", area.y, "Int", area.r, "Int", area.b]
      DllCall("Magnification\MagSetWindowSource", "Ptr", gui.hMag, params*)
      if !DllCall("IsWindowVisible", "Ptr", gui.hGui)
         try Gui, % gui.hGui . ":Show", % "NA x" . area.x . " y" . area.y . " w" . area.w . " h" . area.h
   }

   ToggleShow(mode := "toggle") {
      static areas := []
      Switch mode {
         case "toggle":
            this.show := !this.show
            if (this.show && areas.Count()) {
               timer := ObjBindMethod(this, "ToggleShow", "timer")
               SetTimer, % timer, 100
            }
            if !this.show {
               this.stop := true
               Sleep 100
               for k, gui in this.GUIs
                  areas.Push(gui.area)
               this.GUIs := []
               this.Clear()
            }
         case "timer":
            timer := ObjBindMethod(this, "CreateMagnifier", areas.Pop())
            SetTimer, % timer, -10
            if !areas.Count()
               SetTimer,, Delete
      }
   }

   WM_DESTROY() {
      if !this.GUIs.HasKey(A_Gui)
         Return
      this.GUIs.Delete(A_Gui)
      if !this.GUIs.Count() {
         this.stop := true
         this.Clear()
      }
   }

   class MagGui
   {
      __New(area) {
         this.area := area
         area.r := area.x + area.w
         area.b := area.y + area.h
         this.area.SetCapacity("RECT", 16)
         this.area.pRect := this.area.GetAddress("RECT")
         for k, v in ["x", "y", "r", "b"]
            NumPut(area[v], this.area.pRect + 4*(k - 1), "UInt")
         this.CreateGui()
      }

      __Delete() {
         try Gui, % this.hGui . ":Destroy"
      }

      CreateGui() {
         static MS_INVERTCOLORS := 0x0004
              , exStyles := (WS_EX_TRANSPARENT := 0x00000020)
                          | (WS_EX_COMPOSITED  := 0x02000000)
                          | (WS_EX_LAYERED     := 0x00080000)

         area := this.area
         Gui, New, +hwndhGui -Caption -DPIScale +AlwaysOnTop +Owner +E%exStyles%
         Gui, Margin, 0, 0
         Gui, Add, Custom, % "hwndhMag ClassMagnifier +" . MS_INVERTCOLORS . " w" . area.w . " h" . area.h
         this.hGui := hGui, this.hMag := hMag
      }
   }
}

Here's a short video of it, but in this instance it was used only one rectangle:
https://streamable.com/m6ni9j
Please read the start of the script to see how to use it.
You can further modify the script and make itself turn off / on when certain things show up on the bluestacks android screen, but you'll have to do your own research on how to do that.
Here is the thread where the script was taken from.


text:
How do I logout from Youtube?
I have multiple Google accounts on my Android 10 (Samsung Galaxy M10s). Until today, I was using YouTube without signing in. Today I signed into YouTube with one Google account. Now I want to sign out from YouTube app but I don't find any such option.
I searched on internet and found Google Support Page which suggests to remove account from device in order to sign-out from YouYube app.
What I did:
Opened YouTube, go to manage accounts, removed the account from device, through which I have signed in YouTube; Then cleared the YouTube application data also.
But what I found is YouTube just auto signed in with my another Google account.
How do I sign out from YouTube?

I would assume that as long as one Google account is registered on your device the YouTube app will use it. The only chance I see is using a n alternative YouTube app like NewPipe available for example on F-Droid.

@Robert Yes I mostly use NewPipe. I used YouTube app for commenting on one Video.

I think it should be possible to revert to yesterday's state which is I had been YouTube without signing in.

Yes, the logout option is not available but after clearing the app data, the logout option becomes available.
Before clearing app data:

After clearing app data:

So, the solution that worked for me is: Clear the app data to make the Logout option available.

Use your browser to get onto Youtube.
Log in, using the account you want to have logged out.
Then use the 3 dot menu to sign out.
Now clear the data in your Youtube app.
(I also think that you can sign out with the settings in the Youtube app, but I can't say how as I don't use the app.)

No, Logging out from browser doesn't work.

I managed to sign out from the Youtube app by downgrading it to a lower version via adb (I used 14.39.55), signing out and reinstalling the newest version.

Force stop the Youtube app if already running
Clean its internal data and cache
Download the older Youtube app on your PC. Source: https://www.apkmirror.com/apk/google-inc/youtube/youtube-14-39-55-release/youtube-14-39-55-android-apk-download/
Connect your phone to the PC, activate developer mode and enable USB debugging. Check if adb sees the phone by typing adb devices
Install the apk via the command adb install -d 'com.google.android.youtube_14.39.55-1439552000_minAPI19(arm64-v8a)(nodpi)_apkmirror.com.apk'
Open the Youtube app. It won't be able to connect to the server, but you should be able to click on your account logo on the top right and see the “Sign out” button. Click it.
Re-update the Youtube app to the current version. You should now be logged out.


text:
Will installing TWRP wipe my device?
So I've rooted my Galaxy S10 Exynos using Magisk and now I wish to install Twrp for easier updates flashing.
Will installing TWRP on my magisk rooted device wipe my data?
Thanks

Recovery is flashed to recovery partition (or boot partition on A/B devices). Your data is stored on userdata partition. Erasing/overwriting one won't harm the other. However unlocking bootloader is very likely to wipe your data. But it seems you've been through that already.

No. TWRP is only a custom recovery that replaces your stock recovery. But be sure to flash the right TWRP for your device.
Searching in this XDA thread
using your model number
would be a good idea (On some devices it is possible that root is lost, and you may need to root again)

So I've read a little bit, and according to what I understand, updating the firmware would require me to use Odin again. So why install TWRP?

That is for you to answer! If you don't need TWRP to make nandroid backups or flash some zips, or keep changing  ROMs, you can well do without it. Personally I feel there isn't much use. It's upto you to decide

do not read a little bit, read carefully the whole opening post and make sure you understand. you will lose data and encryption support. afaik Magisk and TWRP lives in the same ramdisk, therefore TWRP should be patched with Magisk Manager (advanced settings - magisk in recovery)

nemesis-kernel might be interesting too (no button combo required for magisk) https://forum.xda-developers.com/showthread.php?t=4020121


text:
how to convert android 10 phone to a software access point
I have an android 10 device which I would like to use use as software access point. I have broadband connection landline in my home. There are some corners where signals dont reach. So I want to use my spare android phone to convert it to a software access point. If this is some how possible then please let me know. I want my phone to be connected to the exisiting wifi network at a location in which signal is comming and at the same time want to convert the phone to work as an AP.
The phone is already connected to Wifi network in my ADSL router.

What you describe is not an access point but a Wifi repeater.

For rooted device see my answer to How to use Android in Wi-Fi repeater mode by bridging Wi-Fi with Access Point?. Without root some WiFi Direct based solution may work, never tried though.


text:
Onyx Boox Max 3 - how save a web page as a pdf (chrome, default)
My Onyx Boox Max 3 ebook reader uses Android 9. There is no print option from the share menu though. I've installed a couple of web to pdf apps and can't get those to work either.  Any ideas?

btw, if anyone with a higher rating can create a boox tag I think that would be more appropriate than android

Don't you see "chrome print" in share menu? This change is discussed here https://support.google.com/chrome/thread/14151904?hl=en

@beeshyams no, it is not in the list.  I think it is something custom about the Onyx Boox setup

lobo? I'm not sure what you mean there

Ah ok! Onyx Boox is a device, it runs Android, the share option isn't available in Chrome.  I'm guessing there is a print functionality somewhere built into android that has been disabled?


text:
Bootloop and random restart issues in android (Gionee A1 plus)
My Gionee A1 plus started acting strange a month ago. It would often restart whenever I received any SMS notification and then boot up just fine. I tried using an earphone and keeping the phone in silent mode, as reducing the notification sound levels didn't help. This fixed the problem for a few weeks until 2 days ago while using my camera, it suddenly decided to restart but got stuck in a bootloop(the boot logo kept popping up and disappearing again and again). I managed to turn it off by plugging it to a charger where it went to charging mode.
After a bit of research, I entered the stock "Android recovery mode" and cleared the /cache partition but that did not fix the issue. I panicked as I did not have a twrp or any other recovery tool installed. I didn't even have USB debugging enabled. However, after a bit more strolling I found that fastboot could detect my device(after rebooting to bootloader) and then ran the command fastboot continue and my phone booted up alright. But now my phone can't use the "Ultrafast charge mode" which makes the charging process 5 times longer and the battery drains really quick. What's more the phone restarting by itself has become often(I can't even use my camera) and its always the bootloop. I have to use fastboot to boot in again.
I created a backup of my data and then did a factory reset on the device to no use.
Do I need to flash a stock ROM to my device or am I missing something? I am inexperienced in this domain so please guide me on how to fix this issue. I have attached snaps of my Recovery and Factory modes.

TLDR; phone ends up in bootloop after suddenly restarting while in use, battery drains faster, no ultrafast charging, clearing cache and factory reset doesn't help.

even more worse your backup is useless because you didn't backup metadata partition from SP Flash Tool. unfortunately this is a bug in android system recovery

Thanks for replying. I did run the root integrity check and it passed with no errors. I hadn't tried rooting my device before either.

It actually turned out to be a battery issue. After replacement, the phone works as good as new(or so it seems).

Did it suddenly started to do weird things? Can you specify the cause.
As per the mentioned details, you need to flash stock firmware from SPFlash Tool(as you have a MTK device). You can google for your firmware. And flash it while your phone is in download mode.
I too have faced many bootlops while flashing roms. So I flash stock firmware and all good.

If I recall correctly, it started when I first started using meeting applications. Sometimes I would get an echo of background noise on the loudspeaker and the phone would reboot. Now the phone just can't store any charge or so it seems. Is it possible that it is a hardware problem of some kind?

After flashing the stock ROM (SWW1617GI_0301_T5242 since I coudn't get the T6953 one) the system booted fine. But after I removed the USB cable the phone died. It wouldn't reboot anymore even if I flash it again. It doesn't even get to the recovery menu without being powered and fastboot continue doesn't help anymore. I'm beginning to doubt it's a hardware issue(probably the battery) somehow.


text:
How can I configure WhatsApp so that an email is sent to me when someone sends me a message on WhatsApp?
How can I configure WhatsApp so that an email is sent to me when someone sends me a message on WhatsApp?

You can also tell those people using Whatsapp that you prefer to receive messages via E-Mail.

Whatsapp natively does not support this, besides, it does not expose an API for other apps to use, so it's not possible. But using the notifications generated on receipt of messages, one can workaround these limitations.
automation is the way to go because, you need an action to be taken  in case WhatsApp is received from one / any senders.
Many automation apps are available. I prefer using MacroDroid , since it is free (upto 5 macros) and easy to learn. To understand how MacroDroid works, see answer here (Not affiliated to any app).
MacroDroid Setup

Give MacroDroid all the permissions it needs.

From Settings → Email account → Gmail account. Enter your account details and authenticate (MacroDroid needs to have access to be able to send you mails). Edit: As pointed out by a user you may need to use APP passwords instead of regular email password.

Create a macro as explained, name it whatever you like and save it.

Trigger: Notification → Notification Received → Select Application → Whatsapp → Text Content → Any (this will mail you for all messages received)

Make sure to uncheck prevent
multiple triggers (Edit:  As pointed out by a user if you get duplicate emails a fix could be, by checking multiple triggers YMMV)
A variant below for one contact
Notification → Notification Received → Select Application → Whatsapp → Text Content → Matches (or contains) → contact name (you can use wild cards or Regular expressions(Regex)
matching too)

Actions: Send Email → account → Email address (where you want the mail to be sent to) → Subject, copy paste

Whatsapp message from [not_title] at  [hour12].[minute][am_pm]
Message Text, copy paste [notification]
You will get mails with sender name, time stamp and textsee note as in screenshot below (Aa is a contact and I configured for a single sender)

Note:

Email  shows the text in notification, which may not be complete text, because Notifications are restricted to 500 characters . Long texts are truncated (in my tests text till see more was mailed).

Notifications need to be enabled for Whatsapp


text:
Constantly asking to reboot
My android phone (can give more details if helpful) has started to show a dialog after 1-2 minutes after booting:

Reboot to update network setting?

(My translation, network settings refers to mobile telephone network, not WIFI etc.)
There only is an OK button, and the dialog cannot be closed or ignored. And after rebooting, it shows up again after 1-2 minutes.
The problem showed up after crossing the border into another country.
Does anyone have an idea what the problem might be, and how to get this to stop?

Try manually selecting network from mobile advanced settings

Good idea. As soon as I enter that menu though, the dialog shows up again. Also also tried resetting all network settings, didn't help. BTW, it also happens when I have flight mode on...

I found out that the last system update had been downloaded, but not installed. After installing it, the error disappeared.


text:
Help Me Fix An Embarassing Mistake (Without Losing Data) :o

Sorry if the pic is too big.
I also asked this question here but haven't gotten much help and copied and pasted my question from there, so if you go there, you can skip the first post.
I have a rooted LG Tribute LGLS675516100eb running Android 5.1.1. A few days ago I was looking through some settings in Andromizer and turned the DPI setting all the way up just to see what it would do(confusing DPI for resolution:o), but it said I had to reboot for the change to take effect. I didn't want to reboot at the moment so I cancelled**. But when I rebooted to wipe the Dalvik cache a few minutes later(what I installed Andromizer for), the DPI setting took effect and now I can't get past the lock screen because the button you push after you put in the password is off the side of the screen.:laugh::o
I don't understand what these have to do with the DPI  setting but:  Also, nothing happens when you push the emargency call button so I can't use that glitch to bypass the lock screen:(.  And when I call the phone, the Call app crashes.:confused:
I want to fix it without losing data.
I tried ADB but it says "LGLS675516100eb unauthorized" with the devices command.  I thought I had USB Debugging on, but apparently I don't?
I tried Dr. Fone but It gets stuck at 99% for 10 minutes then it says "Install Model Failed", while on the phone, the firmware update(that's not actually a firmware update for this operation I assume) is stuck at 0%.
I think Tenorshare 4uKey and iMyFone would work but I won't go past the screen that says all data on the phone is about to be erased.
I'm not gonna have to send my phone to that company in Isreal that can unlock iPhones am I?:p:laugh:
**If I remember correctly,  I selected OK when I changed the setting and then the reboot notification happened when I left the page. So apparently cancelling the reboot only did so for the moment but not completely.:mad:
[End Of Pasted Portion]
Also, I tried side loading TWRP in recovery mode (in order to change the DPI setting via command line) but I got: E:footer is wrong E:Signature verification failed.

The PIN can be entered easily using a USB keyboard connected via USB OTG adapter (assuming that your Android phone supports USB OTG devices).

https://android.stackexchange.com/a/219320

https://www.xda-developers.com/scrcpy-control-android-on-pc

btw none of the tools you mentioned i personally would recommend, TWRP is the recovery tool in first place. instead of sideload just install zip from gui. you can disable signature verification in settings. make a backup before

Buy USB OTG adapter it's cheap. if you don't have TWRP you can flash system from fastboot as last option, assuming you have previously unlocked bootloader before rooting (otherwise fastboot can't be used without losing data)

I finally fixed it by flashing the ROM. I tried this before but forgot about all the extra hoops I had to go through to get it to work with my particular phone. Also I probably assumed it wouldn't work because the phone was locked.
The OTG mouse didn't work because my phone doesn't support OTG. I tried it even though it wasn't listed in my phone's specs. None of the other suggestions worked because my phone was locked.

(flashing ROM does not by-pass screen lock)

I also did a factory reset. I was wondering if I wouldn't have had to do that if I had flashed the ROM first. If what you say is true, then I still would've had to do the factory reset. Thanks for the info.


text:
Restore local WhatsApp backup after factory reset
The phone is a Samsung J7 Prime. Lately, the memory was getting full and this ended up in causing Google Play Services to stop working and crashed Google Play Store which was not available anymore. Tried cleaning and increasing the available memory and following Google guides to get back to normal to no avail. Last resort was to factory reset. I made sure to use Samsung Smart Switch and Cloud Backup after doing a local WhatsApp backup since Google Drive wasn't accessible anymore. After the reset, the shock was that the local WhatsApp backup files were all gone. Tried using several recovery software but all failed to see the deleted backup files or any deleted file for that matter. I also read that file recovery needs rooting which is not something I'm keen on doing this as the phone is not mine. What are my options at this stage and is there any possibility to get back the deleted backup files? This happened yesterday late evening and the phone hasn't been used much since.
P.S. Samsung Cloud Storage sucks as it requires 2FA and to sign in requires an SMS which is not being received (that's another issue that I'm not addressing here) and I'm not even sure if the backup files were copied to this storage in the first place.

https://android.stackexchange.com/q/208106

you are left with official restoring options, recover deleted files from device is impossible for multiple reasons

What do you mean by official restoring options? Are you referring to the methods listed in the linked post?

No, i am referring to WhatsApp-restoring-options

The only available options at this point are restoring any last backup from google drive or rooting(which needs unlocked bootloader) your phone to recover files.


text:
Downloading and installing WhatsApp for Android 2.2.1 Froyo
I have an old Android 2.2.1. It doesn't have Play Store, nor any application as Messenger, WhatsApp, or Instagram. I can't download Google Chrome either.
I'd like to download WhatsApp, but it isn't possible because when trying to install it, Google says: "there are no identifiant", but I'm connected.
How to download and install this app from another place (or make the identifiant work from Google)?

You can find old versions of WhatsApp here. Just navigate to the last (around the last) page to find versions compatible with Android 2.2.1.
BUT because those versions are too old, I am sure after you will be asked to update to a newer version. You should know that WhatsApp has stopped working on some versions of Android as stated here:

Come Saturday, February 1, 2020 (tomorrow), WhatsApp will no longer work on devices running Android 2.3.7 Gingerbread and older or iPhones running iOS 8 and older.

Specifically, as of February 1, 2020, WhatsApp will no longer support devices running Android 2.3.7 Gingerbread and older. After February 1, users will no longer be able to create new accounts or reverify existing accounts on these older Android versions.

As stated above, even if you install the old version, you will not be able to create an account or re-verify it.

Just get the older .apk file, then install it.
While registering, you will get like "This version has gone absolute on Some date", just change your phone's date and time before the given date and try to register.
I don't know whether that will work or not for registration, but it will surely work with already registered WhatsApp that has gone absolute.


text:
installing lineageOS on Huawei VNS-L31
I want to install LineageOS on my phone, Huawei VNS-L31 but I'm afraid that it couldn't be supported especially after I couldn't find it on lineage website but found some websites that claim it could be supported, I'd appreciate any help on how to install it, if possible.
Also, I'd appreciate any recommended OS that could work on Huawei VNS-L31 outside Google's and Apple's worlds.
Thank you.

I think it was in the beginning of 2019 Lineage OS dropped support for a large number of old devices. Also the downloads were removed. If there was an official Lineage OS  version for your device it is now gone.

Does this answer your question? Where to get old LineageOS ROMs?