text:
Lenovo M8 FHD - how to enter service mode on a 'wifi only' device?
Apparently theres this thing called 'service mode' or 'engineering mode' for most / some / all ? devices. Was news to me, can anyone tell me how to access this on the titled tablet without a dialer (wifi only).
Many thanks!
I tried app store - MTK engineering mode - says its made for previous versions of android - may not work, why nothing since, it was released late 2019 (or am I missing some big event!) Maybe Lenovo changed their service policies or this is to do with 'treble project'?

What do you actually want to achieve in service mode?

I want to change the volume steps (granularity)

ok, I found in /system/default.prop a setting - ro.factory_mode=0 and ro.debuggable=0. I changed both values to 1, saved, rebooted and I have some type of service mode although Iv no clue what or how to do anything with it! I have posts all over the net about trying to get more volume steps on my device, this is turning in to a royal pain in the ass. I cant use this device as a car head unit until I fix these poxy volume steps..bah humbug!


text:
Where app drops sdk version info
Long story short i used appcloner to spoof android SDK version to lower to get messenger chat heads as they were on android 10 and lower. I copied the installed app, so now i got .apk with all that info and when i install it from that file it still works. App must dropped info about android SDK into it's files, but i cannot find where. Does anyone could help me with that?
My goal is to inject this file into original messenger apk so that i could update this app from official messenger .apk

Hi, it seems you're accidentally creating a new account. Please refer to how to merge your accounts so that you can regain ownership of the question and post comments on any post under your question. Thanks.

If an app behaves differently on a higher or lower Android version, then it uses code like that (before the app has been compiled):
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M){
    // do something on Android 6+
} else {
    // do something on Android before version 6
}

Such code structures will be present in multiple classes of the app. If you want to forge the Android version in the original app you have to decompile the APK using apktool modify every occurrence of such a structure e.g. by replacing the access to android.os.Build.VERSION.SDK_INT which queries the device's Android ADK version and replace it by a constant like 29 for Android 10 and the rebuild the APK using apktool, zipalign and sign (apksigner) it and then you are ready to install the app.
Unfortunately apktool does only generate Smali code and not Java code, which makes the whole task much more difficult as Smali is very low level and not easy to read.
There may be existing programs/apps that already do such modifications in an automated way, unfortunately I don't know or use such apps.

Thing is that I managed to fool app thinking that it runs on Android 10, and copying whole installed app to another device works as well, so this info should be somewhere in files that it runs on Android 10. The goal is to copy this file and inject it into stock messenger app

@Kamkol You wrote you used appcloner (whatever that is you forgot to provide a link in your question) for that. If the app does not actually clone the app but just runs the app in a different context it is possible to forge the runtime information in memory. As I wrote the info of the current Android version is not in the app but in the process itself at run-time.

source: Stack Exchange

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

sort: votes


text:
Does android keystore and “Clear data” of the “Settings” app are related?
I am working on a system app where i am storing some sensitive data in EncryptedSharedPreference.
I realise that my app is not working as expected if I do clear data of android Settings app. That is happening because my sensitive data stored in encrypted shared preference was changing.
When I observe the encrypted_myapp_pref.xml file, I observe that encrypted value of those sensitive data is not changing. but value of key material was changing (androidx_security_crypto_encrypted_prefs_key_keyset and androidx_security_crypto_encrypted_prefs_value_keyset). Hence while decrypted my sensitive data, it gave me wrong value and that was affecting on app. When I tried the same logic with priv app or user app (without using sharedUserId="android.uid.system" it is working as expected.
So the problem is, if I am using system app with shared user id and clearing the data of settings app, on device reboot, key material of my own app changes and Encrypted shared preference will not give proper values back.

Interesting question but I'm afraid it's more development oriented, so off-topic here.

I thought stackexchange deals with android development related issues as well. Will wait for some time, else will remove the question from here. Thank you @IrfanLatif

usually only the keys got deleted, not actually data itself. this is android internals, might be a bug or it is intended, who knows? can't you instruct TEE to flush everything each time your app is running initial setup?

thanks for the reply. We confirm that it is android system bug. Actully it clears android key store. My app creates new instance of keys and hence I could see change in cryptographic keys

Should I delete this question from here?

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


text:
Android device does not display Google contacts in correct sort order
I cannot get Google Contacts to display my contacts in alphabetical order sorted by surname, with surname shown first.
The problem has existed since about a fortnight after I bought the phone almost a year ago although the operating system and the Contacts app have obviously been updated since then.
I'm currently running Android 11.1 (Oppo ColorOS 11.1) with (Google) Contacts 3.41.1.361694705 . The settings show

Display -> Sort by -> Surname
Name format -> Surname first
Edit contacts -> Default account for new contacts -> Device

... but despite the settings, Contacts shows surname first (as wanted) but always sorts in first-name order! This is true whether I access Contacts directly, or though the Phone interface.
Curiously, if, from within Signal Messenger, I go to attach a contact card to a Signal message, then Contacts displays the contacts correctly (i.e., in alphabetical order by surname, with surname shown first). And just to be clear, this is not the Signal Messenger contact list I'm talking about here; this is the complete Google Contacts list.
What is the likely cause of the problem?
Is this a well-known bug?
Where is the sorting done? On the device, as one would hope, or by having Google do it?

There's no global setting for contact sorting. The sorting is done per app (Contacts and Phone are different apps and may have different sorting logic).

Have you analyzed [m]any individual contacts to make sure the fields are parsed into the correct fields? Every once in a while I get this too, and find that some "massaging" of the names has occurred that invalidates their previous input fields. Google is never complacent with this. Manual corrections brings them back to how I like them.


text:
Here GPS tracking
I have been lured into the world of FOSS apps, apps using known trackers and loggers, DNS, and firewalls. My phone is rooted via Magisk. It's a Huawei P20 Lite. Running Havoc 2.9 and Android 9.
So I have started replacing all the Google store apps with new open-source apps found on FOSS and F-droid.
Currently, I am running RethinkDNS providing Firewall and DNS services. So looking through the resolved queries and the firewall log of RethinkDNS, I found an internal IP (used PCAPdroid for packet capture) on UDP port 53 which resolves to sodium.slp.pos.here.com.)
I have read up on Here's services which is location-based tracking for apps using HERE's SDK. My phone does not have a Google Play Store installed. I used MicroG for a while until I started moving over to other open-source apps.
Looking at the packet data, PCAPdroid does a good job of finding the apps which connect to Google's or other servers for tracking purposes. So then I go ahead and look for an alternative app on the above-mentioned app stores.
Also, I used ClassyShark3xodus and found so juicy titbits on trackers/loggers on my phone. Loggers from what I read up are not all that bad for app devs (GitHub?).
Currently, I have RethinkDNS blocking UDP traffic from unknown apps.
The following is captured via PCAPdroid.
IPProto SrcIP   SrcPort DstIp   DstPort Uid App Proto   Status  Info    BytesSent   BytesRcvd   PktsSent    PktsRcvd
17  10.215.173.1    39132   10.215.173.2    53  1051    netd    DNS Closed  sodium.slp.pos.here.com 69  527 1   1
6   10.215.173.1    59738   3.124.142.17    443 1021    GPS TCP Closed      657 120 3   3   1617287557
17  10.215.173.1    52141   10.215.173.2    53  1051    netd    UDP Closed      138 0   2   0   1617287634

Also from what I have read, and please correct me when I am wrong! This is how netd sends network-related info to other Android services requesting such network traffic.
Currently, I am blocking via RethinkDNS all GPS-related requests. Now I am not interested in any GPS service. I just want to know where my traffic is heading.
Also, I tried Bitwarden to find the origin of these requests to no avail.
Any help or info would be greatly appreciated as I want to learn how all these things connect.

I would expect a network connection by the GPS deamon to load the AGPS data. Instead of denying everything I would allow it and intercept + capture the data. Then you will see what data is actually sent.

Hi Robert. Thank you for the reply! Well I did exactly that as you mentioned. I only have a bit of networking experience. Nothing to write home about :-)
I inspected the packets captured. Yet WireShark is a complicated app. I have gone through the UDP & TCP packets. There was more info I got from those packets as suggested by you. What I did relaize is that it originates from an internal private server with a 10.#.#.# address. That is the address initiating the requests. Here is the other info I gathered from the packets. (dualstack.pra-slpposhere-2023804607.eu-central-1.elb.amazonaws.)


text:
Is there any way to force apps to use internal memory only on rooted Android device?
I have OnePlus 5T 8GB RAM + 128GB internal storage. 100GB free space is available on phone. I rooted the device.
Now, I am facing a problem regarding installing apps from Google Play Store. When I try to install any random app, it's showing

App Requires External Storage
[app name] can't be downloaded. Insert an SD card or USB storage with sufficient storage, and try again.

And also no apps are using Internal Storage for storing the data like Camera, WhatsApp, etc. I am even not able to download and see the WhatsApp images or any document shared and not able to download anything from Chrome too.
How to solve this issue?

The support link is dead and additionally it contains the term android-one. Are you sure you only rooted the device and not installed a different customROM on it? If you are running a customROM then I would assume that this is just a bug of the ROM especially as it happens on "any random app".

no Sir I haven't Installed CustomRom . I used ADB , UPDATE-SuperSU-v2.82-20170528234214 ,twrp-3.4.0-10-cheeseburger-dumpling-mauronofrio.img

The wording "External Storage" in context of android apps actually means Internal Storage /storage/emulated/0 maybe the symlink /sdcard is missing. at least it's a bit strange you tagged question Magisk but in comments it's about SuperSU

Similar issue on XDA Forum: Unable to install/update apps to internal storage


text:
Android product partition vs. vendor partition
What's the difference between product partition and vendor partition? After flashing a GSI image, product partition is missing but vendor partition is there. I am confused about where should my application be installed.
In recent releases, more partitions were created in Android: system, vendor, product, odm, and system_ext. It's hard to understand it from the official document, wish someone can help summarize it here.

