text:
During Android Data Transfer, why Wi-Fi may be disconnected, and why turning it back on may stop or delay the transfer?
Last night, I was setting up data transfer from my wife's OnePlus 7 to Pixel 8.
After the usual process of Bluetooth enabling and scanning the QR code, the data transfer started. After a while, I noticed this warning on OnePlus 7:

This device may be disconnected from Wi-Fi temporarily. If you turn it back on, your transfer may stop or take longer.

This is very confusing and counter-intuitive to me. From what I understand, Bluetooth is for enabling device identification (including QR), and subsequent data transfer is through Wi-Fi (both devices are on the same network).
Why should data transfer stop or take unduly long, if Wi-Fi is re-connected (and why should it be disconnected?)?
I have a fairly stable connection at home, if that matters.

To be honest, I'm curious about the wording "disconnected" and "turn it back on." The former implies that Wi-Fi is still on but not connected to any device, while the latter implies that it is completely turned off...

Most likely because Bluetooth is only used for the initial connect. Bluetooth is way slower than Wifi, thus migration of a lot of data may take hours. I assume in background a Wifi direct connection is established (or AFAIR there are Bluetooth modes available that make use Wifi). And if you establish an additional Wifi connection the Wifi chip has to switch between two frequencies which mal slow down the data transfer.

@AndrewT. Good catch. I guess the answer lies inn that ambiguity and the distinction or reason is not well drafted in the warning.

@beeshyams Found it: https://en.wikipedia.org/wiki/Bluetooth#Bluetooth_3.0_+_HS "high data rate traffic is carried over a colocated 802.11 link." - and 802.11 means Wifi. Later his was standardized as "802.11 PAL".

The wording here is confusing, but what really happens is that the process uses Wi-Fi Direct to establish WiFi connection between two devices directly (to avoid bad residental wifis, firewalled corporate wifis and plethora of other issues).
On most devices this means that they need to disconnect from current wifi access point (that is: your home wifi) and connect to the other device directly. As a result, the WiFi symbol can flicker and disappear and the UI status will show a different name of wifi network during that time.
If you go to WiFi Settings during that time and reconnect to your home WiFi, you'll interrupt this process.
So what the UI is actually telling you is:

If you force your phone to reconnect back to your home WiFi, you'll
most likely break the direct WiFi connection between the phones and
that (depending on quality of your home wifi and configuration) may
take much longer than copying data directly from device to device. Or fail alltogether. Don't touch it.

Makes sense, thanks.. wish I had checked that it not Wi-Fi Direct and not home network


text:
How can I display Samsung GT-S5660 current screen desktop to my HDMI TV screen?
I have pictures and videos with effects on my Samsung GT-S5660. How can I display those to my HDMI TV screen? The phone only has mini USB output.

Please try to use relevant tags. Applying 3 different phone tags (none of which was the phone you own) is confusing and defeats the purpose of tagging.

I think you need to buy one of these MHL to HDMI converters - it mentions that it  specifically supports your device.

This is great, you are genius i am happy to get some hope at-least, i will buy and try and let the question be answered with some later follow up. thanks!

source: Stack Exchange

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

sort: votes


text:
Phone is rooted but has no SU application and can't access SU command on adb shell?
All this time, I thought that once I've rooted my phone, it means that I will also have SU access to it. This is true for the first device I rooted. When I rooted it, a SuperUser application appeared on my phone. I was also able to use the command su on the adb shell.
However, just recently, I tried to root a different phone. After rooting the phone, I check my applications for the SuperUser app but it's not in the applications. And so I downloaded the SuperUser app on the market. But when I opened it, it says, there is no SU binaries installed on the phone. Also, when I inputted su on the adb shell, it can't determine what is su.

What could be the problem?
How can I gain SU privilege?
I thought that once a phone is rooted, it is automatic to have an SU application or at least access to the su command. Am I wrong with my assumption?
How can I use the su command?
What is the real state of the phone I rooted? Does it mean the phone is not really rooted? Or is it still rooted?

Thanks!

I do note, while tablets are on topic on SU, phones arn't. I've voted to close/migrate this to Android.SE, and you may wish to ask future questions on Android phones there.

Your device isn't rooted at all. Without su binary, you can't assume command as root.