The product partition is an extension of the system partition. OEMs install stock Android system image in the /system partition. The customisation they do to the Android framework is stored in the /product partition. This allows a single system image across all OEMs' devices and unique customisations in the product partition. There's a weak ABI between the system and product partition which links product to the Android framework. GSI works without product partition.
Similarly, vendor image can be generic for multiple devices with the same SoC or the same family of SoC. vendor partition contains the Board Support Package (BSPs) of the SoC. Vendor customisations are included in the /odm partition and odm is linked with vendor by a weak ABI. The vendor partition still works without odm.
See all the components of ODM.

product is an extension of the Android framework and odm is an extension of vendor modules.


text:
Android 8 confirmation before restart
Is it possible to configure Android 8 to ask for confirmation before powerdown/restart? Is that option manufacturer dependant?

isn't the selection screen for shutdown/reboot itself already confirmation dialog enough for you? just tap on back (or any area outside the popup) and the dialog dissappeares

Android does not offer this feature by itself (barring restart confirmation after applying system update).

It is possible that OEM customized ROMs or custom ROMs provide this feature. If you're device is rooted, it is possible - one way I am aware of is using GravityBox Xposed module


text:
How do I use Android Support for Hearing Aid (ASHA) on a capable phone?
I have been looking around for a demonstration of someone using the ASHA feature on an android phone, but a general google search only brings up ASHA feature being announced (from 2018) or something like this (https://www.youtube.com/watch?v=u7ZDzqC3Mak) which shows how to connect an android capable hearing aid to an android smartphone using their custom app.
I believe that ASHA feature being integrated into Android means I should be able to pair with a hearing aid without need for a custom app (correct me here if I am wrong). I have an embedded system development board which claims it can work as BLE device with an ASHA capable smartphone. I also have a Samsung Galaxy s10e which is supposedly ASHA capable (cannot find any official source confirming this, but lots of online discussions imply that s10e series supports ASHA, as well as there are some options in phone settings which makes me think it probably is). One of the only hearing aids in the market that supposedly uses ASHA claims it supports direct streaming with galaxy s10e phones (https://www.resound.com/en/help/compatibility).
If I go to Settings > Accessibility > Hearing Enhancements > Hearing Aid Support > Bluetooth Hearing Aid in my Samsung Galaxy s10e, I can see that it allows me to pair with my custom BLE device (which supposedly has BLE 5.0 and supports BLE audio streaming with android). However, if I play music on the phone after pairing, I cannot hear any output on the built in speakers, but I cannot hear anything in my BLE device either. It's possible that at this moment the BLE device does not have the required codecs for audio streaming, but that is a different question.
My main question is about ASHA streaming on the android phone. Am I correct in assuming that after pairing with my BLE device by going to Settings > Accessibility > Hearing Enhancements > Hearing Aid Support > Bluetooth Hearing Aid, I should be able to hear audio played on my phone from the BLE device, like I would on a regular bluetooth earphone? I haver been searching online for at least a demonstration of ASHA streaming or how the Bluetooth Hearing Aid support on the galaxy s10e is supposed to be used, but I cannot find anything. Does anyone here have any experience with this?

Based on this developer oriented video:
Accessible audio: Android hearing aid support and the audio framework (Google I/O'19), the speaker noted that while apps can provide enhancement to the experience, an app isn't required.
That said, if you are trying to create a ASHA compatible device, you should watch the full video, as it does point out the Android ASHA spec:
https://source.android.com/devices/bluetooth/asha
and note that testing seems more involved as the speaker at end describes 'reference device hearing aids' provided by Google and specifically calling out to use the Android Open Source Project (AOSP) codebase to ensure compatibility.
Also be aware that in the Android Compatibility Definition Document (CDD) which defines what is needed to obtain the Google Play Store that hearing aid support is optional.
From: https://source.android.com/compatibility/11/android-11-cdd#7_4_3_bluetooth

If device implementations include support for Bluetooth LE and Hearing Aids Profile, as described in Hearing Aid Audio Support Using Bluetooth LE, they:

[C-5-1] MUST return true for BluetoothAdapter.getProfileProxy(context, listener, BluetoothProfile.HEARING_AID).

So what does this mean as a end-user?
Given the quirks of Bluetooth on Android, wait for hearing aid manufacturers to provide a list and even then supporting manufacturers like ReSound have fine print:

Full streaming compatibility with Android devices requires minimum Android v10 and Bluetooth 5.0 and that functionality has been enabled by the phone manufacturer and service carrier. Accordingly, the compatibility information provided should be used for reference only. Although ReSound strives to achieve seamless device compatibilities, ReSound cannot guarantee full compatibility with all Android devices.


text:
What are android batteries PIN type?
I'm trying to determine the different PIN types of the batteries used in Android, specifically to those batteries that use flex cable.
For example;

The image above is a sample of batteries for Xiaomi phones, I'm not sure which models used it but they do have a different PIN type, I assumed that these pin types are universal and are not limited to the Xiaomi brand only.

They called it FPC Pin or FPC Connector.

even if connector fit that doesn't mean the pinout is identical


text:
Discretionary Access Control (DAC) for sockets?
How to add DAC for sockets in config.fs?
https://source.android.com/devices/tech/config/filesystem
after making user and group of non-root, using the config.fs changes as mentioned in the page, with non-root user our application creating a problem with network I/O error so read we have config for sockets as well but no example is given in that page.
Anybody has an example of adding sockets in config.fs page.

What is the specific difficulty you are querying about? I admit you have driven my attention to the page now 3 times. Is this the ultimate goal?

@wbogacz after making user and group of non-root, using the config.fs changes as mentioned in the page, with non-root user our application creating a problem with network I/O error so read we have config for sockets as well but no example is given in that page


text:
How to know the address of the dns server I m using?
Simple question but I couldn t find the answer anywhere. It is not part of ip informations and the information is not trivial when being connected to the Internet over lte.
getprop | grep dns is returning nothing.

Check in dumpsys connectivity or dumpsys netd. Se details here: https://android.stackexchange.com/a/205740/218526

busybox nslookup www.google.com if you have it

@alecxs you re confusing with Windows. It doesn t tell about the current nameserver.


text:
Do any data-recovery solutions still work on android 11?
Question: All data-recovery solutions I can find on this site are from 6 or more years ago. Similarly, commercial solutions (such as Dr. Fone) are only good up to android 4. Are there any tools or techniques that still have a reasonable chance of success on Android 11?
Background: I have an ASUS Zenfone 6 that I recently updated. After the update, I was asked for the lock pattern, which I somehow forgot (I usually use the fingerprint scanner). Without bypassing the lockscreen (or somehow reactivating the fingerprint without the lock pattern) the only option I see is to reset the phone (which I understand will delete the user partition). If it is possible to create an image or recover data after the factory reset, there is at least a chance I can recover the contacts and a few months worth of photos that defaulted to internal memory after a previous update. I know that android has encrypted the user partition by default since Android 5, so maybe recovering data is no longer possible.
Perhaps a successful method would include rooting the phone, although I don't intend to keep it rooted. At this point any method is better than no method.

How to recover a deleted file from /data partition?

Since about Android 6 all devices come with enabled user data encryption. I think since about Android 8 Google enforces that this encryption is hardware backed, which means you can't export the used encryption key and once the key has been deleted all data are gone forever.
These measures have been introduced to protect user data e.g. of a stolen device. Unless the thief knows the unlock code the device does not allow user data access.
There were a few cases were you could trick the lock screen to bypass it, however this only affects devices that were already running. If you boot the device you need to provide the lock screen PIN/password/pattern otherwise the user data encryption key is not released (the exact way this works was changed with every Android version a bit).
From the device perspective you are not the device owner unless you have authenticated using the required password/PIN/pattern. Therefore it now protects the data from any access.
There is no way to bypass this protection, otherwise a thief could do the same and in the get access to your data:
rooting: Requires an bootloader unlocked device or for an device with a vulnerability access to the UI is required. Unlocking a bootloader locked device automatically performs a factory reset which deletes the encryption key -> data gone. And that you don't have UI access to the device is obvious.

I suppose it's a good thing that my phone lock screen is more secure than my windows lock screen. There are all kinds of ways to get around that. Thank you for your answer, even if it was not what I hoped to hear. I hoped there would be an exploit out there somewhere.

If you ever enabled Google's "Find My Device", you might be able to unlock your phone by locking it there with another password. You can check if your device is listed in Find My Device. There you should be able to set a new temporary password to unlock your device. However, it seems like that's not always the case. Or that even the right password doesn't always work. But maybe it's worth a try if nothing else works.
See also this question about unlocking after locking with Find My Device.


text:
WiFi not in range
I have a Samsung galaxy S3. I used to connect it to my router via WiFi and connect to the internet. Everything was OK till I switched WiFi off and then on. It doesn't connect to the router anymore and says "WiFi not in range", But it does connect to WiFi hotspot on my other phone. I don't have the problem on my other devices.
I've tried restarting the phone and it didn't work. Any ideas?

Check the WiFi channel in the router settings. Channels higher than 11 are not allowed in every country and thus some devices don't search for them if the country is not correctly configured. Therefore it is recommended to only use channel 1, 6 or 11 to avoid problems.

If you have not changed your setup, it could be a hardware issue. You might want to check if you can still access other networks.
You may also use a Wifi Scanner application to verify that you can at least see other WiFi access points. If you don't see any other networks, then you might have issue with the WiFi in your phone.
If you do see networks, then your home WiFi might configured in a way which the phone doesn't like or support. I would have a look at you routers channels (e.g. pick one 1,6,11). Make sure you access point allows 802.11 n devices (i.e. not AC-only), since the Galaxy S3 only supports up to N.
Should it be a hardware issue and you where very determined to try and fix it yourself, you can use the resources published over at iFixit to learn how to open it and see if anything obvious is disconnected.

Just flashed the phone and it solved this. I still don't know what caused the problem, but it worked.


text:
How to load an HTML file on an SDCARD in a browser using Android 11
Background

Using a file explorer I can select an HTML file and it will start the default browser and then do its thing.
The HTML file is on an inserted SDCARD
In the browser, the HTML file takes some options and displays text relevant to those options

The reverse does not work (The Problem):

In a browser I enter the path for the HTML file shown by the file explorer
An example: the file explorer shows the path as /storage/####-####/folder/filename.html
In the browser I enter file:// then the path above (####-#### is 8 numbers in two sets of 4)
This generates the response: "Access to the file was denied: it is not readable. may have been removed, moved or file permissions may be preventing access."

There is no user code
I wish to enter the file URL within the browser so it can be bookmarked for easy future access

Android 11 uses scoped storage which means apps don't have any direct filesystem access to internal and external sdcard section. Hence the file protocol can not work on Android 11. This is why you are getting an access denied.

Robert, thank you.

I note a possible work-around. Load per Background point 1 above and "use" the result. Delete the tab in the browser.  Create a new tab and enter some key word from the URL.  Not always successful.


text:
Using DeX with two external Monitors?
I would like to replace my desktop computer with an android phone.
I only do word processing (in google docs) and internet browsing (chrome), so I figured the processing power of a new phone should be enough for that.
However, I like to write on one screen, while I read pdfs or research websites on another screen.
I have two HDMI monitors.
Can I use Samsung DeX or android desktop mode for this?
What should I look out for, when buying a phone or a suitable docking station? (I haven't seen ones with two HDMIs yet)

I don't think that this can work with HDMI because the phone can only handle one HDMI connection. With DisplayPort monitors there might be a chance as it is possible to daisy chain monitors (Phone -> Monitor1 -> Monitor2). But I don't know if Samsung Dex mode can handle multiple monitors. Have you asked Samsung support about connecting two monitors using Dex?

I have seen usb-c hubs with two hdmi outputs, but i am not sure if any phone can display two desktops using this. I am not bent on using DeX, android desktop or any other solution would be fine, as long as it works. Will contact samsung and let you know what they say.

I'm curious, what does Samsung say about this?

At the time the official answer was that it was not supported, but that was one year ago. Haven't followed up with them since I ended up buying a notebook. However there are some workarounds like this: https://r1.community.samsung.com/t5/samsung-dex/dual-monitor-output-for-dex/td-p/14136930


text:
What is my overseas Hardware and how to Flash it?
My phone was bought online and it came from overseas. Various benchmarks have determined that my phone's Android system and hardware does not match the description given on the site or the About Phone section. The About Phone section says my system is an Android 10 and that I'm running an eight core processor with 12 gigs of RAM and 512 gigs of an internal storage.
The various benchmarks determines that I'm running Android 8.1. That I have less than 1 gig of RAM and only 8 gigs of internal storage and a 4 core processor.
I cannot get a clear-cut picture of my entire system to be able to Flash it properly. Is there an app or a website system that isn't going to charge me, that can determine any of the specifics that I need so that I can Flash a new ROM or Find and Flash for me?
I have done every possible search that I know of considering that I am not all that fluent with this area. Most of the benchmarks say that I'm running an Alps manufactured machine. But I can't verify that they are the manufacturer or that they even have manufactured a phone. So I really need some help. Any help that can be given, I would be greatly appreciative

Looks like you got a forged phone. Reclaim your money and send the commerce platform the info that the seller is a fraud.

So you're saying there's no way to find out what the hardware is so that I can find the proper ROM in flash it. I don't know that just seems a little anticlimactic considering I know what software can do.

Well it was your decision to buy an non-name phone from an dubious oversea vendor. Even if the hardware would have been as specified the software of such products is always a problem.

And not one of that can argue with. But I still think that I can find some apps somewhere that will give me the information that I need about the current hardware that is machine takes up and be able to compile a ROM or find a ROM that will work. So really I don't know if I'm missing anything or not because I'm sure if I find the right parts and a can assemble it then it should work right?


text:
How can we avoid folders auto-creation?
There's a way to manage these system folders?
I am struggling with some folders that are automatically created at boot, by system on the SD card, but I don't want them!
The folders are especially the following: LazyList, LOST.DIR
Into the latter I have found several, also big, files, and I don't want to waste the storage, maybe, with duplicated or deleted files.
There's a way to better manage, or even better, completely avoid it?
Thank you... as always!

LOST.DIR is created by FAT family of filesystems when filesystem check performs a recovery. LazyList might be created by some apps for image caching. Both cannot be avoided.

EUREKA! I have found a way!
After some deep "Guru meditations" I have had a "flash of a genius"... and found the way!
It relates to the file system itself.
The rule is that where it is a file with a given name in a folder, there cannot coexist a folder with the same name, so, if you, after the deletion of the folder, create a file with the same name, that folder cannot be created anymore!
.
So, if you want to get rid of an auto creating folder, just create a file,
and if you want to get rid of an auto creating file, just create a folder,
with the same name, in the same path.
.
The file or folder will substitute one the other, and voilà, you could avoid the creation of the almost useless folders, even included LazyList and LOST.DIR, and whatever else you want!
Man vs Filesystem: 1-0

It's good that it worked for you. But the entity creating the file/folder may simply run rm -rf before creating the new one, unless you make the file/folder immutable some way.

It is possible, but why to literally format a card using that command and deleting Everything, since it happens in the root directory?

I meant rm -rf LOST.DIR or rm -rf LazyList, not deleting everything. I thought that's understood. And I'm not talking about a person deleting those directories. The app or the fileaystem driver which is creating a directory (by calling mkdir) can also simply delete that file (by calling unlink) before creating the new one, unless the file is made immutable.

Sorry for my misunderstanding, sir. I'm a newbie here, accept my apologies.
Please help me to better understand: if that entity calls, in order: chattr -i name --- rm -rf name --- mkdir name, we have lost our battle for sure? Thanks!

No need to apologize, everyone is learning here. No. The correct statement is: "if that entity calls, in order: rm -rf name; mkdir name, we have lost our battle for sure". If we have set immutable flag by running chattr +i name, then rm -rf name won't succeed. Instead chattr -i name; rm -rf name; mkdir name would be required to create new file/directory.

Giuseppe Uranya Di Terlizzi ᎓ I'm a bit surprised that the solution you proposed satisfies your needs, because in the end it pretty much amounts to the same thing, in the sense that you still have the same number of undesirable entries in your root folder (regardless of whether they're files or folders). A lot of people don't carecare (or even know, lol — lots don't) exactly what's in their root folder


text:
Is the memory card still recoverable?
I had a memory card that was almost full, and recently when I was working with it, it suddenly crashed. The memory card was completely clean and looked like a new memory card. So the problem is not the connections.
I own a Samsung Galaxy. Normally, When I insert the SD card inside, it says "Preparing SD Card (Checking for errors)" and then a few seconds later it becomes available to use.
But when I insert this memory card into the device, the device does not show any reaction.
Neither message nor anything, the device is completely indifferent to its entry and exit.
I do not know if there was any important data in it or not, but I know it would be better if it could be retrieved.
Is the memory card still recoverable?

Usually Android is not good in reading sd-cards that are not working 100%. Using the card in an USB-SD-Card reader connected to a PC there is a very small chance that some data may get accessible. But often such sd-cards are not recognized at all or shown with a total size of 0 bytes (e.g. in Windows Disc Management).


text:
Where does Keepass2Android store its password files?
I've been using Keepass2Android for a while. I try to store my files in DropBox so I can access across multiple devices. I have noticed that somehow I have some copies of my mypasswords.kdbx file that are listed as being in the content://. I've searched around and can't find mypasswords.kdbx file anywhere on my phone.
In desktop KeePass, I can synchronize two password files that have the same master password, but this doesn't seem to work in Keepass2Android.
Does anyone know where content:// is located?

As far as I know Dropbox synchronized keepass2android files are kept in the app internal memory (only accessible with root permissions). content:// is a scheme that is defined by keepass2android and seems to allows to specify the file-name when you open the app.

Do you know where content:// exists?  I can't find it with total commander.  I've tried searching for "mypasswords*"  When I search for *.kdbx it seems to find a bunch of stuff that isn't a keepass file.  I've tried the stock files app  on my Samsung phone and it doesn't work either.  I've also tried connecting my phone as as drive but it doesn't work either.

content:// does not exist at all, it is an activity implemented by the app itself that accepts this as a parameter (defined in it's AndroidManifest.xml). If you use a content:// url when starting the app the app gets this just like a command-line parameter on a command-line application.

My file that's just in content:// is the one in OneDrive. I know this because there's a password in there that's not in the file I actually want to be using, in gdrive://(username)/(filename).kdbx. I opened the OneDrive file from OneDrive into KeePass2Android, and there was the password.

content:// is where Keepass2Android keeps its local password database(s). You can't access it, maybe you can see it if you root your phone. I think it's safest to choose [3-dot menu] > Settings > Database > Export database... and control where it makes a copy.
Keepass2Android has a way to synchronize with an external .kdbx. For those who want to manually synchronize (e.g. you're using Keepass2Android Offline), I've created an issue to add the steps to its documentation, and my issue has the steps that worked for me.


text:
Android: route USA device traffic over France device mobile network
I'd like to know how to best achieve the following: Use my Android phone in the USA as if I were navigating the internet from my Android phone in France.
I'm already able to accomplish simple HTTP proxying by connecting all the mobile devices via a Wireguard server and running the Every Proxy app on the France Android phone.* However some apps don't respect proxy settings so I'm looking for a more robust option.
I assume apps have no choice but to respect VPN settings, so my plan is to force all traffic from the US device over the Wireguard interface (AllowedIPs = 0.0.0.0/0), instruct the Wireguard server to route traffic from the US device to the France device, then set up the France device to enable routing and masquerading so that the US phone reaches the France mobile network.
I don't know how to accomplish the last task (enabling routing and masquerading on the France device.) Can it be accomplished? It seems that I'll need to root the device. Is it as easy as doing
iptables -F -t filter
iptables -P FORWARD ACCEPT

according to this post?
Any tips? Thanks!

ProxyDroid claims to force all app traffic through a proxy on a rooted device however I'm not sure it works well and I didn't really want to root the US device. Some apps which I want to observe might check whether they are on a rooted device and act differently.
*In the HTTP proxying setup, Wireguard clients are only routing LAN traffic over the VPN (AllowedIPs = 192.168.1.0/24)

@Tom-yan I'm probably giving up on this, the Android routing is too complex. Instead I will USB tether the Android device to a Raspberry Pi and do the routing on plain ole Linux with Wireguard. ProxyDroid did get me closer, but I did quickly notice that some apps did not work properly.

IP forwarding can be enabled with sysctl; iptables might have never been enabled / blocking forwarding or any traffics. (Speaking of that, the kernel you use needs to have the iptables components built.)
Another key is to either perform SNAT/MASQUERADE on the France device with the POSTROUTING chain of the nat table.
Also make sure you stop using AllowedIPs = 0.0.0.0/0 on the France device. Instead you list the subnet(s) the other devices are in.

Don't expect to work really well anyway as there are often layers of NAT for a mobile device already. Also Android routing is a bit different and it has its own security feature whatsoever (like VPN doesn't cover tethering devices, so there might be more work to be done, if possible at all.


text:
Is it possible to automate a complex task without using apps or rooting? If not, which is recommended?
So, we are part of a company that provides VPN services to retailers. One of our clients doesn't want to have their employees open up the VPN and login every time they turn the device (an Android tablet) on. This involves opening up OpenVPN, putting in credentials and clicking the Connect button. Is this possible natively, without rooting - opening up an app and putting in credentials automatically - or do I absolutely need an external app? If so, which app is the most recommended in this case?

The implementation of your VPN app is a bit bizarre. Why does it force its user to login every time? It can save a token for the authenticated user credentials and use that token to auto-login every time the app is opened up. Even opening the app is not necessary. Always-on VPN Android functionality can also be utilized if the user should always be using VPN so long as the device is used by them.

Hello @Firelord♦, we use OpenVPN, it doesn't force the user to login every time, but the retailer wants it to press the "connect" button automatically. You know what I mean? It has to auto start and auto connect.

OpenVPN is an open source protocol. There are many free and commercial products for almost every OS which use this protocol. You mean you use OpenVPN Android Client app? You can develop a simple OpenVPN based app of your own which behaves the way you want it. Both OpenVPN and Android's VPNService API are open source.


text:
WhatsApp update erased the chat history. What has gone wrong and is there any way to restore it?
Seems like WhatsApp update has erased all my WhatsApp history. Is there any way to get it back? (Without paying for third party tools, if possible)
I bought a new Android phone (Realme 7 Pro) and wanted to transfer my WhatsApp data from the old iPhone to the new Android phone. Seems like there is no way to do it easily so I had to buy a third party app that helped me to transfer the data.
I connected both phones using USB, the app read WhatsApp messages from my old iPhone, then installed WhatsApp on my new Android phone and imported all the messages. After the successful migration I deleted WhatsApp on my old iPhone and all seemed to be fine.
Then I was experiencing certain problems with WhatsApp and got a suggestion that I might need to update it. I then found WhatsApp in Play Store and there was a button reading "Install" on it. I got a bit surprised about why it says "Install" rather than "Update" but I thought that's just the way it is on Android. I then downloaded WhatsApp and got 2 WhatsApps on my desktop. I tried running the new one and it asked me to confirm the number. I then closed it and wanted to open the old one and realised that it was gone...
I don't have backup of my WhatsApp history on iCloud either so I can't get it from there.
I have previously backed up my iPhone using iTunes though so I might be able to get something from there, but still wondering what has gone wrong on my Android phone. How could WhatsApp installation just completely bin everything from the previous version?..
Thank you very much for any information/suggestions :)

I was lucky enough to have my iTunes backup that I had done just few days ago before the disaster, and I managed to get my chats from there which I am extremely happy about. And the reason this all happened to me was that the WhatsApp the third-party tool installed to my phone (the tool I used to transfer WhatsApp history) wasn't the official version, and I was supposed to backup the history to Google Drive before I update the app (install the official one), but I missed that bit of the instruction and wasn't aware that it wasn't the official version of WhatsApp...


text:
Put Termux environment on external SD card
Following this answer, I formated my sdcard as ext4-fs.
Then tried mounting the sdcard into termux home as the link above says
mount /dev/block/mmcblk1p2 /data/data/com.termux/files/home/ext4-fs

I get error mount: bad /etc/fstab: No such file or directory
I could only mount the partition with root using su command, only then the mount command doesn't give error.
Mounting the partition with su from terminal or with app like Link2Sd (which also uses root) makes the mount point (i.e where the partition is mounted) unreadable for Termux.
What am I missing?
He (the author of the answer above) even went further to create a symlink to Termux $PREFIX using another terminal app which is impossible without root also as thus also not readable by Termux which even complicates everything
I think this should be possible, what am I doing wrong pls

That's expected. mount never works without root (or at least CAP_SYS_ADMIN to be more precise). Mounting a filesystem is a privileged action not meant to be performed by ordinary users. // You need to set proper permissions; owner, group, mode and SELinux context on the mount point to make it accessible to non-privileged apps like Termux. Run ls -lZ . in Termux HOME directory to get these parameters.

Hi @Irfan thanks for looking to my question. Changing the   owner, group to uid of Termux (gotten from id command) and also chmod 777 doesn't help. I get Permission denied. What's that with SELinux context, please any help will be appreciated

I had the same problem. The problem was SELinux. I resolved by installing "The SELinux Switch" and then putting in the "permissive" mode. Now I can mount with root and access in Termux WITHOUT root!


text:
Is it possible to securely factory wipe a phone directly after encrypting it?
I would really like to make my phone more secure. But at the same time I want to be able to factory wipe it any time. I'm afraid that factory wiping could brick the phone/makes it unusable. So is it safe to wipe the phone directly after encrypting it?

"I'm afraid that factory wiping could brick the phone/makes it unusable". What makes you think so?

How old is your phone? Only very old phones allow to enable encryption. All the newer models are encrypted by default without the option to disable it.

If your concern is about data security l, I'm assuming you are using a modern phone which still gets updates. All modern android devices have encryption by default. Factory reset is enough.

Phones delivered with or since Android Lolipop, which came out in 2014, are encrypted by default. Android uses full disk encryption, same as Apple's iOS. This means that every block is encrypted, not just specific files, but also the meta information which describes where is what.
A factory reset will clear the decryption key used to access the data and descriptive information. So once you perform factory reset, it is effectively wiped, as none of the data blocks can any longer be accessed without that key, its practically random data.

I'm afraid that factory wiping could brick the phone/makes it unusable

This is not an uncommon operation. Factory resets are frequently used by diy people installing their own custom ROMs. It is also standard practice when reselling or disposing a phone. It is likely a very well tested feature, since it a user accessible feature.

be aware of bugs. Android 7 not encrypted: Moto E4 plus XT1770, Galaxy Tab A 9.7 SM-T555


text:
Wake screen by touching screen (not pressing power button)?
Is there a way to wake/unlock my screen by touching the screen itself and not by pressing power the button?
In other words, I want the screen's backlight to turn off after a certain amount of time, and then turn on when I touch the screen.

It needs kernel level support. A feature called double tap to wake up does exactly that, except it needs double tap (to prevent screen waking up on accidental single taps). I don't think single tap to wake is a feature that would be demanded by users so you probably have to find the kernel patch that works for double tap, tweak it for single tap, rebuild the kernel with your patch and see if it works. And, double tap to unlock feature also exist with a particular implementation on XDA.

@Firelord Yeah, it seems the "double tap to wake" feature depends on one's hardware.


text:
Where does Google Pixel take caller ID from?
I made an outbound call to a business today and the caller ID displayed was that of a completely unrelated business in a different geographical location (so would have a different (UK) area code).
Does Google perhaps pull this data from business profiles on the search engine and how can I report the inaccuracy?

Phone by Google app (which is the default Phone app on Google devices) uses data from Google and its licensors.
In the Caller ID setting (Settings - Caller ID & spam), Google put a disclosure,

Data being used in these features is provided by Google and its licensors. Learn more about business listings data.

The listed licensors are:

France, Germany, Netherlands, Belgium, Denmark, Israel, Luxembourg, Monaco, and Morocco: Kapitol S.A. (trading as Infobel) (the "Infobel Content")
Brazil: TeleListas S/A
Turkey: Turkey Yellow Pages (Yellow.com.tr)
Kenya: Yellow Pages Kenya Ltd (www.yellow.co.ke)
Egypt: Egypt Yellow Pages Limited (yellow.com.eg)
Saudi Arabia: Al Wahda Express Saudi Arabia (www.daleeli.com)
Bulgaria: New Europe Directories Bulgaria EOOD (www.goldenpages.bg)
Norway: Digitale Medier 1881 AS (www.1881.no)
Italy: SEAT Pagine Gialle SPA (www.paginegialle.it)
Republic of Ireland: Central Index (www.centralindex.com) and YourLocal.ie, trading names of Touch Local Ltd
Czech Republic: Zlaté Stránsky (ZlateStransky.cz)
India: INFOMEDIA Yellow Pages (www.yellowpages.co.in) and/or IndiaCom (www.indiacom.com)
New Zealand: Finda
Slovenia: Monolit informacijski sistemi d.o.o
Taiwan: HongKu Info Co. Ltd. www.ipeen.com.tw

It is also mentioned that

If you know that your business listing is supplied by [...] and you have any questions about it, you should contact them directly.

For data provided by Google, it should be possible to report them by finding the related business listing first, then following the steps on Edit business information in Google Maps or Report data or content errors on Google Maps.


text:
Why does Android make hotspots with a different subnet mask than a regular home router?
For example, we typically get 192.168.1.XXX addresses from a home router, but an Android phone gives out addresses on another 192.XXX which makes it problematic for connecting devices with each other in the same house.
Why does it do that? If it's only for security reasons, can it be reverted to use the home router's subnet?

Which hotspot mode are you talking about? When the phone has "Wi-Fi hotspot" enabled, it is usually not connected to your home Wi-Fi in the first place (...because its Wi-Fi radio is busy acting as the hotspot). Is this the mode you mean?

The private IP address range use by mobile hotspot and your router is of no relevance unless you have a device that has can establish two [Wifi] network connections at the same time.

Note: This answer also applies to Apple iOS and other operating systems, which have hotspot (tethering) capability.
The WiFi or cellular network you connect to, is usually IP wise under the management of that networks DHCP server. It controls who get which IP. If your phone joined that network and would start handing out IPs that are "owned" by that network, you would over time run into an IP conflicts.
To solve this you could "bridge" those two networks, allowing your tethered devices to request an IP from the original DHCP server. But this will often fail, especially in cellular networks, as you will only be entitled to a single IP on that connection.
So for maximum compatibility, operating systems will use NAT when deploying hotspots (tethering). NAT hides the facts that your phone is sharing its connectivity with additional devices, allowing them to access the Internet.

...can it be  reverted to use the home router's subnet?

Technically you could, but those networks would remain separate thanks to NAT. You would end up with two 192.168.1.xxx which could not talk to each other. If you need your devices to talk to each other, your best option is to connect them to the same WiFi network. This will work best with private networks, as many public/Hotel WiFi might prevent this behavior.

Your phone is not connected to your router when the hotspot is enabled. It creates its own network and makes cellular data available over WiFi to devices on that network. Even if changing the IP range to 192.168.1.* would be possible, it wouldn't make a difference, because your router's network and phone hotspot's network are two different networks.


text:
How to show all apps on an Android phone?
I had a Huawei Mate 9 before, and there was an icon at the bottom-center of the screen, so that when I tap it, it shows all apps on the phone. (It is running the latest Android it can, which I think is Android 9 and EMUI 9.1)
However, I just got a Xiaomi Redmi 9, and there seems to be no such icon (it is running Android 10 and MIMU 11). I can only slide the desktop left and right.
Is the standard Android interface actually to show all apps by default on the desktop (and is slide-able, like on an iPhone), and so there is no need to have that bottom-center icon, and we actually can see all apps on the phone just by sliding the desktop left and right?

Note that what you describe of your new phone is proprietary behavior implemented by Xiaomi. Other Android devices don't work this way. On recent Google phones there is also no icon to show all apps, instead you can swipe from the bottom up to open this list. If you don't like the launcher behavior you can simply change it by installing a different launcher app from Play Store.

That icon in your earlier phone launched a screen commonly known as "App Drawer". I think Xiaomi's default launcher does offer app drawer. It offers two skins. One is more like iphone style, one is traditional Android style. Try long pressing in empty space on your homescreen and see if you get any option to customize settings. Look into it. If you get a relevant option, fine then. Else, you've got to change your launcher app. Nova Launcher and many other launchers offer a direct button for app drawer.


text:
How to stop screen from coming on with intermittent charging
I know we have this very old question and answers
How to keep screen turned off when plugging charger?
but why isn't this implemented by Android?
My scenario is that I use my phone for navigation on my bike, and it's connected to a hub dynamo charger.  The charger output isn't buffered so it will stop charging if I go too slowly (a hill or traffic lights, etc), and then start again when I'm up to speed.  This can cause the screen to come on a lot.  Ideally I would like to disable this behaviour.
What's the current best solution and why doesn't Android have a check box to disable this annoying behaviour?

One of the earlier answers on this recommend using Snoozy. However it's no longer on Google Play, so you have to load the APK directly from the website mentioned.


text:
How can I clean flash Moto C Plus (xt1723) rom?

Where can I find a legit Moto C Plus xt1723 (EU) rom and how can I make sure it's good?

Is there a way to clean flash without removing TWRP?

What's the simplest way to do it?

How can I then root it?

There are at least 3 questions here: 1) finding ROM (off-topic) & make sure it's good (opinion-based), 2) clean flash (on-topic), 3) root (on-topic). Please focus on 1 question per post.


text:
SMS not received on new Android
I just purchased a new Moto G Power (Android version 10) and replaced my old iPhone 6s backup phone. When I put the Sim card in, everything worked except incoming SMS. Outgoing SMS worked fine, just not incoming. I figured it might be related to the Apple account and iMessage, so I found a link that would disconnect from iMessage. I saw on a website that it might take a few hours to take effect, so I was patient about it.
That happened yesterday afternoon (around 3 PM). It's quite a few hours later and I am still not receiving incoming SMS on my device. When I put the Sim card in the iPhone messages come in, and they come in as SMS rather than iMessages. So I'm not sure why it's not going to the Android device.
Does anyone have any recommendations for next steps?

You need to reach out to your carrier's support team...
If you can send SMS and make/receive calls, then the issue likely isn't with your device. SMS uses the same transport and registration as is used for phone calls, so this likely falls on your carrier.
This has occasionally been an issue with some carriers when users are switching from Apple to Android, and a new SIM has to be issued sometimes.
Reaching out and working with the carrier's support team is probably best at this point.


text:
Turn OnePlus 3 on with broken power and volume buttons
As title suggests, I'm looking for a way to turn my OnePlus 3 on but I have the following issues:

Volume buttons do not work
Power button does not work
USB debugging is not enabled
Phone is currently off...

Any ideas?

Off means "display off" or "phone has been shut down"?

There appears to be no obvious workaround to power on your device, if neither your power button or volume button work.
You might be able to revive your buttons with some isopropyl alcohol and intensive button pressing. On the old Nintendo DS, you were also able to briefly revive buttons by breathing/blowing into the buttons and repeated button presses.
Another more advanced possibility, if you have nothing too lose, is to open up the device and see if you can bridge the contacts the button is supposed to activate. You might also find replacement parts on the internet.


text:
What is the default channel for Android Hotspots?
I have seen the other threads talking about you not being able to change the default channel, and that is fine as I can configure my router. Can anyone just confirm which one it uses though, or does it vary by manufacturer? If so would you know for Xiaomi and Samsung? Thanks =]

Not sure there is a default. My Xiaomi  picks channel 149 which is problematic for some Wi-Fi chipsets such as the Realtek 8822CE. Chromecasts struggle with this channel as well, I assume for the same reason. On Windows you can disable 802.11d in device manager but lucked out on my Teclast Android tablet. So I have to stick to 2.4GHz Wi-Fi 4 speeds.

I can confirm that on OnePlus you can not choose the channel that is used. You can although choose if you wish to tether via 2.4 Ghz, or via 5 Ghz band.
On the 2.4 Ghz band it picked channel 8, so I doubt there is default to which channel uses, at least not here. It might either pick at random, or do a short channel scan itself and pick an optimal channel.
If you have a second android device, you may use something like Wifi Analyzer to find out which channel your device ended up on.


text:
Android won't query DNS server for IPv6 addresses, why?
I have a weird issue; for a single connect request to a server that has a single AAAA record my device runs two A queries instead and fails to connect.
My setup is as follows:

LAN (a regular router) without IPv6 connectivity
Android 10 with only WiFi connectivity, having one fe80: and two fd14: addresses
Debian box, wired, running dnsmasq, acting as the DNS server for all devices
dnsmasq will reply that website foo.com has an IPv6 of the Debian box, and no IPv4

I can:

Connect from my phone to the Debian box using literal IPv6 address
Connect from other devices to foo.com
Connect to foo.com from JuiceSSH
Do ping6 foo.com successfully in Termux on the phone