Thanks. Sachin! I checked the instruction that I followed again and it seems that I still need to the one more step to root the phone. That is to install a desktop application that will eventually root the phone. I think what I do before is only to flash an insecure kernel on the phone? (I'm not sure if I used the term "flash" correctly) What does flashing an insecure kernel means and why did it not root the phone? I thought it is also the same to rooting.

@Arci Flashing an insecure kernel means replacing existing stock kernel (on NAND) with this one. It has nothing to do with root access. There are many processes of rooting. So, I guess, flashing insecure kernel was suggested to make root exploit easy. Do follow all suggested steps.

"Rooting a phone" - Acquiring super user permissions.
"Installing the SU application" - Making it so you can acquire super user permissions any time you want.
The first thing you should do after rooting a phone is install the SU application so you can have root permissions any time you want them. Most automated rooting processes do this for you, but if you acquire root permissions manually, you probably have to install the SU application manually too.

Thanks for your reply! I didn't acquire the root permission manually. I tried to change the kernel into an unsecure kernel by using Odin with the PDA option checked. But after that I gain no su is still not accessible on adb shell.

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


text:
(SOLVED) How (methods) to unlock Bootloader on own Xiaomi Mi5 MIUI8 (Data Recovery context)
UPDATE: 2018/06/27, bootloader implies wipe and it is a dead end for Data Recovery, mount as USB Mass Storage implies root to change settings, and for Mi5 or MIUI 8 this implies flashing ROM (dead end too as implies Data overwritten) so the only method I found is this (if the device is functional) then with the RAW partition dump recover files is easy
(LEGACY-post, solved)
I have a problem (objective: Data Recovery)
To install TWRP (it seems, I need, explicitly unlocked-bootloader)
To unlock bootloader I researched and saw some methods:

Official method (tedious and If I understand it correctly, implies flashing some Developer-ROM, and "shit") (I want avoid that)
non-Official methods (a group of queries, I don't find too much clear methods) (BTW quality-posts on XDA-Developers have seen better days :'(

The thing is, I don't want to re-flash some ROM (as I want minimize writings for Data Recovery)
How to check if bootloader is effective-locked ?
Question: I need ways to unlock-Bootloader in this Xiaomi Mi5 device with MIUi 8 global stock (methods, more than one or two, and then I will research about it)
(This is not a trivial-question as in this particular-case:
Logic => unlocking-Bootloader <=> install TWRP to backup partitions (do Data Recovery with them, mounted on PC)
I don't know, I don't have (the Knowledge) to do some hack, but I think this has to have proper-solution.
The objective is here:
How to recover Data from Android .. sdCard / .. Downloads on Xiaomi Mi5 MIUI 8
Therefore both questions are related to each other...
Any help will be very appreciated (final objective is Data Recovery, but I want to try software, before "JTAG dump" etc (and implications of that process)

No unlocking method will preserve data, that's an anti-theft measure. Basically your position right now is the same as any thief holding a phone stolen from somewhere else, trying to obtain data inside. Also, you're better off rewording the question so it prioritizes the "data recovery" aspect rather than the "BL unlocking" aspect.

@beeshyams, I am working on it (official MIUI forums), thanks for answer

@beeshyams Mi A1 isn't quite a Mi device so to speak...

@AndyYan: That is a "theory" (statement) the excuse of anti-theft is not for me (sorry) BTW, if Xiaomi wants I have probe it is "my phone" don't worry about that. But I don't trust Xiaomi either to recover my data. There is more on Data Recovery and IT-Forensics beyond the excuse of "capped-control" of our own devices (encryption solve things, managed by own user of course). About rewording I agree, but the thing is there is main question open related to that.

@AndyYan: The real theft (usually) is "inside" the OS, that is the tragedy. (Thanks for answer BTW), there are methods to verify identity and property of devices (that implies serious support by the OEM), and they have procedures to get the data (If they want) And I want now. (When the government wants, think about your "anti theft" measure. Warranty of "control your own data", that is the important key here. The "bad guys" argument (always is), that is another matter.

(BTW) My comments have zero-acrimony (I don't know if that is a common or proper word :D), English is not my mother language. I value my data (that is all) zero intention of "roughness" I understand the "bad guys" argument (and why you said it) @AndyYan, fortunately is not that case.

I roughly get your idea. I believe manufacturers do have access to the data without unlocking BL, but that would require hardware-level access (special connectors, cables, PC-side tools, etc.). Do note that even to reflash a semi-bricked Mi device you'll need a specialized cable to access the emergency download mode. Upvoted for legit concerns - I just hope any potential answer won't be used in illegal actions.

"How to check if bootloader is effective-locked?" → fastboot oem device-info should tell you (this Xiaomi thread might give you more details, though it's for the Xiaomi Mi 5/Pro). And congrats to your gained rep, you now can enter our chat room so extensive "discussion" in comments can be avoided. Not many people in there at the moment, though; but dropping a question and having some patience usually helps :)

Thanks for answer @Izzy (I am learning about ADB and Fastboot, this days, searching for a hack, I am newbie on Android context but I am a faster-deep-learner) in the meanwhile, maybe I learn something because of this. I will see that link and continue my research about this matter (from a "own smartphone" perspective, of course) the right of owners to recover "own data" beyond the "common problem" ("the Righteous pay the price of Sinners", idiom I don't know if exists on English, as I am spanish speaker. About the levels rep etc (I am a newbie on StackExchange :D) thanks for comment and help.

@AndyYan Thanks for understanding (this is a complex topic), I have background on Data-recovery and IT-Forensics (I could access data directly via Hardware) even if that implies a JTAG-like dump (but I prefer, first try a "software method", the nature of personal info implies I won't hire a "specialist", only a specific "how to". I post on official MIUI forums, I will see if that get some answers. – TarekJor 14 mins ago   delete

BTW, I agree with the "extensive discussion in comments" problem, sorry about that :)  (from now on I will use chat). Now I am on this step:  first get official support from OEM Xiaomi, even if they need to use their propietary tools, but that has a problem about "confidential data" on Data Recovery (I will try to avoid low level JTAG-like dump, as possible), thanks for all your answers. The key thing is, if there is no-exploit, then only OEM has the solution, and as the "device owner" this need a proper special fix, but it is possible.

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


text:
Make call remotely from one phone through bluetooth using other phone?
I have two mobile phones:

Samsung Galaxy S3 i9305 with SIM card
Samsung Galaxy Note 3 N9005

I would like to

connect them with Bluetooth,
start my phone calls from Samsung Galaxy Note 3 remotely through Bluetooth,
the voice should go through Bluetooth to Samsung Galaxy S3, using its SIM card to make the phone call.

There is a remote Bluetooth sim solution named rSAP (Bluetooth Remote SIM Access Profile), which is used to remotely connect to car mobile.
http://www.android-rsap.com/bluetooth-sim-access-profile.html
But the developer of the app said, it will not work for the task I need:

I don't think you will find a solution for your use case. It may be
  possible to do it by using the "Handsfree" Bluetooth profile but I
  doubt that the Android programming interfaces make a Handsfree client
  possible. You will most probably have to create your own Android
  firmware, e.g. based on LineageOS.

Is this possible to solve in some other way?

I'm not sure how, but i know it's possible because you can turn off sim card access in Bluetooth settings, So hypothetically you can use your Bluetooth as a remote sim card on the other device ! .... Their should be some sort of app out that will utilise this feature !

Alternatively, you could use a Hands free kit ( considering Bluetooth only reaches around 10m )

Why do you want to do this ? ...    If you explained the exact purpose for this, you will be more likely to get a concise answer !........      For example,   If you wanted to receive calls to your S3 on your S4, You'd set up a forwarding number and an immediate ring out time.  ....  If you wanted to make calls as your S3 number, you can use an application on the store called DingTone and set up your ID with a confirmation code on the S3....   If you wanted to do this because you have the wrong sim card ( micro, nano, etc )  Just cut or place the card exactly on the terminals ! cut corner up !

DingTone starts calls locally, not on my other phone through Bluetooth. No DingTone is not good for me.

You can WiFi Hotspot from your S3 to your S4 and make an internet call using your S3 Number in Dingtone .. It's a sort of work around for what you want !

It's just costly ! ... You could also set a Forwarding number on your S3 to your Dingtone number, And the you can ultimately call from your S3 number and receive calls via forwarding to your dingtone number... If you get me..... IT COSTS MONEY TO USE DINGTONE IN THIS MANNER !... But compared to buying credit or paying for plan rates ... It works out cheaper

Sorry, but none of your solutions match my described awaited solution.

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


text:
Do Android permissions allow listeners on ports >1024 without special root permissions (only standard in-app permissions)
I'm not an Android developer, I am a developer in many other contexts.
I have a simple question that I don't see an answer to on Google: Can a standard android application (no rooting required) listen to a socket on a high numbered port? E.e. only using standard in-app permissions?
Any reference to the documentation on the available permissions would be a nice addition for this weekend warrior Android coder to-be.

Android bases on Linux and thus has the same limitations that the root permissions are required to open a socket on ports below 1024.
For opening a socket in an app on a port greater than or equal to 1024 the app itself needs to have the static permission:
<uses-permission android:name="android.permission.INTERNET" />

defined in its AndroidManifest.xml. Without that permission no network communication is allowed by the Android operating system. With the permission you can open client and server sockets to perform network operations as usual.
When opening a socket for running a server, be aware that usually this only makes sense on the WiFi interface. On the mobile network interface you can open up a socket, but as mobile network providers don't assign a public IP, you can't reach a server running on a Android system connected via mobile data to the Internet.

Is there a way to open a web server on a "Unix domain socket" that is accessible only to another app on the same device?


text:
How do you pair a Device for Wireless Debugging with a QR Code?
There doesn't seem to be much written on this, but I see an option to pair my device with a QR code scanner. Is there a way to pair my phone with my computer by generating a QR code on my computer and scanning it from my phone?
I'm running Ubuntu 20.04.
I'm using the Pixel 4a running Android 11.

This answer explains the background history of the built-in feature in Android Studio. For the technology used and 3rd-party software, you can read my answer here.

As of 26 January 2022, the feature can be used on the stable version of Android Studio Bumblebee 2021.1.1 with Android 11+ devices. Though, the performance may still be buggy on some platforms.
Background History
While the revamped wireless debugging has been known since

the source code commits in October 2019 by XDA

On the user-side, Google plans to add a new “wireless debugging” switch in Developer Options that supports pairing devices by scanning a QR code or entering a 6 digit code.

the release of Android 11 DP2 in March 2020, as reported by 9 to 5 Google and Android Police

it was first introduced officially on Android 11: Developer Preview 3 in April 2020.

Wireless Debugging - In Android 11, we’ve completely revamped the debugging experience using ADB over a Wi-Fi connection. With limited USB ports on laptops, and a myriad of USB cables & connections to manage, the Wireless Debugging feature in Android 11 can help you be more productive. Unlike the existing TCP/IP debugging workflow, Wireless Debugging on Android 11 does not need a cable to set up, remembers connections over time, and can utilize the full speed of the latest Wi-Fi standards. In DP3, use the pairing code workflow to get started with this developer feature. We plan to add an integrated experience for Wireless Debugging with QR code scanning in a future Android Studio release, but we want to get your early feedback on the command line tool offered in Android 11 DP3. For details, see the documentation.
(Emphasis added, link fixed)

However, it was not until December 2020 that the new Android Studio Canary version, Android Studio Arctic Fox (2020.3.1) shown the pairing interface for the first time.

Lastly, for those running MacOS (other platforms are coming soon) with the latest Android Platform tools and an Android 11 device, you can try out the IDE integration for the Wireless ADB feature by going to the Run device selection dialogue → Pair Devices Using Wi-Fi.

Menu to access Wireless ADB feature

Wireless ADB Setup Window

That's pretty cool. I use adb on the command line so I was half expecting some ncurses based qr code generation thing haha. Maybe in the future who knows.

I found out in the meantime that you need to use the ’adb pair’ to pair, but it's guess you can do this just by using a USB cable too. When paired you can use ‘adb connect‘ to connect the device.

This answer explains the technology used and 3rd-party software. For background history of the built-in feature in Android Studio, you can read my answer here.

Android 11 and ADB utilize multicast DNS (mDNS) for its wireless pairing.
ADB 30.0.0 added support for wireless pairing, including commands like:

adb pair to pair the Android device with the host machine using pairing code

adb mdns check to check which mDNS daemon is used

On Windows, using Openscreen discovery added in ADB 31.0.2:
C:\android-sdk\platform-tools> adb mdns check
mdns daemon version [Openscreen discovery 0.0.0]

On Windows, using Bonjour service
C:\android-sdk\platform-tools> adb mdns check
mdns daemon version [2140303]

adb mdns services to list available mDNS services created by the Android devices
C:\android-sdk\platform-tools> adb mdns services
List of discovered mdns services
adb-941AY0HXWG-r8Nucn   _adb-tls-connect._tcp.  192.168.0.147:37387
adb-941AY0HXWG-r8Nucn   _adb-tls-pairing._tcp.  192.168.0.147:42885

In addition to the built-in feature in Android Studio, there is also some 3rd-party software that simulates the same process by generating a QR code to initiate the wireless pairing:

GitHub - benigumocom/debug_from_qr.py: an executable Python 3 script

Dependency packages:

zeroconf
qrencode

Windows executable: GitHub - valterfukuoka
/
qrencodecompilewindows

Demo video: YouTube - BENIGUMO.COM - Pair device with QR code - Android11

Sample
C:\> py .\debug_from_qr.py
█████████████████████████████████
█████████████████████████████████
████ ▄▄▄▄▄ █ ██▀▀ █ ▀█ ▄▄▄▄▄ ████
████ █   █ █  ▀█▄█▄▀▄█ █   █ ████
████ █▄▄▄█ █▀  █ ▄ ▄▄█ █▄▄▄█ ████
████▄▄▄▄▄▄▄█▄█ ▀▄▀ █▄█▄▄▄▄▄▄▄████
████ ▄██ ▄▄▀██▄▀▀▀ █ ▀█ █▄ ▄▄████
████▄▄▄▄▀▀▄▄▀ ▄█▄▄▀▄███▄▄████████
████ ▄▄ ▄█▄▀▀▀▀▀▀ ▄▀█▀▄▀▀ ▄▄▄████
██████▄█▀█▄▄ ▄██▄▄▀▄▄▄▀▄█▄▀▄▀████
████▄▄██▄█▄▄ ▄▀▀▄▀ ▀ ▄▄▄   ▀▀████
████ ▄▄▄▄▄ █▀▄█▄▄▄▀▄ █▄█  ▀██████
████ █   █ █▄ ███▀▄█ ▄▄  ▄▄▄ ████
████ █▄▄▄█ █▀▄█▄▄▄▀▀ ▄▄▄█▄▀ ▀████
████▄▄▄▄▄▄▄█▄█▄█▄▄█▄████▄▄██▄████
█████████████████████████████████
█████████████████████████████████
Scan QR code to pair new devices.
[Developer options]-[Wireless debugging]-[Pair device with QR code]
Press enter to exit...

Service debug._adb-tls-pairing._tcp.local. added.
service info: ServiceInfo(type='_adb-tls-pairing._tcp.local.', name='debug._adb-tls-pairing._tcp.local.', addresses=[b'\xc0\xa8\x00\x93', b'\xc0\xa8\x00\x9f'], port=40067, weight=0, priority=0, server='Android-2.local.', properties={}, interface_index=None)

adb pair Android-2.local.:40067 123456
Successfully paired to Android-2.local.:40067 [guid=adb-941AY0HXWG-r8Nucn]
Service debug._adb-tls-pairing._tcp.local. removed.
Press enter to exit...

List of devices attached
adb-941AY0HXWG-r8Nucn._adb-tls-connect._tcp. device product:sargo model:Pixel_3a device:sargo transport_id:3

GitHub - saleehk/adb-wifi: an NPM command line interface (CLI) tool

Install: npm i adb-wifi -g

Usage: adb-wifi

Sample
C:\> adb-wifi
[Developer options]->[Wireless debugging]->[Pair device with QR code]
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
█ ▄▄▄▄▄ █▄▀ ▀ ▀ █▄▄█▄▀▄▄ ██ ▄▄▄▄▄ █
█ █   █ █   █▀  ▀▀█▄ █▀ ███ █   █ █
█ █▄▄▄█ █▄█▀ ▄█▀▄█▄▄ █ ██▀█ █▄▄▄█ █
█▄▄▄▄▄▄▄█▄█ █ █ █▄▀▄█ █▄▀▄█▄▄▄▄▄▄▄█
█  ▄▄▀▀▄█▄█ ▄   ▄▀ ██  ██▄▄██▄▄▄▀ █
█▀▀▀▀▄▀▄▄▄  ▄▄▀▄▀▀███▄█▄▄▀▀ ▀▀ ▄█▄█
█▄▀ █▄▀▄█▀ ▄▀ ▄▄▄▀█▀▄▄▀ ▄  ▀ █▄▄█ █
█▀ ██ ▀▄ ▀▀▀ █▄▀█ ▄▄ █ ▄▀ ▀  ▄█▀█▀█
██▄ ▄█▀▄█▄▀▄█▄ ▀▄█▀▄ ▀   ▀▄▄▀▀█  ▄█
█▄▀▄▄  ▄▀█  ▀█▄▀▄ ▀ ▀ █ ▀█ █▄ ██ ▀█
█ █▄ ▄▀▄ █  ██ ▄█▀▄▄▄▀   ███ ██▀▄▄█
██▀▄██▄▄ ▄ █▀▀ ▄█▄▄▄█ ██  ██▄ ▀█▄ █
█▄█▄█▄▄▄▄ ▀█ ▄▀▄▄ ▀█▀  ▄▄ ▄▄▄ █▄ ▀█
█ ▄▄▄▄▄ ██ ▀▀ █ ▀▀▄▀▄▄▀▀▀ █▄█ ▀▀▀██
█ █   █ █▀ ▄▀▄▄█▄█▀▄█▀▀  ▄▄▄  ▄█ ▄█
█ █▄▄▄█ █ █▄██▄█▄▄▀▀█▄▄▄▀█▀▀▀▀▀█▄▀█
█▄▄▄▄▄▄▄█▄██▄▄██▄█▄███▄█▄█▄▄██▄▄███

stdout: Successfully paired to 192.168.0.147:38629 [guid=adb-941AY0HXWG-r8Nucn]

mDNS Compatibility
Since this feature depends on mDNS, different operating systems may have different compatibility:

Apple has a native implementation in iOS and macOS
Linux distros tend to implement mDNS through the Avahi daemon
Windows does not have a native implementation until Windows 10 (1703), but even then it may still fail:

User may need to install Apple's Bonjour Print Services
Super User - How to enable mDNS on Windows 10 build 17134?

Additional references:

XDA Developers - Android 11 may finally bring a proper, native Wireless ADB implementation
Android finally supports a basic networking feature: mDNS .local resolution

This should actually be the accepted answer, as it is the most detailed one with highest developer experience degree

For .NET users: https://gist.github.com/yasirkula/289a0eb41794c67ef1a18f082d491a74

You can pair your phone wirelessly using ADB by following these steps:

Make sure your phone and laptop are on the same network.
Open the following menu on your phone: Settings>Developer options>Wireless debugging. Enable the feature and then click on Pair device with pairing code on the same screen.
Open a terminal on your laptop and use the below command to pair your phone with your laptop:

adb pair host:port code

You can find host, port and code on your phone screen after clicking on Pair device with pairing code in the wireless debugging menu.
4. Run the below command to make sure the pairing has been done successfully:
adb devices

I appreciate the answer, but that wasn't my question. The question has to do with the fact that there is a way to pair a phone using a QR code and I was wondering how you could do that instead of using the code.

appreciate this was not what the OP was looking for, but I came here via Google and this was exactly what was needed.

After doing adb pair, you also need to adb connect host:port. The connect port is not the same as the pairing port (though the IP should be the same).

Just wanted to add that if you try to scan the QR code directly from the camera, like on a Pixel by pointing it at the QR code and clicking the link, it won't work. You will get an error message that says "QR Code contains incorrect WiFi password". This error message is a red herring, it has nothing to do with the WiFi password, you just can't pair with the QR code by scanning it with the camera
Instead, like is mentioned in Yandirr's answer, you have to go to:
Settings --> System --> Developer options --> Wireless debugging (Yes you can click the text) --> Pair device with QR code
Then when you scan the QR code it should work. I think it's bad UI design that you have to click on the "Wireless debugging" text since it looks like that's just a single radio button to toggle the Wireless debugging option, but in actuality there's an entire sub-menu hidden behind it.


text:
List devices/computers that have been authorized for ADB USB Debugging
I want to know which devices I have already connected to my computer with my ADB or know which computers I have connected to my phone previously. Either way works for me.
adb devices -l does not show anything important, because it only displays currently attached.
I would prefer a way without root (on phone), but will accept any help.

You can see which devices were authorized by you on your phone to interact with it through  adb. You would need root access though.
Go into the directory /data/misc/adb/. There would be two files:

adb_keys
adb_temp_keys.xml

adb_keys shows the public key of the other device followed by its user@machine name format. The user@machine should tell you which machines or the users from other device tried to interact with your device over adb.

QAAAAIHvxXl/r5XiRyUjky9qXWjKlhORSv609je3tETRN+K8RLwMLD2spGbiFcBK8s1vNvINcaXalAURVHTwiEL6wgfC+1taH8coI/I1OvnA6/8wd9VC22s3ZMESL1XcibGyLm1mSn02niAu7kSPw4skFjl06na8SKNEFmxhVqBkuV8kNj8cXmeacRX4clhPOZOX40f2I0YzfYSrhTLL5bvG4l3OVfljnJ2+xTwgrhgCdTWL0OfbfSdJ7B5FUAuqoYhEaRbRmBRUELosvFfzgO4PgdSGbkZ6vBPHyOMXQGOm/4ASbD4cZ2BGyhNcObOkCtskVtpZvXF1w+veOK7jq/H1PLxlnaiOnqa/39DcWXWPUrUEQbiqQ78FECb/L/NqkypDoQbsELuTta+ZrrFTQJelX4FuQZERGpUpwDMniIbuqCoFvxEy24t9kBQL94lduMkFIpcgHjioLveK8oBA6VZczhBHoU1Bnv/3YnRX8WoDtLRvKxiJVo/yll+P+6F0rurYKoYRybSQY01+dxL0qx93lDvEIb5H4SJho0yPcIBDk8qTn9Wuo/xHvCqBuuY7JTFAyGBPD2VDxvjqZZq7+nf6m4/wmJxmTmUubvy+Xs7CjrkVpBfgc4UYG5hZGtPv4MlGvhAlPYWOK1ilz4VUne5aDHJA7SqatXDW8y6F6oE/1G7TP6KmUgEAAQA= root@slackware.aes
QAAAAC023z1bdsttygmxLzZtMGn1c8AZ+e710qX2fumNszrUoyd+BI7euEG2Ve2Y3jMfYPPNd3n+GNopgysZ0KRgluZ78EqUNKZsWPP8aAZKFtEne6NTdIJFEl7w7t48I/R76hhfDUk9ImN8Cug/yYKer3Ry6rr1nVBkSFFUi/8GQb0aDRHFzGVXAnWIeQL7CrLN3vI4bYSs3g2ysLeTr2LGt6i8gbgVsKLnDWssgsz3KD4bG4W4MR43Tr4GLA9Ud7GoZwQo770zIs4dmi/BxREEWsSA2ZKqp5OApzD0psNfcwynpMpoWUDz8AEgQxlf3UlZaPSYpj+2pMb4N2uyeP+VUWmy3IjHvMJxNVmqwCxUrI6Uynb00CXqC87vEokkhWxBiaqui+FzdErdCohYz+aAVQm7uZg5hnIviWBjQ4OWvubGCTQHJev0XNdBUGdFLpekm8aG1teDL6tCxnB9VpQeosFR8rOSdVM0M4H5uxU/SPQ+t9v2yZGQFrtyO3gWZeDazlJtaIkvLvEHc9HSlTu0XW7BR585Oj+6c54Y6AoxeezqlJ6cxAf9J6OQvTCBGEVS4NbPonLDVy7KJuWVRH3BwJf3d5vhwNa6vy9RuzIK1vFHY1+9Rd8TTUvFbeZjgfEQHngyajpywFHaolCvIwvENb+xGXOrXqbUiWu4Kk2CXr+gnucMowEAAQA= neon@neon

adb_temp_keys.xml also has the same information as in adb_keys file except that it is formatted in XML and also shows last connection time (in UNIX Epoch format).
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<adbKey key="QAAAAC023z1bdsttygmxLzZtMGn1c8AZ+e710qX2fumNszrUoyd+BI7euEG2Ve2Y3jMfYPPNd3n+GNopgysZ0KRgluZ78EqUNKZsWPP8aAZKFtEne6NTdIJFEl7w7t48I/R76hhfDUk9ImN8Cug/yYKer3Ry6rr1nVBkSFFUi/8GQb0aDRHFzGVXAnWIeQL7CrLN3vI4bYSs3g2ysLeTr2LGt6i8gbgVsKLnDWssgsz3KD4bG4W4MR43Tr4GLA9Ud7GoZwQo770zIs4dmi/BxREEWsSA2ZKqp5OApzD0psNfcwynpMpoWUDz8AEgQxlf3UlZaPSYpj+2pMb4N2uyeP+VUWmy3IjHvMJxNVmqwCxUrI6Uynb00CXqC87vEokkhWxBiaqui+FzdErdCohYz+aAVQm7uZg5hnIviWBjQ4OWvubGCTQHJev0XNdBUGdFLpekm8aG1teDL6tCxnB9VpQeosFR8rOSdVM0M4H5uxU/SPQ+t9v2yZGQFrtyO3gWZeDazlJtaIkvLvEHc9HSlTu0XW7BR585Oj+6c54Y6AoxeezqlJ6cxAf9J6OQvTCBGEVS4NbPonLDVy7KJuWVRH3BwJf3d5vhwNa6vy9RuzIK1vFHY1+9Rd8TTUvFbeZjgfEQHngyajpywFHaolCvIwvENb+xGXOrXqbUiWu4Kk2CXr+gnucMowEAAQA= neon@neon" lastConnection="1616486869211" />
<adbKey key="QAAAAIHvxXl/r5XiRyUjky9qXWjKlhORSv609je3tETRN+K8RLwMLD2spGbiFcBK8s1vNvINcaXalAURVHTwiEL6wgfC+1taH8coI/I1OvnA6/8wd9VC22s3ZMESL1XcibGyLm1mSn02niAu7kSPw4skFjl06na8SKNEFmxhVqBkuV8kNj8cXmeacRX4clhPOZOX40f2I0YzfYSrhTLL5bvG4l3OVfljnJ2+xTwgrhgCdTWL0OfbfSdJ7B5FUAuqoYhEaRbRmBRUELosvFfzgO4PgdSGbkZ6vBPHyOMXQGOm/4ASbD4cZ2BGyhNcObOkCtskVtpZvXF1w+veOK7jq/H1PLxlnaiOnqa/39DcWXWPUrUEQbiqQ78FECb/L/NqkypDoQbsELuTta+ZrrFTQJelX4FuQZERGpUpwDMniIbuqCoFvxEy24t9kBQL94lduMkFIpcgHjioLveK8oBA6VZczhBHoU1Bnv/3YnRX8WoDtLRvKxiJVo/yll+P+6F0rurYKoYRybSQY01+dxL0qx93lDvEIb5H4SJho0yPcIBDk8qTn9Wuo/xHvCqBuuY7JTFAyGBPD2VDxvjqZZq7+nf6m4/wmJxmTmUubvy+Xs7CjrkVpBfgc4UYG5hZGtPv4MlGvhAlPYWOK1ilz4VUne5aDHJA7SqatXDW8y6F6oE/1G7TP6KmUgEAAQA= root@slackware.aes" lastConnection="1616487035512" />

Thanks for the answer. Does it work even when the user has pressed the "Revoke usb debugging authorizations" or something like that? Sorry for late reply by the way.

I have not tried this, but I don't think it should have a record of those devices.

Oh. Well anyway I am going to mark this as an answer because atleast it works given that the user hasn't pressed the button. Thank you for the generous help.


text:
Will clearing Android Messages storage and cache cause lose of text messages?
I recently discovered that my Android Messages app (version: messages.android_20240109_01_RCO4.phone_dynamic, updated on Jan 25, 2024) in my Samsung Galaxy S20 FE 5G (SM-G781V, Android 13) has been displaying text messages with an obnoxious line height.
I found this solution on a Google support forum, but before I try it, I want to make sure I won't lose all my old text messages.

Settings - applications - force stop then storage and cache - clear data then clear cache.

Possibly related issue: Google Messages Not Functioning Well (on Galaxy S20 5G)

It won't delete your MMS/SMS (the conventional messages) in any case if you clear data of the default Messaging app. I'm not exactly sure about RCS chats but technically they should also be not cleared.

A more safer approach would be

Download another Messaging app (get a good 3rd part messaging app from Play Store)
Make it the default messaging app
See if all your messages (both SMS/MMS and RCS) are visible there
Clear data of the original Messaging app you were refering to
Once it's done, open it and make it the default Messaging app again
After making sure all messages are back there, uninstall the third party app you installed

I followed these steps and found that my messages remained intact.

If you delete the cache it won't delete your old messages. But if you delete DATA, it absolutely will. I just did so on my Samsung Galaxy phone after backing up all my messages.

It won't delete your MMS/SMS (the conventional messages) in any case if you clear data of the default Messaging app. I'm not exactly sure about RCS chats but technically they should also be not cleared.

Your answer could be improved with additional supporting information. Please [edit] to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center.


text:
Is the received SMS from Google with a code genuine?
I just received an SMS, the phone shows that the sender is "Google"
it says:

.Google (some Arabic) G-123131231 (some code basically).

Could this actually be Google?
Why was it sent to me?

Maybe someone is trying to login to your Google account, and Google is sending you the 2fa code. As long as you're not logging in yourself, ignore the message.
You may also want to change your password, just to be safe.
And it is recommended to check the list of logged-on devices.

And it is recommended to check the list of logged-on devices Google My Devices.

@Robert Good point, added.


text:
Notifications are removed regularly and energy saving mode activated spontaneously
I have a Samsung Galaxy A51 phone, 2 or 3 years old. Since some time, out of nothing (like just after using the phone for some time, when getting out of screen lock), I see notifications (like WhatsApp, mail, etc.) icons on the main page.
However, before I have the chance to look at them/click them, the phone gets into energy (battery) savings mode spontaneously and all notifications are gone (when disabling energy savings mode manually). So, I have to find in all applications what 'news' there is.

Is there a solution to get rid of this spontaneous saving mode activations? (without disabling it when I want to do it manually to save battery power) ?

You should be able to turn off Adaptive Battery Saving if you go to Device Care, tap the three-dot button, and then tap Automation. So now your phone won't turn on the Battery Saver by itself.
Sample Images Attached

Thanks, although the screenshot looked slightly different on my phone, I found similar options which I switched off (since about 4 hours), and didn't get the annoying screen saver problems again.


text:
A universal way of changing the PIN code on a mobile SIM card
Is there a universal way to change the PIN code on a SIM card for a mobile/cell phone?
Will it work on both my phone's two SIM cards, SIM1 and SIM2?

Is there a universal way to change the pin code on a SIM-card for a mobile/cell phone?

Enter * * 04 * oldPIN * newPIN * newPIN # in the usual way that you dial a phone number (i.e. through the "Phone" app if it's on Android). This is defined by ETSI GSM 02.30.

Will it work on both my phone's two SIM-cards, SIM1 and SIM2?

Dual-SIM phones were outside the scope of the standard, so it depends on the way each manufacturer implements its SIM selection UI.


text:
Enable vibration and location services while on battery saver
I like using battery saver on my Android phone as it greatly extends the battery.  However, there is one app that I use that I would like to exempt from two of the things that batter saver disables - vibration and location services.
I'm ok with the battery usage for these on this one app only but want to restrict all other apps from using the battery.
How can I accomplish this?

Vibration and GPS are considered as system services, not apps. Thus, it cannot be exempted on the usual setting when Battery Saver is enabled. However, since Android 8.0 Oreo, it is possible to tweak some settings for Battery Saver.
This is related to the BATTERY_SAVER_CONSTANTS global settings that can be modified through ADB.
/**
         * Battery Saver specific settings
         * This is encoded as a key=value list, separated by commas. Ex:
         *
         * "vibration_disabled=true,adjust_brightness_factor=0.5"
         *
         * The following keys are supported:
         *
         * <pre>
         * advertise_is_enabled              (boolean)
         * datasaver_disabled                (boolean)
         * enable_night_mode                 (boolean)
         * launch_boost_disabled             (boolean)
         * vibration_disabled                (boolean)
         * animation_disabled                (boolean)
         * soundtrigger_disabled             (boolean)
         * fullbackup_deferred               (boolean)
         * keyvaluebackup_deferred           (boolean)
         * firewall_disabled                 (boolean)
         * gps_mode                          (int)
         * adjust_brightness_disabled        (boolean)
         * adjust_brightness_factor          (float)
         * force_all_apps_standby            (boolean)
         * force_background_check            (boolean)
         * optional_sensors_disabled         (boolean)
         * aod_disabled                      (boolean)
         * quick_doze_enabled                (boolean)
         * </pre>
         * @hide
         * @see com.android.server.power.batterysaver.BatterySaverPolicy
         */
        @UnsupportedAppUsage
        @TestApi
        public static final String BATTERY_SAVER_CONSTANTS = "battery_saver_constants";

For the possible integer values of gps_mode:
/**
     * Either the location providers shouldn't be affected by battery saver,
     * or battery saver is off.
     */
    public static final int LOCATION_MODE_NO_CHANGE = 0;

    /**
     * In this mode, the GPS based location provider should be disabled when battery saver is on and
     * the device is non-interactive.
     */
    public static final int LOCATION_MODE_GPS_DISABLED_WHEN_SCREEN_OFF = 1;

    /**
     * All location providers should be disabled when battery saver is on and
     * the device is non-interactive.
     */
    public static final int LOCATION_MODE_ALL_DISABLED_WHEN_SCREEN_OFF = 2;

    /**
     * In this mode, all the location providers will be kept available, but location fixes
     * should only be provided to foreground apps.
     */
    public static final int LOCATION_MODE_FOREGROUND_ONLY = 3;

    /**
     * In this mode, location will not be turned off, but LocationManager will throttle all
     * requests to providers when the device is non-interactive.
     */
    public static final int LOCATION_MODE_THROTTLE_REQUESTS_WHEN_SCREEN_OFF = 4;

As stated on XDA Developers, How to Customize Battery Saver Mode in Android 8.0 Oreo:

Install ADB and USB drivers if necessary.
Connect the Android device to the PC with USB and wait until the device is detected
Open a command prompt and type adb devices to make sure the ADB detects it.
Type adb shell
Decide which values wanted to be changed. Inputting multiple keys are supported with comma separation. For this specific question: vibration_disabled=false,gps_mode=0
Type settings put global battery_saver_constants <new_value>. Note that the change is permanent, so to undo, the user needs to manually input the opposite values instead.

On rooted devices, it is also possible to run the settings command directly from the device using terminal apps like Termux.

This is very helpful, thanks!  I think for my use, gps_mode=3 would work well, as my app runs a service which is foregrounded for GPS events only when I tell it to run, while other apps that run in the background will get denied and not use extra battery.

I have tested this out and it works perfectly.  I appreciate this this awesome answer and am going to wait to accept until I can give you some bounty points for it. :-)

After running with this for over a day, I noticed that my app had stopped producing screen off vibration when in battery saver mode.  I then checked GPS and it would no longer lock or report positions in the same.  But I reconnected USB and reran the adb command and now it's working again.  Perhaps it's less permanent than you thought?  I didn't install anything such as updates in the interim.

@Michael Unfortunately, I don't have an Android 8.0 or higher to test... and in theory, the setting should preserve permanently. However, I can't expect much since each vendor may behave differently and something might overwrite the value. Perhaps a new question regarding "preserving settings value" or "identifying the app/process that modifies the settings value" could be a good candidate... (though, the comment thread on How to make changes done through adb settings put persist through device reboots? might hint a more complex issue...

I don't even remember rebooting the device!  Ah well, it's useful although if I'm going to have to periodically reset it I'm going to try to automate it somewhat. :-)

Assuming you have a Pixel 3XL and using the system level battery saving,
From: https://dontkillmyapp.com/google
Pie and pre-Pie
If you see background processing issues, overall it is a good idea to make your app not battery optimized to ensure it gets the freedom it needs to perform in the background.
For that:

Go to Settings > Apps > Your app > Advanced > Battery > Battery optimization
Change view to All apps
Search for your app
Choose Not optimized

From the comments:

my app is already not optimized, but vibration doesn't work nor does GPS with the screen off when power saver is on.

So as stated in: https://support.google.com/pixelphone/answer/6187458?hl=en
What happens when Power Saver is on:

Apps only refresh their content, like email or news, when you look at the app.
Location services stop when your screen is off.
Apps stop doing things in the background, unless you turn off battery optimization.
Your phone stops listening for "Ok Google.” Instead, you need to squeeze your phone or tap the Assistant icon Assistant.
Dark theme turns on.
Your phone and notifications may be delayed.

So your app not receiving GPS/location services is covered by Power Saver behavior, as to why vibration isn't working I can't say without knowing why vibration is occurring unless its related to any of the above items like location or a background process.

my app is already not optimized, but vibration doesn't work nor does GPS with the screen off when power saver is on.

@Michael See update to answer.


text:
How can I eyeball a URL before clicking, on Brave on Android?
On a desktop, I always hover and look at a link before clicking it.
Is there a way I can get Brave on Android to show me the link contents first?

What have you tried and what isn't working? Have you tried just long-pressing the link? It should show you the full link, plus give you options like Open in a new tab, private tab, copy link, share, etc...

@acejavelin.  that works

To inspect a link in most mobile browsers, as well as perform additional functions like copying or sharing the link, opening it in a new tab or a private window, copying the link text, and other functions common in desktop versions of browsers by right-clicking the link, you would long-press the link and that will bring up a menu as well as show the full link address in the pop-up.


text:
Use scrcpy to connect to multiple smartphones
I just learned how to use scrcpy. I successfully turned on ADB on the Android and am able to scrcpy to it from my PC. Now, I want to connect to multiple smartphones.
I notice it is a portable app, so is it a matter of duplicating multiple folders of scrcpy? Or can I connect to multiple phones from one instance of scrcpy?

If multiple devices are connected you can select the device to connect to by specify it's serial number. This is documented on the scrcpy help page. Therefore you can start one scrcpy instance per device.

Multi-devices
If several devices are listed in adb devices, you must specify the
serial:

scrcpy --serial 0123456789abcdef
scrcpy -s 0123456789abcdef # short

To get a detailed list of devices you can execute the command
adb devices -l

Thank you, this solves it. My issue seems to be outside the scope of this question. I Samsung Active2 that I can ping, but actively refused on port 5555 when I try telnet nor adb connect x.x.x.x:5555. I'm doing this via wireless as well.

@Sun ADB via wireless is disabled by default (and AFAIR reset with every reboot). Therefore you have to connect the device via USB ADB and enable ADB wireless first.


text:
Where is the saved .vzm file?
I am trying to save text messages for a particular caller.
In the Message+ app, in the "Conversations" window, I long-press on the caller and select Save messages. The next window "Save Conversations" shows a default file name (which I can change if so desired). Then I click Save and that window closes and it returns to the Conversations window.
If I long click again and go to "Save Conversations", it shows the file I saved.

I want to know where this file is on the filesystem or be able to send that file in an email. As it is, I can only Restore, which is not what I need.
Looking in the file browser, I do not see this file in Downloads, or anywhere.
The mobile service is Xfinity/Verizon. I called them and they were not able to help
Device: Pixel 6a
Android version: 14

Please also link the app, so that future readers can know which is the app you are referring to//From the context and tags I could figure out that it is from Verizon (and therefore not shown in Play Store for me, since Verizon doesn't operate in India)

I rolled back the edit because the screenshot isn't related to the original issue. Instead, I've edited one of your comments on the answer to include the link to the screenshot.

Note that if the file is saved in app directory, it may not be accessible to you unless your device is rooted
Since Verizon isn't helping you, you may like to explore a third party solution as explained in my answer here
To summarize :

Install SMS Backup and restore and take a back up of your SMSes.

From the app see "Backed up (time)" and tap view details. It will list SMS Backup. Tap on that to view conversations and all your conversations are listed. From the 3 dots menu against the conversation you want select print conversation and it will be printed as a PDF file with date and time stamps. It will show both sent and received SMSes.

Send the PDF file by mail.

Just a note. The first week of this app if free. After that it is $13 per WEEK which is outrageous.

Look at the FAQ for the difference between ordinary and paid version//I have got the ordinary version running for years and this answer is based on that!

The free version has ads while the paid does not.//
The paid version has options to compress and encrypt the backup files.//
The paid version has support for using WebDAV as a cloud location for backups.// None of these are required for the answer I wrote// Even the pro one costs less than $ 6 as a one time buy //IDK what figures you are quoting// Link to the paid app

I've added a screenshot of the renewal notice

@AlLelopath sorry logged in after a long while, maybe it's a region specific thing, I understand developers can do that(I am not one)

I think I've finally found it! On my phone the location is /storage/emulated/0/Android/data/com.verizon.messaging.vzmsgs/data/files/VZMessages.  I'd expect that maybe some devices have a different location of Android, such as maybe /sdcard.  I used an app called App Manager to find this external data location of the app.
Note that I can't see the files in my file explorer app on the phone (can't even see the Android/data folder).  It sounds like Android has tried to lock down file access quite a bit.
However, on my Pixel 6 (Android 14) device I am able to access the files through USB with either adb from android's "platform-tools" (adb pull /storage/... and adb push ./something /storage/... -- need to enable debugging on the phone for this), or (easier) by connecting the device as MTP/media transfer (for me when plugged in there is a notification which says "charging device - tap for more options", and tapping allows me to choose file transfer).
After doing the transfer down from the old phone and up to the new phone at the same location, I found that the app ("Message+") still was not finding anything for it's "Restore from SD Card".  I think the problem was the permissions on the files, because I changed the permissions of the files (may be able to do with MTP, but in my case I used adb shell and then in the shell chmod -R a+w VZMessages/* and chmod -R a+r VZMessages/*) it saw the backups and I was able to restore from them!
I was trying all sorts of things such as trying to instrument with Frida/objection, adb backup (no luck with this), and finally was going to try automating scraping with appium.  Hopefully this solution will help someone else in this situation!


text:
How to mount sdext2 partition by Apps2SD script, before system mount?
Using Apps2SD Pro app on Samsung Galaxy Note 3 N9005, Resurrection Remix Nougat v5.8.5 with Magisk v17.1.
I lose the linked apps  again & again after reboot. This happened several times already.
I tried all mounting script types, including the advanced one, but after several reboots, the linked apps are disappearing (errors attached). See the Storage screenshot, where you can see the sdext2 (labelled as EXT4) mounted by system, instead by Apps2SD.
The problem is that the sdext2 partition is mounted earlier than the Apps2SD is started and initialized, so Apps2SD can not mount the sdext2 partition, thus the system loses the installed linked apps.
How can I make Apps2SD started before sdext2 partition is mounted by the Resurrection Remix system?

(Tap to enlarge)

Don't go for apps, they always dump you ;) If you want more space on internal memory, create a second partition on external sdcard and mount this partition on boot using init.rc. Just add a mount statement after mount_all command (which mounts /data as specified in fstab) to mount sdcard second partition (usually /dev/block/mmcblk1p2) on /data/media or /data/data wherever you want. No need to depend on vold or manage apps individually.

Thanks! Good idea, to bind the whole /data/data to second partition of external sdcard. But several big apps like Facebook or Chrome becomes very slow on external sdcard. So I have to keep some apps on internal sdcard.

Use A1 class sdcard, you won't feel even minor differences provided that your host controller is not the limiting factor. UHS3 class also performs good.

I have Samsung EVO plus 128GB sdcard, which is UHS-I class card. Unfortunately Samsung Galaxy Note 3 N9005 does not support this speed. The internal sdcard is several times faster.

you may try /data/media instead of /data/data. Data isn't written to internal sdcard that much as on /data/data. However writing larger data to sdcard will be slower but that happens rarely.

I have only 900 Mb on /data/media compared to several Gb on /data/data, so it would be not really helpful. I really need to make Apps2SD mounting done before the system mount, this would be the real solution.

I recently stumbled upon a Magisk module called fbind to fix the issue of small internal memory. The module mounts mmcblk1p2 to extsd before Android gets the chance to mount it.
I have been using this module for a couple of days now and it is working perfectly for me. I still occasionally get the soft reboot error but it doesn't do any harm, you always can disable the soft reboot error message from the settings.

Thanks for getting my attention to the fbind feature. I will try it. However I do not like things, which resultes soft reboot. It means it makes the phone unstable.


text:
How to install app from command line (terminal)?
How to install app from command line (terminal)?
I would like to start a terminal window and do the apk installation from command line (shell script)
EDIT1: within the phone.
Also is it possible to install from Google Play from URL, instead just a local path?
I didn't get answer, how to install Google Play app from command line.

Given enough privileges (ADB, root, system application) you can use simple terminal commands to install apps:
On a PC:
Run the simple command
adb install <path to .apk file>

and the app will be installed.
This requires adb to be installed and debugging mode enabled.
The file has to be located on the PC.
In adb shell or a terminal on the device:
pm install <path to .apk file>

This is basically the same as the PC method but requires the file to be placed on the phone.
Additionally privileges to install apps are required (ADB shell inherits them from the system, other terminal apps require root)

Sometimes, installing from the device with pm install <package.apk> fails with Failure [INSTALL_FAILED_INVALID_URI]. If on CM12.1 or otherwise having root permissions and the adb client on the phone, it's possible to work around this by making the phone connect to itself. To do so, you need to execute setprop service.adb.tcp.port 5555, then adb start-server, then adb connect 127.0.0.1:5555, then finally adb shell "pm install <apk_path>". All of the commands are to be executed as root.

Lastly, if you use my abovementioned method, there are times when adb will report a dummy emulator-5554 under adb devices. Killing it via adb emu kill doesn't work, but issuing setprop service.adb.tcp.port 5555 once more will make the dummy emulator disappear. The setprop command has to be executed when the adb server is running, or else the dummy emulator won't disappear.

Hi @DeathMaskSalesman, I am on CM13 and i'm getting the INVALID_URI error. Since I'm able to install the apk with adb and my laptop I'd really be interested in getting your solution to work, so I can do it without the need for a pc. Just one question... how do you install adb in the phone?
find / -name 'adb' only gave me three folders... Looking online I couldn't find anything

@GiacomoTecyaPigani You could try your luck with a version of ADB I extracted from my CM12.1 system. After downloading it from here, remount /system in read-write mode, copy the binary to /system/bin, issue chown root.shell /system/bin/adb, chmod 755 /system/bin/adb and chcon u:object_r:system_file:s0 /system/bin/adb and see if it works.

Thanks @DeathMaskSalesman, but sadly it didn't work. I solved it downgrading to a previous CM13 release (since the one I was using was already the latest for my device)


text:
"Restrict background data" keeps turning off after a while
I have Android 6.0.1, original Samsung version on my Galaxy S5 Neo. Since I'm not on any mobile data plan and have to pay every MB I use, I'd like to restrict background data - once and forever! However, it keeps turning itself off after a while. (I don't know after what time - I often only notice it a few hours later.) So quite often, I don't notice that it's disabled again, then go online, and tons of stuff are downloaded, every single bit of which I have to pay...
What might be the cause of this? (It's not rebooting - it happens without any reboots in between.) How can I make sure background data is simply always disabled?
(I know there are some firewall apps that might help, but they either need the phone to be rooted, or they route your data through some VPN. I don't like either solution.)

The VPN it uses is local VPN.. So it's kinda safe and fast too.. I don't see a reason for not using it.   =)

I have the same problem but I know what causes it. When I display current active tasks I accidentally touch "Background data restricted" which causes it to be cancelled - but I don't notice I have done it at the time.


text:
How to set default apps on Samsung Galaxy S II + Android 4.0 (ICS)
On stock Android and 2.x ROMs on SGS2, default apps could be set in Settings -> Applications. However, when I go there with the ICS ROM, I don't see where I can set which default applications for certain actions.
Where are these settings found in SGS2 with Android 4.0?

I believe you can only CLEAR defaults, not set it. Once an action is performed that needs a user's input to select from multiple apps, a popup should appear allowing you to choose and set the default app for that action.

Yes, that describes more properly how it works. The question still is, where do I clear the defaults on SGS2+ICS?

Go to SETTINGS > MANAGE APPLICATIONS or APPS (depending on your ROM and version). Scroll through the list of apps and tap on an app that is the default for some action. This will bring up the app's properties that show the size of the app and other relevant stuff.
If the app is set as the default for a particular action - the CLEAR DEFAULT button will be active, else it'll be grayed out.
As an alternative - check out Default App Manager - it's an app that has similar functionality.


text:
Is there any way to block websites without Root access
I am searching for a way to block websites without having root access.
Is there any way to do it?
Any help will be appreciated.

Summed-up solution from above comments:
You can use a filtering proxy like e.g. FilterProxy, which lets you define what URLs should be blocked. To prevent other users from simply disabling the proxy then, you could protect it using an app locker like e.g. App Lock.

I wanted to point out another possible solution, since I had some inconveniences with FilterProxy. I now use DNS 66, which, conveniently, can also block ads, etc.
I just had to create my own hosts file myhosts.txt somewhere on my phone with the following entries:
127.0.0.1 localhost
::1 localhost

0.0.0.0 www.badwebsite1.com
0.0.0.0 www.badwebsite2.com

You can install DNS 66 via F-Droid. And of course you can use an app locker to protect it, as described in the post by Izzy.

AFAIK you can't create/edit hosts file without root access?

It's not the "actual" hosts file of the system. Hence it only works in conjunction with the DNS (or at least it did back in 2018) :)

I see, thanks for the response. For later stumblers on this article: I'm currently using personalDNSFilter, available through playstore. works perfectly! Don't need root to edit hosts file anymore.


text:
Searching for WiFi toggle
How do I get the WiFi toggle to show up in the notifications area on the Samsung Galaxy S4 - Verizon - 4.2.2 - Build VRUAME7?

When I click on the pencil icon to edit it takes me here which doesn't scroll or allow me to edit the notifications except move the order around:

You can customise the toggles by clicking the pencil icon in the top right. You should then be able to add a wifi toggle icon.
Edit: Ok. It seems like Verizon have removed that toggle. If you're rooted you can add it back though. See link here (contains screenshots).

You need to download and install SQLite Editor - you need to download and install SQLite Editor

Open up SQLite Editor - Select the Apps tab on top and scroll down until you see Settings Storage and click it.

Click on Settings.db

Click on system

Click on the search icon on top right

Type in the word notification in the Filter Value field and click ok

Once the results load up, tap on notification_panel_active_app_list (should be the bottom result) and click on the pencil icon on top to
edit

In the Value field, you'll see all your toggles listed. All you have to do is add the word Wifi <-- just like that with a semi colon
right after. Make sure there's no space after the semi colon like in
the screenshot below. Once you add Wifi, click the save button.

Close SQLite editor and reboot your phone. Once your phone boots back up, you should now have the Wifi toggle in quick settings!

Doesn't work for me. Already tried it, sorry I should have put that.

Ok. It seems like Verizon have removed that toggle. If you're rooted you can add it back though. See link

Ohh, that's unfortunate. And I can't root yet, I have the new Build version that doesn't have root available yet. I will keep this in mind though. Thanks!

Would you mind to include an excerpt from what's to be found behind the link? If the link dies, the URL does not help :)


text:
How to disable builtin email app
On my new tablet I installed the gmail app and also configured the builtin app. Now I get two notifications for each email. How can I get rid of the builtin email app which does not seem as good as the gmail app?

If you have root access, you can use an application like Titanium Backup which is capable of removing system level applications.

Ok. If you don't have root what should you do to sensibly use the gmail app without this duplication?

If you have root you can do as suggested and use Titanium Backup to remove the stock email app.
If you aren't rooted you can remove the duplicate notification by going into the stock email app, settings, and then delete your email account from the app.
If you want to keep your account you can also go into your phone settings and find the application manager, swipe over to the all apps tab, find the stock email app and uncheck show notifications (if your android version is jelly bean).

In 5.0 you can also directly "deactivate" the app via application manager after deleting all mail accounts associated with it via android settings > accounts.

Try this way:

Connect device via ADB
Go to ADB shell
adb shell

Remove app like this
pm uninstall -k --user 0 com.google.android.email


text:
How can I recover the files in LOST.DIR on my SD card, and what are they?
I've always had a LOST.DIR folder on my external SD card, which until now has been empty.  Today my phone complained that my SD card was damaged and wouldn't mount it, so I pulled it out and looked at it on my computer.  There's now a 70237 file inside LOST.DIR which is 128 MB.  It starts with something like "ë<MSWIN4.1", seemingly to indicate that it's a dump of a Windows 98 FAT boot sector (which makes no sense).
What did Android dump here and and why?  (I think I may have disconnected my phone from my PC yesterday without ejecting the drives first, so that might be the "why", though it was from Windows XP and not Windows 98.)  Is there a simple way to recover the information in this file?

do you have OSX?

@Sathya Nope, just Windows.

According to this Super User answer, LOST.DIR is the folder  mac disk repair looks for as part of it's repair process.

LOST.DIR is something mac disk repair looks for and will ask about as part of it's repair process. If it's related at all to the standard lost+found, then it's a special file that holds all the corrupted or orphaned files found during a file system check.
Something is checking your drive and finding a problem it wants to make note of in LOST.DIR. I think this sort of thing is more likely to happen with Macs on non-HFS drives.

Android also creates this directory as part of it's filesystem check and puts files there which Android believes are corrupt.

Any ideas about recovery?  It seems to be a mix of stuff and not a single file.

@MatthewRead you mentioned there was a single file? Do you have any files on your phone that you think are missing? From what I know, there's isn't a single automated way to recover them. Perhaps you can usefile to check for what type of file it is

I haven't noticed anything missing, but then I haven't used my phone much since I noticed this. It's not an executable but file seems like it would be handy elsewhere.

@MatthewRead The Windows port is a bit crippled, the Linux version is pretty powerful


text:
adb sideload stuck at 36%
I am struggling to flash lineage-14.1-20181216-nightly-i9100-signed.zip , on a old S2
the installation gets stuck both with adb sideload and manual 'install' on TWRP, with message on phone logs
patching system image unconditionally
I tried heimdall flash, following this reddit post but I get the error:
ERROR: Protocol initialisation failed!
any idea?
thanks
ps: also, fastboot does not see any device

it might be a system partition size ... (?) given that on phone it's 503 MB, while the whole LOS folder is 561 MB  ...

maybe this could help ? https://android.stackexchange.com/questions/216123/android-how-to-increase-system-partition-and-decrease-data-partition

actually I try the steps recommended there, but I get adb: error: cannot stat parted: No such file or directory

Based on the Reddit thread, I think you're right that the system partition is too small. Samsung is a bit different than other manufacturers, so I'm not sure parted may work. Btw, I read the continuation on that Reddit thread where they successfully repartitioned using heimdall and correct PIT file. Have you tried that instead?

thanks! I think I managed to install it, by looking at the charging logo ... but the OS  still does not start :/ https://forum.xda-developers.com/t/rom-unofficial-11-0-0-r43-i9100-lineageos-18-1.4199759/post-86209793

although,  not lineageOS 18, but the 14, taken from https://lineageosroms.com/i9100/

lineageos rely on stock firmware. flashing in repartitioning mode, PIT is rewritten therefore all partitions get lost (except overlapping old PIT entries by coincidence maybe)

yeah, although,  right now it's stuck on boot-loop  -- checking this further


text:
Installing .apk to Android 5 Device (Zebra TC70) from web browser (2024)
If possible, I would like to avoid using the Android Playstore and point the we browser to the External SD card for installation.
I tried call the following URL in the Chrome browser:
file:///sdcard/

Source: https://android.stackexchange.com/a/8386/203524
The browser returns the internal sd-memory and not the SD card.  The target .apk file is in the root of the SD card.
I've also tried:
file:///external_sd/yourApp.apk

file:///sdcard/external_sd/yourApp.apk

source: https://android.stackexchange.com/a/8356/203524
Is it possible to a install the .apk from the SD card through the web browser?
Update:
I uploaded the .apk to Google Drive, downloaded, but when I click the file, "Can't open file is returned".

This will vary widely depending on the make, model, perhaps even between builds.  However, in my experience, aside from allowing install from unknown sources permission to the OEM browser, you may also need to enable "debug mode" to allow local read/write access from the browser (I've seen some browsers that take this in the form of a line of .js directly inputted through the omnibox).  It might make better sense to use a file manager (such as, e.g., X-plore)

That file:///sdcard/ points to the internal storage is a historic relic. In Android 2.x /sd-card was referring to the sd-card, but the smartphone bot plenty of flash storage and a physical sd-card wasn't necessary anymore. Note that both linked questions are pretty old. At the time of writing Android 4 ICS was brand new. A lot has changed since that time.

Looks like there are 2 subtle different questions: the title (install APK from a web browser) and the question (install APK on the external SD card from a web browser). If it's the former, have you tried putting the APK on the internal storage and opening it from the browser? If it's the latter, then maybe try the locations from the answers on this question?

@AndrewT. Thanks for the helpful link.  I would prefer to learn how to directly install from the SD card.  I uploaded the .apk to Google Drive, downloaded, but when I click the file, "Can't open file is returned".


text:
Term for decoding symbols / icons
The top of the phone often has symbols to indicate features such as battery life, cell tower signal strength, wifi strength, etc.
Is there a commonly accepted term for said symbols?  Usually there is a list of symbols and the symbol's meaning.  This list should have a name: what is the name of this list?
The idea is that the term for said list would be found in the phone's manual, when trying to lookup what an unknown symbol communicates.

Are you looking for say IconA is usually called this, IconB usually called that, etc?

@ReddyLutonadio  Good question: I have tried to clarify the ask

Maybe kind of related:Complete list of Lollipop system icons shown in notification bar?

The right ones are status bar icons and left ones are called notification bar icons. This is what I have read anywhere. You would have hard luck finding out the meaning of many of those icons because OEMs do not keep their user manual either exhaustive or updated.


text:
View HDMI output on Android Phone
I have a raspberry pi: it is normally run 'headless' (sans monitor).   I would like to be able to connect the video output on a Samsung Galaxy Phone.  For this exercise, the solution must use a wired connection (HDMI, USB) and not rely on a network connection (SSH / VNC or similar).
My Google search brings up articles of how to cast video from the Android device through HDMI.  I would like to wire and direct HDMI into the Android device's display.
Questions:
Assuming there is a cable that can bridge HDMI into the Android device: does Android support wired HDMI capability?  What is the nomenclature for the capability?
Bonus: can the same thing be done from the raspberry pi's USB port?  That is, direct the video out through a USB port, through a USB cable and into the Android device for display?

Assuming there is a cable that can bridge HDMI into the Android device: does Android support wired HDMI capability? What is the nomenclature for the capability?

Nothing in the Android Compatibility Definition Document indicates that such a feature is supported by Android.
Consider that HDMI inputs on a PC is usually done via specialized capture cards and that you are asking for physical input to device which normally operates on battery. Remember that any hardware that isn't being sold/used as a 'feature' is a waste of space and power on a phone.

Bonus: can the same thing be done from the raspberry pi's USB port? That is, direct the video out through a USB port, through a USB cable and into the Android device for display?

You would need VNC but this thread indicates that it is possible over USB:
https://www.raspberrypi.org/forums/viewtopic.php?t=105336


text:
Is it possible to flash htc desire on linux (drivers concern)?
I'd like to flash 'HTC desire' and found this:
http://www.jphellemons.nl/post/Cyanogenmod-on-my-HTC-Desire-the-easy-way.aspx
I started to wonder if I'm able to do the flash.. because i use Debian and the tutorial is definitely for windows user.
I'm worried about these points:

EDIT: As Dan pointed out in the comments: Make sure you have HTC Sync
  on your system or get the drivers from the link he posted in the
  comments!
installed the windows hboot usb driver: http://unrevoked.com/rootwiki/doku.php/public/windows_hboot_driver_install


text:
Do you have to reformat an SD Card before you can copy its contents to your PC?
My phone has been stuck in a boot loop and I need to safely retrieve the contents via card-to-PC transfer, then PC-to-new card, then new card-to-phone, etc. I read somewhere on here that you must reformat your SD card before you can connect it to your PC to copy its contents. Is this true?
If so, will I lose my stuff from reformatting my card? Every time I've tried reformatting my card, I get a dialog box that tells me all my card's contents could be destroyed if I go ahead, so I refrain.
Seems like it would be pointless to try and retrieve my card's contents if I must destroy them first. I'm fairly new to this stuff, so please excuse my lack of knowledge for it.
Also, once I get all of my content into my new SD card, do I need to format the new card when inserted in my phone? I notice that whenever I put an SD card with files on it into a new phone, I get a prompt saying that all contents could be destroyed if I format, even though I want these files on my phone and certainly not destroyed.
Thanks for any and all questions answered, I appreciate it.

No, you MUST NOT reformat it before copying! Formatting a storage device means to prepare it to hold files, and it will delete everything on it (see the tag wiki of the formatting tag for details). So yes, formatting woul imply losing all contents on the formatted device (in this case, from your SDCard).
New cards usually come pre-formatted, so there's no action needed either: Simply insert and enjoy. I never heard a device prompting you to format a newly inserted card, and I've had some of them. Of course, a warning is issued when you manually select to format a card, so you do not accidentally fall into such a trap.


text:
Android low on space
I know this question is quite common, but nothing I've read so far really helped me. I have a Samsung Galaxy Mini, and had a similar problem with the stock ROM. For some other reasons, I've rooted it and put Cyanogenmod 7 on it. Everything works quite well, but the free space is just eating itself. All my applications are sent to SD card (except facebook, which runs exceptionally slow when on card). And still, I'm only left with 6MB of free internal space. I've cleaned up my SMS messages and browser caches, nothing really helps. I'm showing my storage analysis. The thing that bugs me are the /system and /data partitions. How come that /system has so much empty space, while /data has so little. Isn't it supposed to be a compact partition?
As for applications, I really don't have a lot, except regular GMail, Google Maps and such. Just Opera browser, iGo, Adobe Reader, Outlook and a few apps with less then 1MB.

P.S While taking the screenshot, the Storage Analyser is showing 18MB free, But the system is showing 9MB. Nevertheless, both are not enough for normal work.

First a little explanation on the storage (you might also check the tag wiki of the storage tag for a short introduction):
Why can't I use the free space available at /system?
The /system partition holds the often so-called "ROM", i.e. the Android core system (including the pre-installed apps, see bloatware). By default, it is mounted read-only for several reasons (including "security", so no app can tamper with anything here -- and the user cannot accidentally render the system unusable). This is also why a factory reset will present you with a "virgin system": it will not touch this read-only partition.
Being mounted read-only makes it clear you cannot write things onto this partition -- which answers the question why you cannot make use of the "free space" it has. You might wonder why a read-only partition then is not "sized appropriately" -- but it is: it just takes into consideration that additional space might be needed for a system update. Future Android versions might (and most likely will) need more space, also providers might want to add more bloatware...
Why is there so little space at /data?
To put it in simple words: 180MB is all that was left after taking away the ~200MB for /system. The Galaxy Mini S5570 isn't a high-end device. And before you ask: No there's nothing you can do to increase the amount of overall storage available to /data (at least nothing easy -- though some geeks might think of creating a bigger partition on the SDCard and mount it as /data, this is nothing simple and also not without side-effects).
What can be done?
Nothing much. If your device is rooted, you could think of using a bigger SDCard (your device supports up to 32GB), and moving stuff over there with things like link2sd or even Data2SD. You can regularly clear your apps' caches and do some other cleanup. Or you can simply go for a new device which offers more storage (and more RAM, and a faster CPU).
I know it's not very satisfying that a device, just being 2 years old (the S5570 was released to the market in February 2011) already is unable to keep up with daily needs. But unfortunately, 180MB storage (and 384MB RAM) really is not much to play around... So all that currently remains is to refer you to the most faqs of the "insufficient storage" tag to find a solution until you can get yourself a new device. See especially:

How can I get rid of the low disk space notification?
What can I do to manage my phone's internal storage?
How can I deal with “Low on Space” messages on my HTC Incredible?
How can I free up more space on my Android (2.2 Froyo) phone?
“Insufficient storage” when trying to install new app

Thank you! This is a very detailed answer. I'm not a stranger to android, but these system level things were unknown to me. I know that this is a very entry level phone, but I supposed it could be used at least as a smartphone :) . The bloatware is the key problem, obviously. And applications that are not really optimized well, and consume space without really needing it. I had to remove the stock ROM because it was completely full with android features, and it still wanted to upgrade.
Thankyou, again.

You are right: bloatware is a key issue especially on "lower-level phones". Even if you can "disable" them with Android 4+, they still consume space in /data, and you only can get rid of them when rooting -- which in most areas voids your warranty. Not very smart for a phone, I'd say ;)

Very simple solution is available.
I also faced same problem.
I uninstalled virtually everything but no help.
I couldn't even get sms.
finally got a very simple solution.
Here are the steps

open keypad
type *#9900#
dial
choose "copy to SD" from sysdump menue
(make sure sd has enough space, upgrade or delete music or any ...)
you will get "copy success"
now u can install software


text:
Copy all sdcard contents to larger sdcard
Recently I've run out of room on my small (2GB) sdcard.  What I want to do is copy all the contents of this card onto something a little larger.  I have an FTP server (the one that comes with ES File Explorer) installed on my phone, and that's pretty much the only way I can copy from the card mounted in my phone to a computer or vice-versa (my computer has never recognized my phone's sdcard and only displayes /data).
What's the best way to copy all of it (including hidden files, non-readable files, and apps stored on the sdcard)?

The least tricky way is:

take your 2GB card out of the device, put it into a card reader, and attach that to your computer
copy all contents from the card to an empty directory on your computer
safely remove the card reader, replace the 2GB card by the newer, bigger one, and attach that to the computer
copy the contents of the directory from step 2. to the new card
safely remove that card again, and place it into your Android device

When in doubt about the hidden stuff, use Linux for the copy process. You can even boot it from a LiveCD. From a terminal command, use cp -R /path/to/source/* /path/to/target. On the other hand, if using Windows and you can see the files/directories starting with a dot (watch out e.g. for the .android_secure directory), they should be copied along fine.
See also:

How do I switch my Android device's SD card without causing problems?
Changing SD Card Just a Simple Copy & Paste
App2sd - Changing the SD Card
How to upgrade / swap SD card without losing data and installed apps?

So /path/to/source when copying from the 2GB should be something like /mnt/whatever right?

Right: /path/to/source is the complete path to where you are copying from (so in step 2, this is the SDCard, while /path/to/target is the location on your PC to (temporarily) store the contents -- while in step 4 it is the other way around).

Alright thanks!  I'll start upgrading right away!

Crossing fingers -- good luck! (Not that I expect any trouble, though -- but a little feedback is always welcome :)

On my Android One Nokia 7.1, I noticed that the SD card is mounted as /storage/XXXX-XXXX where XXXX-XXXX is the volume's serial number.
Here's how I cloned my smaller SD card onto a larger one:

Formatted the 200GB µSD using these steps (Windows says it’s too large)
Copied using ROBOCOPY /S /ZB /V g:\ f:\ ( g:\ represents the old SD card while f:\ represents the new).
Changed the volume serial number using SysInternals’  VolumeId.exe:

PS> cmd /c vol f:
Volume in drive F is LUMIAUSD200
Volume Serial Number is 1F04-2747
PS > Volumeid.exe f: B14F-130C

VolumeId v2.1 - Set disk volume id
Copyright (C) 1997-2016 Mark Russinovich
Sysinternals - www.sysinternals.com

Volume ID for drive f: updated to b14f-130c
PS > cmd /c vol f:
Volume in drive F is LUMIAUSD200
Volume Serial Number is B14F-130C

After that, I inserted the new card into the phone, and voilà! All apps were happy (since the mountpoint had not changed).


text:
Make android phone as driver-free USB Webcam
I have a video call device which only works with driver-free usb webcams attached. Since I dont have a USB webcam at hand, so I wonder if I can make Android phone (rooted) emulated as a driver-free webcam via USB.
I knew some apk could work e.g. DroidCam, but they requires extra clients installed on Windows. I do not want IP webcam or wifi connection or http or VLC to view them, but plain old USB webcam.
Please note I am not asking for apps that can read videos from OTG usb webcams. It's the reverse, making Android output videos to USB.


text:
android device as Digital Media Renderer (the DMR of DLNA)?
So I have this cheap MK802 android devince connected to my old TV, I want MK802 to be as a digital TV box, which could receive pushed media content from DLNA sources.
Are there any good DMR app for android? I tried:

com.bubblesoft.android.bubbleupnp
com.waxrain.airplayer

Both can browse remote DMS contents and play them, BubbleUPNP can control my Windows Media Player, but they can NOT receive push pictures, videos, etc.

What's wrong with my home network?
Are there any better alternative DMR apps for android?
What can I do to diagnose the problem?

Thank you all.

If you can do at least some UPnP operations, there is nothing wrong with your network.
Capability of browsing DMS (aka UPnP pull) does not imply a capability of receiving commanded content from DMS/DMC (aka UPnP push). DMR has a separate set of optional functions for pushing, which may or may not be implemented.
The simplest way of diagnosing is to start DeviceSpy from Intel UPnP Developer Tools (Windows application). That will give you all devices in local network, which do publish some UPnP interfaces. The one you are looking for is AVTransport (UPnP namespace intentionally omitted). No AVTransport means no push. You should see at least a core function SetAVTransportURI there. Don't be surprised if some DMR software does not show up at all. Capability of browsing DMS and playing content from it does not require publishing any UPnP interfaces. DMC does not publish any interfaces itself either, it just knows how to operate other UPnP interfaces.
About the lack of push-capable DMR implementations for Android: push means that the software must be capable of sitting there with an open port and just waiting for commands from any DMC. My wild theory is that this somehow doesn't align with what Android applications can or should do. The fact is that i have BubbleUPnP and UPnPPlay myself on my Android and i confirm that neither implement push. You can try the rest of Wiki list and let me know the result :)

Hi, I upvote for you because the awesome Intel UPnP tool. I found that com.waxrain.airplayer as a matter of fact, implements the AVTransport interface. The author specifically claims its DMR role. I even made it play some avi from a http source using the Intel UPnP Device Spy. The app & android device now shows up on Win7 home network, but still timeout after send .avi through Win7 Explorer "Play To" menu. What further options do I have?

I'm afraid this airplayer isn't very stable with regards to push. I have installed it myself and tried to push a plain MP3 to it from 4 different controllers (Intel devtools one, manually through DeviceSpy invocation, Windows Media Player, Songbird). Didn't succeed, not once. You might have been lucky to get through once. Further options, well try as many other Android DMRs as you can :) Start with the Wiki mentioned.

Argh, i can't even quit the app. Had to kill it :(

UPnPlay works very nicely for me using Windows Media Player 12 "Play to" feature. Recent versions of BubbleUpnP support DLNA push, although it doesn't seem to support remote volume control even though it pretends to. Also has problem if you jump around in the list in WMP. aVia Media Player works ok, but no remote volume control and similar problems if you try to jump around through multiple tracks remotely. Other apps should handle push as well (MediaHouse UPnP / DLNA Browser, ArkMC DLNA Media Center) but I haven't tried them. I couldn't get AnDLNA or WiFi Oh Player to work with push.


text:
Disable chat-heads (for WhatsApp, etc.) on Samsung devices
After an Android 9.0 Pie update on my Samsung Galaxy Note 8, I have noticed that Whatsapp Messenger notifications come up similar to how Facebook Messenger notifications are delivered - with a chat head. This is a circle with the messenger's profile picture showing, and clicking on it opens a small window with the message shown.
I preferred when this chat head was never there, and I got to see a preview of the message for a few seconds just below the top of the screen when a message arrives.
I have tried turning off pop-up notifications on WhatsApp, but this seems to be something different entirely, as the chat heads continue to come up.
Is it possible to turn this feature off?

Follow this path to enable or disable the mentioned "chat heads":
Settings > Advanced features > Smart pop-up view
Then, toggle whatever applications you'd like to show "chat heads".

WhatsApp does not naively support chat heads. So, this is being done by using a third party app. Probably you installed one, or in a rare case your phone manufacturer baked such a thing into the phone UI.
Please look into your device settings and also go through your installed apps if you notice something.

Actually, it does. I found this post on another forum where people have the same problem. I haven't installed any such third party app.

@JohnDoe interesting. Then this is something being done by the OEM. As I said, WhatsApp doesn't support such a thing natively. And as Firelord said and per your comment, it must be the Pop-up windows.


text:
What Bluetooth feature is required to show the "Browse" button on my car stereo?
If I connect my phone via Bluetooth to my car (2016 Toyota Corolla), and then play music using the Google Play Music app, the car shows a Browse button, which allows me to navigate through artists and albums with the car's buttons:

If I install another app, it doesn't show the Browse button on the car stereo.
Apps that produce a Browse button:

Google Play Music ☠ (RIP)
Samsung Music
Sony Music (does not show the RAND or RPT buttons)

Apps that do not produce a Browse button:

AIMP
BlackPlayer
Canaree
FPlay (found by searching for "AVRCP")
JetAudio (found by searching for "AVRCP")
kure
MediaMonkey
Music [com.maxfour.music]
Music [com.android.music stock]
Music Player Go
Musicolet
Nyx
Odyssey
Omnia
Oto
Phonograph

Vinyl

Pretty Good
Pulsar
Retro

Metro

Samba Player (found by searching for "AVRCP")
Shuttle

Shuttle+

Simple Music Player [com.simplemobiletools.musicplayer]
Timber
Vanilla
VLC
YouTube Music

Is there some Bluetooth feature that needs to be supported by an app in order for this button to show up?  What is the feature's name?  How do I find apps that have it?
This is especially important now that Google has killed off Google Play Music and replaced it with YouTube Music, which does not provide this Browse button on a Bluetooth connection.
If I knew what this function was called, I could try to pester Google, or the third-party app developers, and ask them to add support for it.

The Bluetooth snoop log with the other players shows that the players do not support browsing as part of the GetFolderItems request on AVRCP. That is the reason why browsing is not working with other players.
It shows that browsing support is advertised only with GPM and the player is marked as BluetoothPlayer and not GPM in the snoop log.

So it's not a matter of supporting a specific AVRCP version in the app, but supporting the GetFolderItems request?

Does the stereo try to GetFolderItems and then the app rejects it?  Is there an error message I can send to the app developers to help them find what to support?

You need both AVRCP version > or equal to 1.4 and at the same time the app/player should support browsing.The app/player on the phone responds to the GetFolderItems request with the details of the player and what features it supports.

Do you know of any apps that support it?

Samsung Music seems to be supporting browsing, but it is not consistent

Samsung Music works!!!!

This "browse" feature is probably part of "Audio/Video Remote Control Profile" aka AVRCP. AVRCP has different versions with different feature sets. Browsing of playlists was introduced in version AVRCP 1.4 and improved in version 1.5, according to Wikipedia.
This Bluetooth profile must be supported (in the correct version) by the car stereo, the mobile phone as well as the app.

I searched for apps that mention "AVRCP" but even those don't work.  I learned that there's a Bluetooth debugging ability in Developer mode, so maybe I can snoop that and see what difference in messages are being transferred.  I don't know anything about Bluetooth though

I was going to try to snoop Bluetooth and see what GPM is doing, but Google has disabled GPM to try to force us to use the inferior YouTube Music.  >:(

In Developer Options you can select AVRCP 1.4, 1.5, 1.6.  Default was apparently 1.4 and the button still existed in that case, so this seems right, and the playlist browsing is supported by the phone and the car, but not the app.

I'm going through this AVRCP nightmare last months. The result and my experience is, there must be an Android 8 on the phone (introducing 1.4 AVRCP in this version), but with Android 10 the browsing not working again (Samsung Galaxy A20e). So I search and find a phone with Android 9 (Xiaomi Redmi Note 8T) and using it with the JetAudio HD Music Player Plus in my 2017 Opel Insignia Grand Sport, the Bluetooth music playing work like a charm with browsing, shuffle play etc. and it work with good and strong volume too.

I tried JetAudio but it did not show the button.

There may be the following solutions, from Android Authority:

Problem #3 – Tracks missing on phone but available on web player
  In the Settings menu, go to Apps or Application Manager, search for Google Play Music. Then tap on “Storage” and then press “Clear
  Cache.” On some devices, you may find this under the “Storage and USB”
  section in the Settings menu. Restart the device, then open the Play
  Music app and all your music should now be available.
Problem #4 – Songs not uploading
Also, make sure that the audio you are trying to upload on Google Music is of a supported format. Supported formats include MP3, AAC
  (.m4a), WMA, FLAC, OGG, ALAC (.m4a), and DRM protected AAC (.m4p).
  Some music file types like WAV are not supported. ... If songs aren’t
  uploading, make sure that the library isn’t full. Currently, you can
  upload up to 50,000 songs to your library. If you have gone past that,
  your only option will be to delete some other tracks to make room for
  new ones.

Hope this helps you!

Sorry, clearing the cache or erasing all storage of Google Play Music does not help it recognize the files.  They are mp3 and can be played by the app, but do not show up in the library.  I do not have more than 50,000 files.


text:
Why "adb remount" returns "remount failed" on Android emulator?
I'm using Android Studio. I was trying to set up a dev environment and it requires modifying the hosts file. So,

I created new devices in ADM (Nexus 4, Android 10 x86_64 without Google API and without Google Play).
I launched the emulator
Then I tried following instructions from Stack Overflow. I'm using Linux Mint so:

$ ~/Android/Sdk/platform-tools/.adb root

output:
restarting adbd as root

Okay, I got root:
$ ~/Android/Sdk/platform-tools/.adb shell whoami

output:
root

Then I was supposed to remount and this is where I stuck:
 ~/Android/Sdk/platform-tools/.adb remount

output:
Skip mounting partition: /product
Skip mounting partition: /product_services
Skip mounting partition: /product
Skip mounting partition: /product_services
Skip mounting partition: /product
Skip mounting partition: /product_services
Skip mounting partition: /product
Skip mounting partition: /product_services
Skip mounting partition: /product
Skip mounting partition: /product_services
Skip mounting partition: /product
Skip mounting partition: /product_services
avb_ops_user.cpp:217: ERROR: Error writing data.
avb_user_verity.c:205: ERROR: Error writing to partition 'vbmeta'
E Skipping /system
Skip mounting partition: /product
Skip mounting partition: /product_services
Skip mounting partition: /product
Skip mounting partition: /product_services
Skip mounting partition: /product
Skip mounting partition: /product_services
Skip mounting partition: /product
Skip mounting partition: /product_services
Skip mounting partition: /product
Skip mounting partition: /product_services
Skip mounting partition: /product
Skip mounting partition: /product_services
Skip mounting partition: /product
Skip mounting partition: /product_services
W DM_DEV_STATUS failed for scratch: No such device or address
E [liblp]No device named scratch
[liblp]Partition scratch will resize from 0 bytes to 814587904 bytes
E [liblp]bool android::fs_mgr::WritePrimaryMetadata(int, const android::fs_mgr::LpMetadata &, uint32_t, const std::string &, const std::function<bool (int, const std::string &)> &) write 540 bytes failed: Operation not permitted
E [libfs_mgr]add partition scratch
Skip mounting partition: /product
Skip mounting partition: /product_services
Skip mounting partition: /product
Skip mounting partition: /product_services
W DM_DEV_STATUS failed for scratch: No such device or address
E Can not mount overlayfs for partitions: No such file or directory
Skip mounting partition: /product
Skip mounting partition: /product_services
E failed to remount partition dev:/dev/block/dm-1 mnt:/vendor: Read-only file system
E Consider providing all the dependencies to enable overlayfs
/system/bin/remount exited with status 10
remount failed

I don't know if remount is the critical issue, but I guess so. At the moment I don't have permission to modify /etc/. For example:
$ ~/Android/Sdk/platform-tools./adb shell "cp /etc/hosts /etc/hosts.bak"

output:
cp: /etc/hosts.bak: Read-only file system

Run Android Emulator with -writable-system command-line option in order to temporarily disable dm-verity. Then you can run adb remount.

... like the answer Yevgen has linked in question already does

@alecxs yes. And the question is off-topic here in my opinion.


text:
Remove analog clock from home screen
So I've just got a Nexus 4 (hooray for me!) and I don't know how I did it, but I've somehow got an analog clock perched over my Google search bar. I don't want it there.
It doesn't appear to be a widget - I can't just hold and drag it and remove it, and it's constant across each page.
How do I remove it / how did I put it there??

(Click image to enlarge)

Have you checked that it's not a Live Wallpaper? Try choosing a different wallpaper and see if the clock is gone.

Yeah I've just got a standard wallpaper selected...

Go to settings-->apps-->clear data& cache of launcher(I think it is  trebuchet ).

Thanks! That sorted it. Any idea why/how it got there in the first place?

May be it was a bug.

I've had this happen to me before and a reboot was enough to fix it.