What I can't do, I can't connect from my phone to the Debian box via foo.com using regular apps such as Chrome, or my own app. JuiceSSH is the weird exception. I tried making a new app, adding INTERNET permission and this bit of code only:
thread {
    Socket("foo.com", 9000)
}

This works consistently with the apps such as Chrome in that it doesn't connect and—from what I see in dsmasq logs—performs two A queries (both with NODATA-IPv4 response). It never performs an AAAA query. Inet*Address.getAllByName() behaves in a similar way. I tested with another device running Android 6, same outcome.
What's going on here?

I'm not an expert in networking, but Android doesn't fully support IPv6, check the status on the related question: Does Android have support for IPv6?

@AndrewT. Some applications do resolve IPv6 on my device; also my app can connect to IPv6 for other users. So I keep thinking that something is weird about my setup

I think that I stumbled upon a similar problem. Mine happens while using a IPv6 VPN, but probably the symptoms and result are all the same. I asked it here: https://android.stackexchange.com/q/244749/366910 Were you able to fix your problem or improve something on your end?

@MariusSiuram I weren't, sorry. I decided to stick with IPv4 in the end, oh well.


text:
WhatsApp Web and the QR Code
We connect to the WhatsApp web by scanning the QR code. When scanning like this, WhatsApp is transferring some data between the mobile and the web. So if a data transfer is going on,
what will that data be?
How is that data taken?
Can't we use that data to use the web without QR code scanning?
There is a reason to ask this, the camera on my phone does not work, so I can't scan the QR code and use the WhatsApp web. If there is an answer to this, please let me know.

The technical detail has been explained on our sister site [so] for programming: Mechanism behind QR code scanning of WhatsApp web/desktop app

The data is authentication & key negotiation between the web client and device.  You can't feed this data to the device without camera. WhatsApp only trusts QR code.


text:
Camscanner name saving policy
My exact problem is how to find out the sequence of saving files in the /sdcard/Camscanner/.images dirs in batch mode scanning. File names are a 192-bit sequence of alphabets and numbers, like these ones:

WUeQbMPF6d1garTRJMyU6TF3.jpg
CULJYQf0QJbM5PLJhEJVCKYW.jpg


text:
Why can't i turn on installation from unknown apps on my androidtv

I went to settings, then security and restrictions, then unknown sources. After that i couldn't press on a single thing except back. They're all in gray

Which Android phone and Android version are you using?


text:
Why does Google Chrome on Android has so many permissions?
Just found out through a connection tracking app, that Google Chrome on my Android 9 has so many permissions granted . Permissions like :-

Pair with Bluetooth devices
Access Bluetooth settings
Read your contacts
request install packages
Download files without notification
Find accounts on the device
Download files without notification

Are there permissions Normal?
When I check in the permission settings of the Chrome App, it does not show all these permissions enabled!
Have factory reset the phone too

Normal? I don't know.  Acceptable?  Definitely not.  I strongly recommend using a different browser instead of Google Chrome.

Chrome has most likely that much permissions for being able to run Progressive Web Apps (PWA). Such apps are special web sites that behave like an app. And of course such an app may needs access to Bluetooth, fingerprint authentication, push/C2D messages, create launcher shortcuts, and so on. Most of those permissions are already useful for Chrome itself, hence they are not limited to PWA apps.

Just to pick a few, the Bluetooth permission is needed for interacting with Web Bluetooth API. The Contacts permission is needed for using Contact Picker API. Both are standard web features.

so yes permissions:

pair and acces bluetooth - this is STANDARD for some sites in html/html5 , if browser wouldn't have this permission some website could be broken.
read contacts - it's a next html api and also can break some sites if disabled.
install packages/download files - you think that you can't download things from internet? just look at clouds, github (and other similar sites), pages for converting media types, etc.
find accounts on device - for logging in to your google account which can be use for f.e. : tabs and bookmarks

and if you think that sites doesn't require some permissions look at my game : https://hacknorris-notyetbanned.github.io/glitched.github.io/game/index.html (yes it's self-advertisement but it'd answer your question i think...)
and a few sources with these and a few similar permissions and API's for use by YOU : https://www.w3schools.com/js/js_api_geolocation.asp ; https://developer.mozilla.org/en-US/docs/Web/API/Contact_Picker_API ; https://developer.mozilla.org/en-US/docs/Web/API/Web_Bluetooth_API ;
and if about not showing these permissions in system - it may be due to ROM on your phone.


text:
Reduce video size
I want to transfer video files over the internet. I intend to reduce a video size of 100x MB to below 10 MB. I tried some apps, but they reduce the size down to 10x MB, not below 10 MB. Also, their video qualities are not acceptable.
Is there is any app that can produce a video of less than 10 MB with high quality?
UPDATE
My videos are around 5 minutes long. On a desktop computer, I use HandBrake software with these settings to produce an acceptable output:

Dimension 360 width by 640 height
RF quality 33
FPS 15
Video codec H.264 (x264)
Audio codec AAC stereo with 24 bitrate.

With the above settings, for example, a 700 MB video would become 7 MB.
I don't know how to set these values by any Android app. Is there any app for it? I tried YouCut, but I couldn't find any such settings.

IIRC Handbrake uses FFMPeg. So maybe an app using a similar approach would be worth a try. Video Transcoder wasn't updated for more than a year, but going by the screenshots it allows you to specify values like you listed above.

@Izzy I tried Video Transcoder. I'm glad, looks like what I want =)

Glad to read! Made it an answer then so you can accept it and others can see the solution. Btw, when explicitly looking for an app, Android.SE is not the recommended place, see Where to ask for app recommendations? (hint:we've got a specialized sister site for that). Usually, questions explicitly asking for apps are closed here; we counted it as "how can I" this time (answers recommending an app are OT, just explicitly asking for is not). // Enjoy your solution! :D

Video Transcoder seems to be what you are looking for:

transcodes videos
can reduce file size by manually adjusting parameters, as you are used to by Handbrake
"size-reduced" videos have acceptable quality, again as you are used to by Handbrake

Video Transcoder (source: F-Droid)
While the app is also available from Google Play, I recommend using F-Droid whenever possible: better privacy, and the only "store" where (until now) no malware was found ever.


text:
How to get encryption keys for "adoptable storage" in MotoG3 without root - alternate methods, anyone?
So my sister in law handed me her MotoG3 where some apps had mysteriously disappeared and the videos of their little puppy were all gone (the videos of their kids were not as important apparently). Her SD was formatted as adoptable storage, no backup of course... I spent 8 hours yesterday reading up on how adoptable storage works encryption wise (not in depth, but I know about the vold dir with key files) and doing non-destructive tests on the phone. I also have a Linux "dd" copy of the SD card so I can mess around as much as I like with that card. I do understand that in a previously rooted phone it will be no match to read the key file(s) but obviously her phone is stock. In a PC environment, I would boot with Knoppix or some other Linux rescue image on a USB stick to get access to the disk in a similar case. I just wanted to ask if this can be done with a phone (preferably not just "a" phone, but the MotoG3 :).
Other ideas: The vold dir is in the /data partition and in my Linux/PC oriented mind, I have a delusional thought that perhaps one could install some "mini-OS" in the boot partition and leave the /data partition intact. That image could even have as its only task to copy the key files to a readable area or another SD card so no user-interaction would be necessary. Since no one has come up with this idea for the past 6 years or so that adopted storage has been around, I guess the answer is a big NO. Still, would anyone care to enlighten me as to why this is not possible or (still hoping!) suggest how this could be done!
Decryption of AES128 (which the partition seems encrypted with) is "cumbersome". I guess there are no known "salts" that weaken the AES significantly that we could use to brute-force the encryption, or are there?
As an alternate method, I guess the chip could be removed from the board or perhaps read while still attached with a chip reader, but that's over my budget and level of expertise. Also, for videos of a puppy, that might be excessive :)
If anyone as more ideas, feel free to reply!!!

The device is pretty old, if I am not mistaken it should run Android 6.0? On such old device there might be a chance to root the device without clearing all data using e.g. the Dirty Cow exploit (check the sued kernel version). Also check what is displayed in Android Security settings, especially if there is something mentioned about "Hardware security".

Yes, Android 6.0.1. I'll have to read up on that exploit. I returned the phone just now so she can make calls and so on but I'll probably invest the whopping $40 for another used G3 just to experiment for the fun of it. If I can root that one, I can root the original "casualty" later and make my wife's sister happy :) Thanks for the suggestion! If anyone cares to point me in the right direction for the Dirty Cow exploit, that'd be great!

clone the sd card and insert the healthy one. 2) or do 1:1 raw dump of whole phone via edl mode (so you have at least some failsafe backup in encrypted/locked state). root with kingoroot, get the key, restore backup


text:
If I plug a 1TB ssd drive to android phone via otg cable, will andorid system scan all media files in the drive?
I concern about performance a lot. Thus I have this question. If I plug a 1TB ssd drive to android phone via otg cable, will andorid system scan all media files in the drive automatically once it gets mounted? Will this cause any performance issue and add more CPU/RAM overhead? If it does it, how to stop this behavior? I just want the system scan the media files when I open a particular folder which contains the media files. I don't really want the system to scan everything before I actually want to access them. Thanks a lot.

While writing this answer I checked the source code which indicates that Android's MediaScanner doesn't scan USB OTG storage devices.


text:
Capture motion videos of the smarthone saved directly in Google Drive
I'm wondering if it's possible to save  the video of my smarphone (Android) video surveillance camera directly in Google Drive. So far I found only method which allows to synchronize a shared folder between the device and Google Drive. I'd like to avoid this because I don't have enough memory space.

You need a camera app with built-in GDrive support. Then may be videos can be saved to GDrive directly.

Hello @Robert can you suggest to me any app to reach the goal?


text:
Finding the device in LAN network which is sending packets that do not allow phone to go to sleep
Bear with me because I think this is a really odd situation.
It all started by noticing that my android phone (and some other phones) loses more than 10% of battery during night while doing nothing (only wifi and mobile-data was active).
Using dumpsys batterystats, it showed me this strange wakeups:

As it is evident from the log, the phone gets woken up roughly every 3 seconds. I first thought of some app in my phone but even deleting all apps did not solve the problem (not even factory reset). I went further and flashed various custom roms (with different kernels) without any apps (not even Google Play services) but the log still showed the unknown wakeups.
I suspect that maybe there is something from the outside of the phone which was causing this behavior (because it show up only when connecting to my home wifi LAN; with other wifi networks or using mobile-data everything was normal).
And it turned out that my Android Box was causing this odd behavior (connected to the same wifi network) because as soon as I disconnected the Android Box from my Lan network, there was no more unknown wakeups (sending some packets to the phones which are in the same network and causing them not to go to sleep)
My questions are:

What are these packets that the Android Box is sending?
Given the type of these packets, is there any tool that can scan the network
and identify which device is sending them?

If the packets are broadcasted within the LAN then any connected device can capture those packets. Easiest would be using a PC with Wireshark to capture the traffic.


text:
error 255 when flashing zip
so yes: today i was trying to test my own zip (yes, twrp) but when i tried it thrown me error
updater process ended with ERROR:255
error installing zip file '/emmc/recovery.zip'
is it because i messed up that zip, i dont have many space on phone or another thing?
my device is lg l65 d280n and zip is there : https://drive.google.com/file/d/1GbHeXDbs1Dh9G-FPw82hNJY9kc03hOBb/view?usp=drivesdk .
PS: i know that here is a few similar questions but no, i dont have that second error "createtarfork()" but yes - i have cyanogenmod 14 which is nearby lineage, which is buggy as i heard.

error 255 itself is meaningless, probably related to C language return -1 it just tell you that something is wrong. could be failed to create file, file does not exist, library missing, can't execute, wrong arch, aborted, no disk space or any meaning, so only you can know the context

? Strange i uploaded this file... and okay, i’ll debug. Thanks.    Edit: reuploaded file, should work i think...


text:
In Android Studio, which system image should I choose for a Pixel 4 emulator?
In Android Studio, I'm adding a Pixel 4 virtual device. It asks me to select a System Image, and has the following one selected by default:
Release name: Pie
API Level: 28
ABI: x86
Target: Android 9.0 (Google Play)

There are others with API levels 29 and 30 that are shown but that I haven't downloaded yet. How do I decide which System Image to use for a Pixel 4?

Pixel 4 is still maintained by Google hence it has received update to Android 11. If you want to simulate that select the API30 image.

Hi Robert, would the general rule be "use the highest API level that existed when the device stopped being maintained by Google"?

Since your previous question was also related to an emulator, may I know what you're trying to do and/or the specific concern you are having regarding the system image, so that we can focus and clarify those?

No, the general rule if you develop for a specific device is "get a real physical device". An emulator is just for testing general compatibility to a certain Android version. It will never behave exactly like a real device. Therefore most app developers don't use the emulator at all, instead then have multiple physical test devices.


text:
Turning off my android phone screen without actually turning it off
I have a problem with my J7 Pro(SM-j730F) when i power off the screen and then turn it on again it flickers and takes a bunch of turning on and turning off(Pressing the power button or using fingerprint then pressing the power button again) tries to get it working again, And when it finally turns on i'm good to go aslong as i don't turn my screen off again.
What i want is: To be able to lock my screen without it actually being turned off. And i have tried Always on display to keep the screen on but the reason it doesn't work is because there is like a frame where the screen turns off completely before it goes to Always on display, So something similar to Always On Display would be great but without the part where it turns off for a frame.

Please edit your question and describe in detail what you mean by "takes a bunch of lock and unlock tries".

@Robert done...


text:
Executing ADB commands while running scrcpy
I am using the program scrcpy in order for me to control my Android phone from my PC.
It all works just fine with showing the Android screen, but I want to open an app from within the scrcpy console box.

I have not seen anything on Github about a feature like this - just the ability to add or remove an app.
Am I overlooking something?

You can open up a new command prompt window and issue whatever adb commands you want. They would work.
You can also put scrcpy in background if you want to use the same command prompt window to do something else there. Head over to Superuser to know more about this.

Although you do need to use the adb.exe thats inside the scrcpy directory to send the commands with. If you do not use that and use another installed adb.exe then it will disconnect scrcpy.

or even more better, delete the adb.exe that comes bundled with scrcpy

The recommended way to handle the ADB problem is creating a system environment variable called ADB which contains the path to the adb.exe to be used (e.g. from an Android ADK installed). Then scrcpy always uses this version and ignores the version that is shipped with scrcpy.


text:
What does "NOS-production: no" mean?
I recently bought a refurbished unlocked Pixel 3 XL to replace my aging, cracked, broken one of the same model. It came with the bootloader unlocked so I decided to lock it because I didn't like the warning message every time it booted and noticed that in the Fastboot menu of the bootloader it shows:
Secure boot: PRODUCTION
NOS-production: no
I'm concerned about that NOS-production setting; has this device been tampered with? My old Pixel 3 XL shows yes there as well as all other screenshots I see of the bootloader on other P3XL's - they all say yes instead of no. I used flash.android.com and completely flashed the phone to the latest April Android 11 firmware but it still shows no. I can't find any documentation of what that could mean. Any insight would be appreciated!

In my opinion should should name the vendor so that other people can avoid it (and I would send back the device and reclaim the money). That an refurbished phone has an unlocked bootloader is pretty unusual and may indicate that the device may originiate from illegal sources (device theft).


text:
Security on a Nexus 6P purchased on Ebay
I purchased a used Nexus 6P on ebay to replace my current 6P, because the camera has failed.
The seller indicates that the new phone has been factory reset, but I'd like to be sure that there is no spyware hidden deep in the system.
On a desktop machine I would erase the hard drive, install the operating system of my choice, and be confident that most reasonable vectors of attack were removed. (Sure, he could've hidden something in the firmware of a device or whatever else, but I'm not worried about that level of sophistication).
I'm not sure how Android factory resets work, but given that the phone's memory is never completely erased, I worry that a malicious actor could have put bad software into the image that the factory reset restores from.
Is this a valid concern?  If so, is there a way to address it and be sure that my phone is not sending all of my information to some one else (other than google)?

Great question. From what I've learned here, a factory reset on Android (and iPhone) is not really a factory reset.  It's just a partial reset.  For this reason, I'm skeptical about the security of any used device.  That said, even a "new" device might really be a repackaged return (just read a few reviews on Amazon and you can see how prevalent this issue is across a wide array of products).  Personally, I choose not to store anything important on any smartphone at this time.

Theoretically, a factory-reset wipes data only while any deep seated malware that injects itself into the /system partition isn't wiped. To that extent you have a valid concern.
Fortunately, you have a Nexus device. Google provides factory images for Nexus/Pixel devices (here). You can flash the factory image for your device following instructions on that linked page. See adb tag wiki, if you aren't familiar with adb. It might look a little complicated if it's the first time you are doing this, but it isn't.

In addition to the accepted answer, by flashing the official image and applying bootloader lock you have 100% spyware-free guarantee.
This because Android devices with a locker bootloader won't boot if the boot loader is not genuinely signed by the manufacturer, and the public key is buried in the firmware.


text:
Accidentally wiped /system, recovery not working
I accidentally wiped /system on my Archos 101e Neon (MT8163) through fastboot. Now it can't boot and can't go to recovery or fastboot mode. I tried vol -, vol + and both. It's just stuck on the first boot splash with the "Orange State: Your device has been unlocked" message. It also seems to not be detected by the PC (I'm running Linux). Any way to recover this brick?

my phone usually stays for 120 seconds on that 5 seconds screen, so i have to keep holding volume up for 120 seconds


text:
Can I use apps like LADB WiFi ADB or Wi-Fi Debugging without needing a USB cable ever during the process?
I have an old Android tablet that had been rooted but my phone hasn't been rooted....yet.
What I need to understand is if there's a way to use my tablet to perform edits on my phone without EVER needing a USB cable to do so.
LADB requires Android 11 it seems but my phone (Moto E 2020) isn't eligible for any system upgrades and as I mentioned above, the phone isn't rooted. I've already downloaded apks like TWRP, LADB, Wireless Debugging and I've already enabled adb in the dev options.
So is it possible to connect to the phone using the tablet?

This isn't possible. The adb demon on an Android device isn't the same as the one that runs on a Linux, Mac or Windows development machine. The adb client program that is run on a development machine isn't available on Android devices.


text:
Is there a way to have a Gmail account without a mobile number
Is there a way to have a Gmail account without a mobile number، To access the Play Store?
I remember there was no such problem in the past.
I am constantly traveling and I do not have a fixed number.
And I'm not interested in constantly creating a new Gmail account with a new phone number. And basically, why on earth you should do something else before doing something (Get a mobile number before an email)?
The funny thing is that you can not even use other email services to access the Play Store without a phone number!، Two verifications, really !?
Therefore, a large number of Android users download their applications from non-standard sites. Maybe hundreds of millions!.
When you enter the Google registration page, you enter everything first, then on the next page, Err, a flag and you have to enter a number in front of it. Why not make such a request on the first page?
You press the next button and you get an error message, yes، you can not have an email address without a mobile number. Why not in America when you can have it even in communist countries?
Besides, In many countries you do not even receive a verification code via mobile number.

From my understanding the enforced phone number verification is to prevent spammers from creating a large number of Google accounts and then misuse them e.g. via GMail. You can use any phone number you have access to. And having an email address is not a verification at all, you can just buy a domain and run an email server for a few dollar and thus creating an unlimited number of unverified accounts.


text:
Disabling Samsung battery management from putting my apps to sleep when the phone screen is turned off and running on the battery
I'm looking to disable Android's battery management.
On my Samsung S10 Plus running Android version 11 are several apps running in the background,
but they only run when the phone's USB port is connected to a charging source such as the mains adaptor or to my computer or when the screen is turned on regardless of being plugged in or running on the battery. The apps fall to sleep within a minute or two when the phone is running on the battery and the screen is turned off. All of these issues started after I upgraded to the current Android version on the S10+. Also this phone is not rooted. We also have older Samsung phones like the S9 and S8 running Android 10 without any app battery management issues.
I have done the following:
I wiped the cache partition.
I have the "Adaptive battery" setting under "More battery settings" turned off.
I have the "Put unused apps to sleep" setting under "Background usage limits" turned off.
I have added the apps to "Never sleeping apps" screen's list under "Background usage limits" turned off.
Despite doing all of the above, the current OS seems to be ignoring all of the settings I have set. Do any of you know of an app or any additional settings that will stop my apps from being put to sleep like that? This never happened when running Android version 9 and below.
All help will be appreciated.


text:
Do all apps lose state when the phone is locked?
I use Rune for music. It takes Rune a bit of time to find its controller on the network. If, after starting some music playing, I then lock the phone, when I come back Rune starts all over to locate its controller. I had a similar experience with Sony's 'imaging edge' app for remote-controlling my camera. As soon the phone locked, I had to go through the elaborate connection process all over again.
Is there any way to change this behavior?

An app loses it's state if it is killed. This can happen if the Android OS is running out of RAM or on some devices this may also happen by a very aggressive battery saving feature.

There's no shortage of memory. On my moto g7, perhaps I've made an bad setting choice for battery saving.

https://dontkillmyapp.com


text:
Is it possible to restore the data of Microsoft Authenticator from a TWRP backup?
After installing the latest LineageOS update on my phone, unfortunately, my phone boot looped, so I made a backup using TWRP, and I did a clean install of the latest version of LineageOS, attempting to restore the backup TWRP had made, but only for my phone to be boot looped yet again. Unluckily for me, I had to "restore" my apps by simply downloading them (through the Google Play Store) and logging into them. Sadly though, one of my necessary apps/accounts requires two-factor authentication, which is a problem because my two-factor authentication app ("Microsoft Authenticator") had gotten wiped, and although it is backed up in TWRP, I don't know what I can do with it. Also to note, there are no other "additional" methods of logging in for this account of mine. Now I am stumped, as to what I could possibly do to be able to recover either:

My keys + all of my Microsoft Authenticator app data, or
Be able to find out what other accounts were linked to my Microsoft Authenticator app.

I am aware that I'm able to extract TWRP's files (each has some sort of win extension) by renaming their extension to .tar and opening them with a file archiver like 7-Zip/WinRAR. However, my question is, what would I have to do to be able to possibly restore my Microsoft authenticator app data to my phone, without having to restore the entire data partition of my TWRP backup (Because if I were to restore the entire data partition, my phone would boot loop again).
Sources I checked out:

Restore-apps-from-a-nandroid-backup-using-titanium-backup - Titanium Backup doesn't work well on the more up-to-date versions of Android (Particularly Android 11, since that's what I have right now), the same thing with Nandroid Manager (Nandroid Manager isn't maintained for the time being)

Twrp-manual-restore -- Seems old and unlikely to work on Android 11 (But it might)

Restore-app-data-without-restoring-the-whole-image -- Could be a plausible solution, but I don't know where I'd paste the data/data file (I don't even know what the data/datafile looks like) to, cause I don't have anything similar to "sd/ext.SD", and I don't know what'd be considered my "readable memory."

Restore-data-of-a-specific-app-from-a-twrp-backup -- Asked 8 days ago, a remarkably similar issue to me. However, I don't think I can replicate the steps since I found two com.azure.authenticator's, each in separate win files (One has the base.apk, another has some other files, and an image of me combining them is shown)

TL;DR: How can I recover solely my Microsoft Authenticator data from my TWRP Backup?
Notes:

I use Microsoft Authenticator as my 2-factor-authentication app, and sadly, I did not enable cloud backup for it at the time of my factory reset
I did not export my codes/OTP from Microsoft Authenticator, as there is no option for that
My phone is rooted, and I have TWRP installed

Any help would be much appreciated, thank you!

The Microsoft Authenticator app uses AndroidKeystore for storing an RSA key (seems to be some sort of master key that is required to decrypt something, used on Android 4.2+). If that key is really required and your LineageOS system uses hardware security then recovery will be imossible.

With much thanks to @Robert and especially @Firelord, I was able to resolve my problem, and with relative ease.
Below contains all of the steps I had to take to recover the necessary information I required from the Microsoft Authenticator folder.
Pre-requirement steps:

I had to have access to my entire TWRP backup, with all of the data partition files (I transferred my TWRP backup from my SD card to my PC to be able to access it with convenience/efficiency)

Then I had to change all of the data partition file extensions to .tar (The easiest way to do this was to just rename the files, and add .tar at the end)

Microsoft Authenticator Recovery Steps:

Next, I had to look through all of the ".tar"(s) and find the one that had the _\data\data\ directory, from there, I found the com.azure.authenticator folder

I opened the com.azure.authenticator folder, and then found and opened the databases folder

Then I looked for the PhoneFactor database file which contained all OTP-related information for Microsoft Authenticator (I made sure it was not the cached version -> I was able to tell which was the cached version by comparing the two PhoneFactor files and determining which is bigger, the bigger one is the "actual" file --- It seems all of the "cached" files have a size of 72 bytes)

I extracted the PhoneFactor file to an accessible location -> downloaded an SQLite Viewer application (I chose DB Browser for SQLite) -> and proceeded to open the PhoneFactor file with the SQLite viewer

Then I clicked the "Browse Data" button (The highlighted red boxes on the left side of the image are solely to indicate what I was looking for, which is all of the OTP information - On the right side, the highlighted red box is meant to display where you have to click to actually get the information)

You should now see all the information related to your Microsoft Authenticator app, including all of your OTPs and the names you assigned to them, the usernames you set to them, and most importantly, their oath_secret_key(s)

Now, you can either manually type in the oath_secret_key(s) alongside their name(s)/username(s) into Microsoft Authenticator, or any other 2-factor-authentication app you prefer

Boom, you have now successfully recovered the OTP information from Microsoft Authenticator.


text:
Viewing using computer Chrome a HTML page downloaded on Arndroid Chrome
I save webpages for offline reading by opening the three-dot menu icon and tapping the download icon up top, which will download a version of the page. I also take regular backups on USB drives.
Now if I wish to view these HTML pages on my computer's Chrome browser, how do I do the same?
These files do not have any file extension. I tried adding .htm to them and then trying to open but was not successful.
All help is sincerely appreciated.
Thanks

Apparently, this Chrome's behavior doesn't seem to be global. So, to determine the line, is it okay for you to mention the device model and Android version?

Chrome for Android saves a webpage in MHTML format. It doesn't append the extension in the filename though, hence, the problem in opening it in Chrome on PC. Opening such a file in Chrome on PC without correct extension makes Chrome load the content of the webpage in plain text instead.
Appending .mhtml or .mht as extension to the filename and then opening the webpage in Chrome on PC should work.


text:
Can Android Tablet can work on Windows 10 like Wacom Tablets?
Wacom Tablets are very expensive. I cannot afford it. I have right now Samsung Tab S6 Lite. I usually draw in Ibis Paint X with S Pen. I want to use different apps like Paint Tool SAI as it is not available in Android and I am bored working with the Ibis Paint. Can Samsung tablets change like Wacom tablet in the way that it connects to the laptop and I can use my tablet for this?! If anyone knows about the process please Can you tell me how to connect and which cable wire I have to connect with?
I hope you reply me because I HAVE THIS CRAZY WISH

Welcome to Android Enthusiasts! May I recommend our site-search? For your specific question, here are the corresponding answered questions. Most relevant: How to turn my android to a wacom tablet? and Use an Android tablet as a Wacom drawing tablet for a PC?

Does this answer your question? Use an Android tablet as a Wacom drawing tablet for a PC?


text:
How do I Install OpenGapps or MindtheGapps on a Work Profile (Shelter)?
Searching for a solution to install OpenGapps or MindtheGapps just on the work profile (I installed Shelter/Island).
I found this, but don't know how to fastboot boot a Work Profile.
adb push android.apk /data/local/tmp
adb shell pm install --user 10 /data/local/tmp/android.apk

My settings:
Users:
UserInfo{0:Owner:c13} running
UserInfo{10:Work profile:1030} running

Otherwise, would installing Magisk work and the OpenGapps module for it. If so, how do I flash Magisk for a work profile?

Setup magisk in the device first as normally as any user would do it first time to root their device. Once done, you would have Magisk app in your device for your primary/admin user. In that app, in its setting change multiuser mode to User independent. Now, install Magisk apk in Work profile. Launch it and it would detect root and act as root access manager for work profile apps.

Modules and core are however shared amongst all users. So you can't have modules specifically for one user.

@Firelord I tried it and your right it seems to install the module Gapps for both primary and work profile when you root (individual setting) with Magisk. That does not give the isolation / sandbox I want to use with a few Gapps apps inside of the Work profile. I am on Lineage W/ MicroG - but some of the apps I need use Gapps.
Any other ideas besides having to buy another device for privacy to use Gapps apps separately?? Is it even possible to install Open Gapps or Mind the Gapps in just the work profile isolated from primary?

I don't really know. Sorry


text:
Block website rooted phone
Help please!
I have a rooted samsung s6.
Im wondering how I can block certain websites.
I dont understand if supersu or titanium backup pro can be used. What should I download to bl8ck websites?

You can try searching for the solution as the very first step with keywords as simple as "block websites". See https://android.stackexchange.com/search?q=block+websites On a rooted phone, a hosts file based solution is the easiest. Add sites in the hosts file (Magisk does this systemless-ly), reboot, profit!

Thank you for your reply firelord! What kind of host files solutions do you mean? Should I download Magisk?

Just edit the system hosts file and add an entry per DNS name that redirects those domains you want to block to 127.0.0.1.

Thank you Robert! How do I edit the system hosts file? Do I do that in Supersu or in titanium backup?

https://android.stackexchange.com/search?q=how+to+edit+hosts+file

you can use any app like AdAway for edit hosts


text:
Is it possible to get finer volume control (steps) on a rooted Lenovo M8 tab (HTC Sense UI)?
There's  a popular mod to get finer volume control on a device by adding the property ro.config.media_vol_steps to /system/etc/prop.default (android 10) and assigning your prefered steps value, ie '= 30' but on my device this results in multiple volume ranges divisible by 15.
Apparently this affects the HTC UI sense as well.
For example if I assign the value 37 to the above property (I do get 37 steps) but when I test by playing something on spotify and increase volume using the buttons I get:
step 0 =  mute
step 15 = max volume
step 16 = mute
step 30 = max volume
step 31 = mute
step 37 = volume 6
Anything below 15 works as expected.
The same happens if you've rooted with Magisk and do it via prop editor or any other editor.
I've been trying to find a solution for this for months with no success hence up the creek with no paddle.
I have coding abilities but for me X86 assembly is easier than than understanding the various tool chains / libraries / compilers required to debug an Android device.
I would like to at least know where in the architecture I should be focusing on.

Is it vendor or system related?

A persistent  setting?

Is the setting pre compiled so would need custom ROM ie a library file change (.so)
I beleive it must be solvable just hoped I could get at least a hypothetical view of the problem from someone more familiar with the source of Android!

You can get fine volume control from the GUI (swipe down) how can this be mapped to Volume up / Volume down?
PS: I should mention I don't have TWRP as it's  not available for this device.
I can now add that installing EdXposed framework along with GravityBox (version Q) also results in the same problem! The modded code above is not found in the prop.default file even tho I have the same problematic functionality, same with magisk modules.
Seems Xposed / gravityBox / magisk are the most powerful tools available to developers for stock software. Im sure there are experts out there that could build a custom software with a simple volume control patch for this device so guess we'll just have to wait. Thanks
Just an update, been a while since this post and the volume control issue is  still unsolved. Im so lucky as Im apparently the only person on the NET who finds this a problem, woohoo! Samsung it is then (will have to mount it portrait)

Thanks thats already thrown up some interesting reading - vanilla android ! - which sugests the typical 15 vol steps is google's standard and has been since android started god knows why they can't write source code that makes it easy to change, -will post back any useful findings.

Gravitybox allows up to 50 steps. I just checked as I have it installed

I  really thought I was on a winner with GravityBox. Installed it ok [version Q] adjusted volume steps to 33, rebooted and same f**!%^g problem. Just a point, did you actually test your 50 steps to see if they work, ie play some music? Regards. Also what device / android version so you have?

Sorry to hear that. You can ask developer on the XDA thread. In my case I have been using GravityBox volume control for the last five years - Note 2, Honor6, Moto X Play, OnePlus 7 (Android 10)and now on Pixel 4a Android 11 and it always works as advertised //I am very particular on fine volume controls with volume keys // All the best

EdXposed Whitelist functionality turned off in EdXposed Manager to make GravityBox work properly

Thanks for your input.


text:
Lost text messages
Today I did a factory reset on my s21 ultra. I have lost all the text messages. I assumed they would restore from Google, but I'm using the samsung text app and the only back up in samsung cloud is from today after the reset. Is there any way to restore these messages as some of them are very important?

you can ask your contacts if they still have it, export from their phone and import to yours one by one