text:
How to show Touches and Pointer Location on Screen without Developer Mode?
I am trying to use my phone as controller and my 42 TV as display. Chromecast is casting the thing.

I have tried Show Touches and Show pointer location as described here in Developer options. However, I do not want to keep Developer options active all the time. Also, some of the features fail too often, causing epileptic continuous blinking in different colours.
I do not have any other option (etc Show GPU view updates) on in Developer Options.

Phone: Oneplus 2
OS: CyanogenMod 13

Have you tried the "Show Touches" option in the Developer Options?

@benjamin Yes, I tried it. I do not however want to use Developer mode continuously. Either of the modes also fails too often, causing severe complications.

The blinking you are describing is most often caused by activating "Show GPU view updates" - which adds a red overlay to views rendered by the GPU. The developer options are the easiest option I guess. You don't have to enable "Show pointer Location" most likely. Maybe there is another way though which is better suited for you

@benjamin No, I do not have Show GPU view updates on. It happens just with those two settings.

No support for this in Android 6-7 by default without the developer mode.


text:
How to mount Android device as USB mass storage instead of MTP?
I accidentally removed my whole file system on my LG G3 Beat (a.k.a mini) D723tr running Android 5.0.2 Lollipop. I tried to recover my files with my Linux Mint (Rosa) PC using PhotoRec program, but PhotoRec can only detect directly connected devices to the system. My phone only makes connections with MTP and PTP. If I can mount my phone to my PC as a UMS (USB mass storage), PhotoRec will detect my device.
Is there any way to mount my phone as UMS?

How to recover a deleted file from /data partition?

Related: Why can't I see Android storage as a partition on PC?

Follow these steps to mount your /data partition as Mass Storage:

Boot to recovery
mount | grep /data
(Note down the device file /dev/block/...)
umount /data
find /sys -name lun*
(Note down the URL containing f_mass_storage)
adb shell
su
cd /data/local/tmp
vim usb_mount.sh
Press "i" key to enter Insert Mode

echo 0 > /sys/class/android_usb/android0/enable
echo [Previously noted down device file] > [Previously noted down URL]/file
echo mass_storage > /sys/class/android_usb/android0/functions
echo 1 > /sys/class/android_usb/android0/enable

Press "Escape" key to go back to Command Mode
Write :wq and press Enter to save and quit
chmod 777 /data/local/tmp/usb_mount.sh
sh /data/local/tmp/usb_mount.sh

This should disconnect and reconnect your device as USB Mass Storage.

I have a question... from where did that script at point 8 pop up?

@DeathMaskSalesman That's not an existing script, he's creating that script using vim, then then at step 9, enters input mode and at step 10, enters the contents of the script . At step 11, he saves(writes) the file and quits vim. (Check the vim Documentation if you're not clear.) Well yeah, that would have been comfortable to read if the answerer has included all these with the explanations in the same point.

@GokulNC Good explanation.. Go ahead and edit my answer..

source: Stack Exchange

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

sort: votes


text:
LG G3 | An alternative to lock files in gallery?
Before the marshmallow update I could easily hide some folders on the gallery app. Now with the marshmallow they changed this functionality to lock files. The problem is that large files take too long to lock and when the screen goes off during the process it simply doesn't not lock the file!

What you can try as an alternative is to locate the file/folder using File Manager or File Explorer. Then simply rename the file. Just add a dot at the beginning of the file name, and that file/folder will be changed to a hidden file/folder.

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


text:
Why does brightness control not work in Oneplus 2 of CM13?
Fig. 1 max, Fig. 2 min of screen brightness where you see no difference

Bug hypothesis in CM13 discussed with the authors here: no manual adjustment of brightness when the system auto-brightness control is on, because its what VAB does when you enable VAB's function.
Thread in CM13 forum here for evaluation.
Phone: Oneplus 2
OS: CyanogenMod 13
Su: no

Your OP2 with CM13 sure has a lot of problems... If it has a CM13 thread on XDA-Developers, take the discussion there for better results.

Posted, I think the app reads the brightness values from sensors and uses it to directly control the brightness required, and somehow feeding the correct input to the screen brightness controls

@beeshyams See the body. I opened a thread about the thing in the CM13 forum for the evaluation.

Good . Hope you get an answer +1. Realized just now that it is a nightly, which are by nature not fully tested and buggy

@beeshyams Yes, there is nothing else for the rom.

I can't comment on the ROM behaviour on your device, but here is an alternative that is found to fix the problem - see OP's comment
Velis Auto Brightness, app description of relevance says:

Velis auto brightness aims to provide the best possible brightness experience by using your devices sensors to determine the environment you're in. You have complete control over how much brightness will be applied for any given light condition, from selecting the sensors used to fully customizable brightness graph. This is a replacement for system provided auto-brightness functionality usually found in Settings / Display / Brightness

After installing app, OP is able to manually adjust the slider for required brightness

I contacted the developer of the application with a link to this thread. I also added a comment about the thing in the reviews of the app with 5 stars. I hope to get an explanation why the brightness adjustment can be fixed by the application.

I am just now worried about too early acceptance because then the developer may think the case is resolved although is not. We have an early hypothesis that seems to work but we do not understand how. This worries me.

Question for the developer in XDA here http://forum.xda-developers.com/showpost.php?p=68364290&postcount=1829

I'm the author of VAB, but I'm not sure what you're trying to say here: if you install VAB, that also causes the notification slider to suddenly work where it didn't work before?

@velis The notification slider did not do anything to the brightness. After the installation of your app and activating its automatic functions, the handler of the notification slider started to work, besides your app's automatic features. So I think your application must be activating the handler of the slider to the brightness control of the app, which is not done by phone in default configurations. - - This is the thing I am interested in, because it is a bug in CM13 of Oneplus 2.

Makes sense. On second thoughts, earlier hypothesis can only work if app has root privilege

Well, the app doesn't have any su-based code. Perhaps the bug is such that system brightness controls only work when system auto-brightness is off? Because that's all VAB does (to system settings) when you enable VAB's function.

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


text:
Swapping SD Cards
So, I currently have a pretty old 8Gb SD-Card in my Moto G 2nd Gen Phone. Except photos, videos, and other miscellaneous files which can be easily transferred, I also have a lot of big apps. I did a bit of research and found that the data for these apps are stored in the folder Android_secure. I'm also aware that only the app's code and data that only need to be read and not modified stay there. Will just moving that folder (Android_secure) to the new SD work, or will there be any more complication? And no, I can't unfortunately move the apps to my phone, swap SDs and then move them to the new one. That's the reason the apps are in the SD in the first place, to free internal storage, so that I'm able to download more big apps to put in my SD card.
Edit: My new SD-Card is a 32Gb if anyone cares.

As long as you are not on Marshmallow and are not using Adopted Storage, you can just copy all the data from one card to another.
I would suggest powering off and removing the card and inserting the new one, then powering up and formatting the new card, then power off and remove the card. In a computer with a card ready, copy all data from old card to the new card. Reinsert the new card in the phone and power up and you should be good to go.

Ok, that sounds cool! And my plan was to power off the device when swapping the cards. Thanks anyway.


text:
Firefox pops up when you clear downloads
I've ran into this problem for years. I download a bunch of pics in Firefox, and then have to manually clear the download list. When I do, Firefox is brought to the foreground.
This should not be the case, and I think it's a bug.
I can't find anything about this, possibly because the search terms are too common.
Are there fixes or mitigations for this behavior?
Currently running rooted on android 5.1 on Note 2, but this problem has occured on different devices and different versions of Android. I think 4.x and later. That's coincidental though, because Firefox only really got official about that same time.

Do you have the latest Firefox version? If it's a bug (and you're probably right there), it's a bug in Firefox.

Yes, at periods of time over the past few years, I have indeed had "the latest" version of Firefox.

I tested on Marshmallow on my device- Moto X Play. It doesn't happen. I funny see Firefox popping up when I delete downloads


text:
Remove out of range networks on Android 6
Having issues removing 2 old out of range wifi networks on android 6 - Samsung Galaxy S5 - Corporate phone, therefore Looking for an UNROOTED option.

Stock settings wont offer the "forget" option

Resetting all network settings through "backup and reset" has no effect.

3rd party apps dont work

Creating a similar SSID on my router will only create a duplicate...
Using Saved networks → select the network to forget, I was able to delete all but 2 networks that actually have NO "forget" option, just showing security details and "cancel". Seems to be related to the Android 6 platform only allowing the original application that created the network the right to modify or delete networks. Source

Also see this reference for context, which doesn't help since it requires root:
How do I "forget" an out-of-range Wi-Fi network on a Galaxy S7?
Out of options at this point. Any ideas?

so how were these two networks added? if they've come from a corporate security policy ("device administrator"), you might not be able to remove them at all

They don't come from a corporate security policy or administrator. Just normal networks which I connected to at one point or another.


text:
When calling from my phone - how do I hide my caller id when calling people that are not in my contacts?
I have switched phone brands (my last phone ― a Lumia 1020 ― had this option) and now I have a One Plus 3 now (with root and fully updated).
How can I make sure that when calling someone, my number is hidden for non-contacts?
I can't seem to find the setting in Android to show my number only to people in my contacts when calling: I have searched all accessible setting menu's in my phone for this and yet I can only find to permanently hide or show my number.
I know it can be done on a per-call basis by prefixing the callee's number with operator codes like #31#, but this is not what I'm looking for.

I was going to publish a duplicate question but the similar questions list prevented me. ;) When I had my Windows Mobile 5 device (iPAQ hw6915) I used to have the Send Caller Id option set to "Contacts Only", meaning that when calling somebody whose number was not on my address book they would get a Private/Anonymous/Unknown call. Now that I got a OnePlus 3 it is upsetting that such a simple and old option is missing on such a modern device. I starred the question. Anyways we could try asking in the official forums, maybe the developers will add it? Also, the Cyanogen Mod may have it.

Deleted my answer suggesting that app - it doesn't seem to work for my brother in USA on 3  different phones !


text:
How to hide xposed presence for other apps?
I need some way to hide XposedBridge.jar from other apps. In this case it's for Snapchat. It doesn't let me log in because of the XposedBridge.jar presence. Keep in mind that I can't reinstall xposed.
Thanks!

Install Root Cloak Xposed module seems to work

@beeshyams it hides root presence, not Xposed presence.

But that post linked suggested snapchat running- things may have changed

And if Snapchat can't see root, it should work as claimed in the blog, unless it goes looking for the .jar file

Sudohide
by SudoCode755
Its a continuation of FatMinMin's MinMinHide.
With this module you can hide applications from each other. It was buggy in the beginning, but it works great for me.

How to use
To hide an app from another, simply choose the target app and then select the apps you want hidden from it. Don't forget to hit save.

Photo

Reference links:

Xposed Repository

Github source

XDA support

How does this work for Xposed itself. Have an App that scans for Xposed and doesn't work if installed. I could not hide Xposed with this.

unfortunately some app developers are catching on and detecting the XposedBridge.. trying to workout a way around this


text:
Deleting Auto complete email addresses gmail app
I have a common contact with an old email address that keeps popping up on autocomplete when I send an email with my Gmail application. The contact for this person does not contain this email address and I have searched the desktop version of the contact as well and it's not there. How do I delete this old outdated email address from autocomplete on my Gmail application for my Android?
Thanks

Gmail autocompletes email addresses based both on previous communication and Google Contacts.
You should edit the contact in question to remove the old email address from their contact entry on Google Contacts, or in the Contacts app of your device, and if that doesn't work go into Settings - Apps and find Gmail and Clear Data on the app. Be aware that that this will erase all emails and data for Gmail that are stored locally on your device, it will not delete Gmail on the server, and it will be resynced to the device after you open the app again, but if you use Gmail for POP3 email access those emails may not be stored on the server and should be backed up first.

This does not worked for me, my unwanted contact (actually a mispell I once entered) is still there after all this trouble.

In my case, none of the above worked. When I typed a few characters into the TO field some very old email address would suggest itself, with 100% reliability.
Solution: touch and hold on that email address, and the device would ask you to confirm removing this "learned word".
Now I guess this could be a Samsung feature or a gmail app feature or an Android feature, but it's impossible to tell.

I am in this same boat (when I typed a few characters into the TO field an old email address which I used only ONCE because of a mispell would suggest itself, with 100% reliability). Sadly, touch-and-hold does nothing else than selecting that email address rather than pop-up that question. This is on a Samsung A50

Please go to Google Contacts to manage this contact.

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


text:
To move data like videos media picture etc from internal memory of Lyf wind. 1 to external 32 GB SD card.?
I bought a new Lyf ls-5010 on 15 Aug 2016 . in it all setting of picture camera browser are set to internal 4gb it shows no space while capture photo or download something. No I inserted a 32 GB Samsung sd card . but no options to move data from internal memory to SD card. And to change default storage internal to SD card. I bought a 32gb card it only show 28.80 GB space.

Related: How to free Internal Storage by moving data or using symlink / bind-mount with Adoptable Storage? and How disk space is used on Android device?

Alright, I'm not knowledgeable about your specific device, but you need to move the "Photos" app itself to the SD card, not the data by itself. Go to Application Manager, find Photos, open it, and you should see a box that says "Move to SD card". Just tap the box, and wait for the app to show "Application moved to SD card", with that same box now reading "Move to device storage". Be patient, especially if you have a lot of stuff in the file. It can take a little while to move all those files. Now all your photos, videos, etc, should go directly to the SD card. Hope you're device works that way.


text:
What browser is used on old Samsung Galaxy?
What browser is used on the Samsung Galaxy S5, Galaxy S4, Galaxy S3 and Galaxy S2? I am testing my website on those models using BrowserStack but am experiencing problems. I think one of the HTC models is using the same browser because I am experiencing the same problems on it too.
Here are my test results:
https://www.browserstack.com/screenshots/b54b853ab379aae6088e14cae4de4a09ae45fc93
OTOH, Google Nexus appear to work for the most part.

It's called "Samsung Internet for Android":
https://play.google.com/store/apps/details?id=com.sec.android.app.sbrowser&hl=en


text:
How do I switch cameras for scanning QR code from Website - Lollipop
I'm using a Samsung Galaxy Grand Prime running Lollipop and need to scan a qr code through Chrome. The website allows for me to press the QR code scan option but when I do, the front facing (selfie) camera turns on and it's impossible for me to turn the phone around and be able to line it up with the QR code without being able to see what I'm doing. When I turn on the camera alone, it's correctly using the rear camera, yet it insists on using the selfie camera through the website.
There does not appear to be any option to change the camera on the website itself (www.blockchain.info).
How do I change this to use the rear camera to scan the QR code?

Download UC Browser/Uc Mini. They have built in options for QR code scanning.

I'd recommend you use a separate barcode scanner to scan QR codes. That would solve your issues.
Barcode Scanner


text:
ZTE PRESTIGE n9132 FRP?
Has anybody found any loop holes to FRP BYpass for this ZTE model Android?  Plz do share!

Refer this Question: How to bypass “Verify your account” (Factory Reset Protection)


text:
Make specific App into widget?
I apologize if this has been asked and answered, if it has please just link me to the solution.
Here's the question:
Is there a way to make a section of a specific app into a widget if the app itself does not come with it's own?  I'm asking for my Venstar Skyport thermostat app, which allows me to control the temperature of my home via my Android.  It would be extremely awesome if there was a way for me to turn the temperature controls into a widget so I could operate it without opening the app every time we want to change it.
Thanks a lot!
Device:

Samsung Galaxy S7
Android 6.0.1
Kernel 3.18.20
Not Rooted (But if it
will help, I'd figure out how to do so)

If you are asking, can one directly reach the temperature controls without logging into the app, the answer is no.
Since the app doesn't have activities that can be pulled and placed as widgets. Some apps have, some don't. Quick Shortcut maker is one such app that can reveal activities and place them as shortcuts for quick access. I installed the app in question and it doesn't have any activities, except the main log in
- you will need to search for an app that works and can show activities for you to place as shortcuts, which can be directly accessed or used by automation apps


text:
Is there a way to increase usb power detection sensitivity?
I am looking for a way to have my phone register a usb power connection sooner or more reliably.
I need the phone to register a signal through the usb as soon as it reads any kind of power fluctuation if possible. I have two options for the power source: a constant power and a pulsating power source. I can get the device to register it with the constant power but it takes a while to work. So i need one of the following.

to reduce the time it registers the power.
to reduce the sensitivity and it triggers more easily.
to send power over the data wires instead of the power wires to make the device think its receiving a data signal. I would need to know how much power could be used across the data cables but I don't know if that is even possible.

Note: its not to use for data or powering the device. I just need it to act as a sort of relay to activate applications.
Also, I tried the pulsating power on my nexus 7 and it worked great but when i tried it on the device i wanted to use it with, it didn't detect the pulsating power. Maybe the Nexus device has more sensitive settings or perhaps it has a better capacitor etc.
Thanks in Advance

This question is better asked at SE Electrical, IMO, after reading their help and rewording


text:
Tasker/Security Settings 2G switch not working on OnePlus X CM13
I'm stuck with my planned automatization with tasker and security settings. My idea is to automatically switch to 2G/GSM when I connect to a WLAN. When disconnecting I want to switch back to 3G/4G.
I'm on Sultans CM13 on my OPX (rooted). What i did so far: Installed tasker and security settings (SS) and configured a tasker profile with a task using the SS plugin (based on this XDA tutorial).
Under Actions --> Device Setting I picked global as table and set the value of preferred_network_mode1 to 1 (I also tested 0). I also configured the shell script described in the tutorial. But my phone is not switching to 2G when activating the WLAN although the profile is active. #edit: I just saw that there is also a parameter called preferred_network_mode followed by a 10 digit number, but it is not working either. No switch to 2G or from 2G to 3G.
Now I wanted to check if my phone/provider has another value perhaps, but when I'm executing:
sqlite3 /data/data/com.android.providers.settings/databases/settings.db
SELECT name, value FROM global;
as su I get the message that the table global is not existing. Does anyone has an idea how I can access this database or how to configure Tasker/Security Settings on my OnePlus X (with CM13) in Germany (T-Mobile)?

This might help: Simple way to toggle between 2G and 3G connection // BTW, that command of yours didn't work because Marshmallow did away with relying on settings.db. You need to use settings command. Related: Where is the database to save android volumes

Thank you for the second hint. Concerning the first one: I wanted to solve it with Tasker/SecuritySettings and not with Xposed and Gravity. I already found this...but if there is no other solution I will have to switch.

I can't find the preferred_network_mode (or anything similar) in the xml file so I have to look in this folder

So here is the way I solved it: After discovering the right place to edit the preferred network mode I tested to change it:
adb shell settings put global preferred_network_mode 1
adb shell settings put global preferred_network_mode1 1
adb shell settings put global preferred_network_mode2456921 1
adb shell stop ril-daemon
adb shell start ril-daemon

The problem was that the changes were not reflected and with the restart of the ril-daemon they were reset (preferred_network_mode 9).
So I used Gravity Box (Xposed module) to change it and with this it's working fine:
Send Intent [
Action: gravitybox.intent.action.CHANGE_NETWORK_TYPE
Extra: networkType:1
]

Sadly it was not working without it (so I could have saved the money for Security Settings but however.
So if you want to try it with tasker I would recommend to use it with Xposed and Gravity - that's probably the easiest way actually.


text:
If I buy an Android phone today and want security updates for as long as possible, how should I choose a phone? I'm willing to use custom ROMs.
Background
Quite a few software developers offer special "long-term support" (LTS) or "extended-support release" (ESR) editions of their products. You install the product once and get security updates for up to ten years, without having to upgrade to the next major version of the software.
Here are some examples: You can install one version of Firefox ESR and then get security updates for version for about a year. Or you can install one version of Ubuntu LTS and then get security updates for that version for five years.
Unfortunately, Google doesn't offer a special long-term support edition of Android. Security fixes get backported to your device's Android version until Google stops backporting them. These patched Android versions get built into new firmware images for your device until your device manufacturer or third-party ROM builder stops building new images.
(For example, it looks like Android 6.0.1 "Marshmallow" is still getting security fixes. The latest versions of Android 6.0.1 are android-6.0.1_r56 through android-6.0.1_r63. Each of these eight Android versions was released on the same day: on Aug. 1, '16. Each of the eight was designed to support a different set of Nexus devices. Device makers can pick any of the eight and then port it to other Android devices. As of this writing, it looks like Android 5.1.1 "Lollipop" may also still be getting security fixes. The latest version is android-5.1.1_r38, which was released July 19, '16; it may also be known by the build code LMY49M.)
iOS
Apple tends to support iOS devices for three to five years after their initial release. (Source.) They ship both new features (which slow down your device, thereby encouraging you to upgrade) and security updates. But I want a device which is more open and expandable than an Apple device.
My question
If I'm buying an Android cellphone today, and I want to get security updates for it as many years as possible, how should I choose?
(Monthly security updates are nice, but today I'm not asking about monthly security updates. My question is not about which Android phones get security updates the most frequently. Instead, it's about which Android phones get security updates for the greatest number of years after purchase — even if I must wait six or twelve months between updates.)
Please don't recommend a specific make and model of mobile phone and leave it at that. Such an answer would be useful to readers today, but not to readers who view this question a few years from now. Instead, please tell me how to compare products myself. How important is it for me to choose a best-selling device? Does it matter whether I buy a midrange phone (US$100-$200 with no contract) or a high-end phone ($600-$800 with no contract)? Must I choose hardware from manufacturers who get their drivers into the Linux kernel, and if so, which manufacturers are these? What other criteria should I use in order to make my choice?
Please assume that I'm willing to download and install custom ROMs in order to get security updates, but that I'm not willing to compile anything myself.
I know that you can't predict the future with perfect accuracy. Please just try your best.

That's a hard question to answer. Almost all of the mobile OS vendors out there are not after providing the customer with the latest security fixes, they are after how to get you on the new OS in such a way that you will spend some money to get the new features on a new model device. Most vendors don't even move two major versions up on an older devices (with the exception of nexus). Having said that, there are few choices which maybe useful, blackberry's Android platform, samsung's knox, and potentially google's own nexus devices. I am interested to know what other opinions come forward.

I recommend to have a look at the supported models with cyanogenmod. Its probably the best you get with long term support and you will also notice that there are vendors which are heavily supported while others are not.

@SteffenUllrich: If I'm considering one certain device, how can I tell whether CyanogenMod is more likely to support it for six months or for five years?

I am interested in this answer too, the minimal research I have done indicates: a) support isn't OS release specific, rather is device specific, because the vendor sells the device and so has warranted responsibility b) Google seems to have the best track record for device vendors with the Nexus line, promising updates for 18 months after last sale date of the device, though have more digging to do

@yetdot: You're saying that BlackBerry and Samsung devices are likely to get security support from custom-ROM builders for more years than, say, LG or Motorola devices?

@unforgettableid , not from custom rom builders, but by the device manufacturers themselves I think. Historically, blackberry was way high up there on the security as their selling point, I believe their new device offerings will continue to pose security as their primary plus point.

@JonahB: After the 18 months end, stock-ROM updates may end. At that point, you may have to use custom ROMs instead. I highly doubt that custom-ROM builders bother backporting security fixes between Android versions. Once an upstream Android version stops getting security updates, a custom-ROM builder for a certain device might do one of two things. She might port a newer version of Android to the device, or she might stop providing security updates for her ROM for that device altogether.

I was following your other post on Android 4.1.2, is it not that most of these problems will go away if you switch from android to IOS. That platform supports all the security and patching related concerns that you are looking for, because they are the manufacturers of the OS and the hardware. Sorry, I am not trying to deviate you away from the android platform, but just asking as to why IOS is not an option with the kind of requirements you have in mind.

@unforgettableid: you cannot be sure which device will be supported for a long time but you can look at their release history to see which vendors and devices had good support in the path. There are a few vendors which based on the number of supported hardware seem to be open enough and in heavy use so that there will be somebody to support it. And the original google devices usually have good long term support too, not only from google itself.

@yetdot: I want a device with a certain uncommon built-in hardware component; Apple has never included this component in any iPhone, and probably never will.

To my eyes there is not an answer to the question as framed. There is no vendor who promises LTS-like support for any Android devices. And unlike similar preceding markets, like the Linux and BSD ecosystem of the last 25 years, the Android market is very different and (again, to my eyes) there is no evidence of what constitutes a successful business model. Even Cyanogen has taken significant funding and may pivot at any time. Another dynamic, unpredictable part of the ecosystem are carriers. Imagine if Linux distro success was tied to ISP success over the last 20 years.

I would suggest reframing the question around the last comment- you need a device with an uncommon built-in hardware component, and you want to best ensure that the device you buy now will be supported long into the future. The answer may entail- learn how to build Cyanogenmod, and understand how to help maintain and forward port the driver that you need.

Any Nexus or Android One device with Snapdragon SoCs are promised 2 years of official support and >1 more from custom ROMs, unless Google suddenly decides to lock Android down. However, exotic hardware component explicitly hampers such development - it will likely be proprietary and closed-source, and thus unable to be utilized by custom ROMs.

@AndyYan: The uncommon built-in hardware component that I want is supported by open-source driver code which has been included in all Linux and Android kernels for years. I think they will probably continue to maintain the driver code for this hardware component for at least a decade or two.

@unforgettableid And what exactly is it? Make it clear in OP, so that we can shrink the initial searching circle.

@AndyYan:  Here's your answer:  I want to buy a modern device with a built-in physical keyboard, to replace my old Samsung Galaxy S Relay running Android 4.1.2.  The only practical modern replacement option, for now, is the BlackBerry Priv.  It can run Marshmallow.  I could buy a Priv now, if I wanted, but I don't want to sign a contract.  I think I'll wait for the price of a used no-contract Priv to fall some more.  Meanwhile, I can watch to see whether or not any competing devices will be announced.

@unforgettableid Give it up. The only modern manufacturer insane enough to keep producing those is Blackberry, and their security focus means we never get 3rd-party development from their phones. I'm a QWERTY phone fan myself (although I like side-sliding ones) so I can feel your pain, but the truth is that we have to let it go.

@AndyYan: I don't think I should mention in my original post that I want a hardware keyboard. That might bring me answers which are useful only for me and not for most other readers.

@AndyYan: Oh. I just looked into the matter. Nobody has ever been able to even root the BlackBerry Priv, let alone develop a third-party ROM for it. :(

@unforgettableid Yes that's the problem. Lockdown is increasingly common among non-Nexus phones; combine that with a niche like QWERTY and you get nothing.

The Dutch consumer organization retests their smartphones periodically for updates: https://www.consumentenbond.nl/acties/updaten/ruim-een-derde-smartphones-heeft-sterk-verouderde-veiligheidsupdate
The list is basically: the Google Nexus/Pixel phones (~3 years), Nokia / HMD Global, last (& this..) year's flagship Samsung (~1.5 years), this years flagship Sony Xperia.
(These phones had the February 2018 update begin March)
In the mean time iDevices are updated for up to 5 years (4 years + security updates until next iOS). This makes them cheaper year-over-year over the lifetime of the phone.  Please see the "Depreciation" and "Sources" worksheets in this Google Sheets workbook.

That Google Sheets workbook you linked to is impressive. Who's created it?

I posted my own spreadsheet

Did you create it, and start maintaining it, just because I posted this Stack Exchange question?

It is my own spreadsheet. I created it a few years ago. At first mainly to track Android phones to recommend to my family. Then I added an iPhone and was like  about the difference in depreciation cost.

Modular may offer official long-term support
Not quite ready today are modular phones, like that for Project Ara. Be aware that the schedule for modular phones has already slipped by years, so I would still treat the dates as questionable. Due to their modular nature, the expectation is that they will continue to be supported for a long time.
Update: Project Ara was nixed not long after I wrote this answer. VentureBeat has a story on Project Ara and the difficulties with modular phones.
Unofficial support
Without official support, you are basically trying to predict the future about what phones will have a sufficiently enthusiastic user base to support the phones. There are no simple hardware or price based criteria you can use to do this.
If you want something today, I would recommend a Nexus device. The guaranteed updates aside, these seem to have enough of a following in the community that there are custom ROMs available years after the official support has ended. Don't expect updates to be released in a timely manner, however, because people are basically supplying this out of their volunteer time. I have a Galaxy Nexus (maguro), for example, which was released in 2011. The latest maguro Cyanogenmod releases are:

cm-13.0-20160820
cm-13.0-20160816
cm-12.1-20160719
cm-11-20150626

I was surprised to see an update to the 12.x line last month because it had been so long since the last update. I ended up reverting to the 20150626 build for development purposes because video on 12.x had problems, so also be aware that the custom ROMs can't work magic with less capable hardware.
Having unusual hardware has not dissuaded motivated volunteers from continuing to support the Galaxy Nexus, which has an unusual Texas Instruments processor. There were rumors that Google dropped support relatively early because of this.
Short of maintaining the device yourself or paying someone to maintain it for you, you have to guess.

+1, because this is useful information for other readers. But it isn't useful for me. I want a device with a certain uncommon built-in hardware component, and none of the Nexus devices have ever included this component.

Let me quote, again, from my original question.

"Please don't recommend a specific make and model of mobile phone and leave it at that. [...] Instead, please tell me how to compare products myself. How important is it for me to choose a best-selling device? Does it matter whether I buy a midrange phone (US$100-$200 with no contract) or a high-end phone ($600-$800 with no contract)? Must I choose [a phone with a SoC made by hardware makers] who get their drivers into the Linux kernel, and if so, which manufacturers are these? What other criteria should I use in order to make my choice?"

Because this answer is useful to others, it's worth keeping. But it would be most excellent if you could please provide information which would be more useful to me. Stack Exchange allows you to post two answers to one question; perhaps you could please add a second answer which would help me more.

Bear in mind that Cyanogenmod is now discontinued, and all support is going into LineageOS. There is no way of swapping between the two save for a total reinstall atm.

Other answers mention that aftermarket distributions can provide you with security updates. This is only true to some degree. They usually integrate low level-code (proprietary blobs) from the manufacturer and those parts don't get updates after support from the manufacturer ends.
The same is true for firmware bugs of hardware components. (e.g. Broadpwn)
postmarketOS tries to solve those problems with a GNU/Linux distribution for phones and open source firmware.

Your best option would be to buy a Google Nexus phone. Because Google is Android's developer, Nexus phones get updates first.
Example of their updates is the Stagefright patch. The oldest phone that got the security patch was the Nexus 4. The phone was released in 2012 and still got the update. Nexus phones which did not get the update from Google got it from third-party ROM developers — Google's phones seem to attract developers.
At the time of writing, the latest Nexus phone is the Nexus 6P.
List of end-of-support dates for Google phones:

Nexus 6P September 2017
Nexus 5X September 2017
Nexus 9 October 2016
Nexus 6 October 2016
Nexus 5 October 2015
Nexus 7 (2013) July 2015
Nexus 4 November 2014
Nexus 10 November 2014
Nexus 7 (2012) June 2014

Security patches aren't guaranteed to end at these dates, but it's very possible that they will.
(Source)
List of patched vulnerabilities pushed out via OTA to Nexus devices (stagefright):

CVE-2015-3873
CVE-2015-3872
CVE-2015-3871
CVE-2015-3868
CVE-2015-3867
CVE-2015-3869
CVE-2015-3870
CVE-2015-3823
CVE-2015-6598
CVE-2015-6599
CVE-2015-6600
CVE-2015-3870
CVE-2015-6601
CVE-2015-3876
CVE-2015-6604

(Source)

This answer is useful because it points out "Google's phones seem to attact developers". But the rest of the answer is a bit confusing. There have been multiple vulnerabilities found in libstagefright over time, and your answer doesn't say whether the Nexus 4 got an update for one, some, or all of these vulnerabilities.

@unforgettableid Hopefully my edit clears up some things.

-1. Your post is still confusing. The "Stagefright bugs" are an ill-defined set of security vulnerabilities, not all of which were found in libstagefright.  Providing a long bulleted list of CVE identifiers lengthens your answer and doesn't really clarify much; you can just link to the list. Your answer, in general, needs improvement. Please read over your answer again, slowly, at least once. Please work on your grammar, clarity, and formatting.

@unforgettableid You asked what kind of phone to buy, not which exploits were found or patched. Then "your answer doesn't say whether the Nexus 4 got an update for one, some, or all of these vulnerabilities".  I listed all of the stagefright related updates Nexus devices got (after you asked for it). And not to metnion that the source I provided is an official list of all Nexus security updates (it's a subthread). And I would like to ask you to clarify your comment on how would I would I improve my answer. I've read through it.

Beside gramatical mistakes (which I did not find, I'm not a native speaker) I don't see how this doesn't answer your question on which phones get security updates for the longest time.

I didn't know you weren't a native speaker. My mistake. I've submitted a suggested copyedit. But your answer is still too long, and still contains two unnecessary bulleted lists. You could summarize instead of listing all the information.

Regarding stock Android, the manufacturers that are currently most vigilant about updating their latest models' OS in a timely manner are Google in its Nexus collaborations and Motorola in its Moto line.
After the manufacturers end their updates, the community continues to produce custom ROMs for popular models. Perhaps the widest set of custom roms, CyanogenMod (CM) still supports old devices such as the Galaxy S2, albeit with some limitation. The ability to support old models depends strongly on the release of the source codes by the manufacturers and (with some exceptions) it seems that source codes of Snapdragon devices are released more often than source codes for Exynos devices.
A list of devices from major vendors supported by the latest CM version (13) can be found here and it can provide you some perspective on how devices are supported by the community in the long term.
Combining these two perspectives I would say that Nexus devices provide the best short term stock support. However, you can often find flagship phones with better specs that will have the same long term community support. You may want to avoid Exynos devices, though.

Go for a flagship device instead of a mid-range or low-range device. Flagships (and some other popular models) generally tend to be supported by the community for a long time. I have a Samsung Galaxy S3 (d2tmo) that came out almost 4.5 years ago and it is still supported by Cyanogenmod. It was released with Icecream Sandwich and now upgraded up to Marshmallow thanks to CM. Ultimately, community support depends on the number of active users.

Google has released a statement somewhere that they will only officially provide support for 2years for their Nexus phones and thats the best you can get with stock.
If you are willing to roll with custom roms. I think that getting a phone that has chipset from a manufacturer with a good track record in providing drivers for a recently released Android version is a good bet. Qualcomm is still providing recent kernel drivers for all Snapdragon 6xx-8xx for Android 6.0 for example, which provides the community like XDA forums to build upon custom roms for all phones sporting the chipset. Also pick a brand/manufacturer that allows bootloader unlocking, e.g Sony, Motorola. Locked bootloader severely impacts the community in making custom roms as forces them to create exploits or workarounds in the device making it potentially unstable to use.
But my advice is, just pick the best phone which fills most of your checkbox and live with it till it breaks. I think Android is pretty secure as is.


text:
How many additional numbers can I set in one contact?
How many additional numbers can I set in one contact?
I was playing around with a script and I was able to get only 400 of them in on a simulator. However, I would like some official response about what is the maximum, and does it vary based on the Android version.

We probably need to go into the source code to see it, which is off-topic for here.

Yeah, thought I might get this kind of a reply. Will post in StackOverflow then. Thanks.

Meh, I ended up deleting it there as honestly some people really are as they say 'so police'

@SarpSTA That's nonsense. We have many questions that have been answered by examining the Android source. It doesn't matter how you get the answer, just whether it's interesting and relevant to non-developers.

What issue are you trying to solve? It's pretty unlikely a single person has several hundreds of phone numbers.

@Nikola Don't worry. One random user doesn't decide what's on- and off-topic on this site: we all decide together, as a community.

@Izzy: say you have one 'spam contact' that you keep filling with spam numbers that come your way - that's the use case and problem I'm solving.

Good point. Maybe you [edit] your question and add that? With that detail, you might have described an XY problem. Isn't your real question rather "how to block hundreds of spam numbers effectively" – and would you also accept solutions other than adding them to your contact list?

Well, not to drag this convo any further down the rabbit hole; I do know how to make that programmatically, I was just looking for some official docs which would tell me the limitations (at least some rough numbers), if they exist. Thanks for your kind help guys, as it seems this really varies from version to version and make to make.

Clarifying on your comment asking for a rough estimate, it is 499 and that seems to be not rough but pretty much fixed . Source- from SE webapps- What is the maximum number of phone numbers per one contact in Gmail?
It is relevant in the sense ultimately your contacts are going to be synced using Gmail , while the Android capacity may be more or less, it doesn't matter and by the same logic Android version shouldn't either


text:
keep on getting "could not connect to device" on nexus 6p <--> mac
This used to work reliably for me all the time. Simply connecting my nexus 6p to my mac, tapping on the file transfers option in the USB for file transfer option and boom

but now I keep on getting this screen

It's not a big surprise.. I've always got that screen but simply restarting the phone or unplugging the USB and then replugging it worked (sometimes I had to turn off developer options for it to work).
But now none of these procedures work
What I do know

I know it's not a physical problem with the usb cable.. because I can access my phone using adb ssh just fine
I've also turned off my adb server just in case etc

Ideas?
Note:
If I type in adb devices on my shell i get this
$ adb devices
List of devices attached
8XV5T15A29004531        device
4df727de4f8c110f        unauthorized

which is weird.. I do know my 6p id is 8XV5T15A29004531.. so i'm not quite sure what this unauthorized thing is, although i ran adb kill-server just in case but that didn't change anything.


text:
Probably blowed up batery or smartphone with multimeter
First, I turned off my LG-D280N and removed battery. Set the multimeter into 20VDC (next is 2VDC) and correctly checked battery pins and checked the voltage.
Next, I checked  pins on case, set "diode test mode" and touched two case diode pins (NOT touched battery!).
Then on phone I did the same, but I was  scared and after second or less stopped touching this with multimeter cables. When I turned on, I saw on notification bar a symbol like this ( this is not the exact symbol but looks similar with this difference - yellow was transparent, red was white and black was also white)

Did I damaged my battery or the phone?

Poland road-style "!"? Is your battery indicator showing a triangle? Could you provide us a screenshot to better visualise your problem?

@benjamin It was looked like this, but not battery indicator showing triangle, this is not screenshot but very useful: LINK But yellow was transparent, red was white and black was also white. The look is exactly that same.

I tried to improve the question but still is not clear to me- you say "Next, I checked pins on case " and then  " on phone I did the same". How is case different form phone or in other words what is case

Diode test mode is used to:

.... display the voltage drop measured across the diode under test, as a small current is passed through it.

Diodes in battery circuits are used to prevent accidental reverse polarity of battery
I suspect in your case, you had reversed the polarity while measuring it causing the Diode to blow up ( and saved the internal circuitry).
This has caused the system alert  ( see lg-icons, symbol looks very similar to what you have described in words ) to be flashed as the circuitry is damaged and battery / mains cannot be used to power the device

I am not an expert in these matters but have tinkered with circuits way back
In any case, since you see the system alert and probably can't use the phone, only option is to service center for repair and if possible oversee the repair to see the actual damage. Remember, mobile battery circuits have tons of safety features built in so it shouldn't be a major damage. If it is only a Diode, normally it isn't a challenge to replace it
All the best

I can use phone normally, but system alert looked completely other.

Good that you can use, but wonder why system alert is showing differently


text:
Why does the built-in Download Booster on Samsung not work with UC browser?
Download Booster is a built-in function on Samsung devices, and it works great when downloading a file more than 30MB from the Play Store. However, it does not work when downloading a file via the UC browser.
Why?

It does not work / has limited support with Third-Party applications.
Have a look at the following article by Samsung on their homepage:
What is the Download Booster and how do I enable it on my Samsung Galaxy Alpha?
It seems like that the download booster is only available when downloading via the integrated Browser / Samsung Apps / Google Apps.
See this image for the download browser description:

Thanks Samsung for providing this picture
The last sentence pretty much says that third-party applications might not work with the download booster.
You can also have a look at Even though Download booster feature on Galaxy S5 is enable, it does not work to download contents. What is the problem?.
I'm quoting the essential part:

This feature supports Hypertext Transmission Protocol (HTTP) 1.1 only.
  So, It can be activated in Play Store, Samsung Apps, Samsung Video , YouTube, Play Movies, Play Games,   Internet(S-Browser), Chrome (ChromeBrowser), Baidu, and not all applications.
  The feature cannot be used with other protocols, such as HTTPS or FTP.
  So, it’s not supported regarding to attached files of E-mail , Streaming service like  Dropbox or Twitter

Good find, benjamin. Especially focus on the last sentence in the second screenshot explicitly: This does not apply to applications downloaded from Samsung Apps and Play Store.


text:
Samsung GT-i8262 only boots into recovery after flashing
I have issue with this phone, flashed the recovery to CWM using the Rashr application and rebooted. Now my phone only boots into recovery anytime I turn it on.
The USB port is damaged, now I decided to flash with CyanogenMod but no avail.

What happens when you try to install cyanogenmod? Any error message or does it just not boot? Which partitions have you wiped before flashing CM?

No error messages, did successfully. Wiped data/cache and Davlik

Try wiping the system partition before flashing. The flashable zip file should do that most likely automatically but you never know :)

Just remove your battery and  open download mode manually by pressing Power button+Home+volume down key. If you do like this, only then, download mode will support your Odin otherwise, it won’t support. After this just flash your CWM recovery again.
EDIT:
You just need to re-flash recovery. In your case, you can use your CWM recovery to flash. I don't remember that it will work. But you can surely flash this
TWRP recovery.
There is a bug which comes in effect if you use reboot from CWM recovery menu. Beware of that bug and reboot manually.
See this and this for any help about rooting or any problem.

His USB Port is defective, he is not able to use download mode / Odin to flash a new recovery image.

"my phone only boots into recovery anytime I turn it on" – so how to use Rashr then with the device not fully powering up? Isn't Rashr an app?

Ye, thanks. My USB port has spoilt. I'm asking if there is a way to flash recovery using the existing CWM recovery.

Flash that twrp up there from cwm recovery. Works fine.


text:
Will I get back my IAPs after reinstaling a purchased app from the Google Play?
So I was wondering if I will get back my IAPs after reinstalling an app from the Google Play Store. It's because I have an app where I've made a lot of IAPs and I've uninstalled it due to insufficient storage.
Any help would be appreciated.

Also duplicate of  Are in-app-purchases applied after an app reinstall?

Yes. Your in-app purchases are saved on your Google account. When you re-install an app it should restore the purchases given that you are logged in with the account you used to purchase.
Sometimes the app doesn't restore the purchases. In this case you should find a button in an app saying something like Restore In-App Purchases and click it. You should have everything you purchased.
If you still don't have your purchases restored you should contact the developer. Since your purchases are stored on your Google account they can verify that you paid and restore your purchases manually.


text:
'Set Warranty Bit: Recovery' Samsung doesn't boot
I have a Samsung Galaxy J5 and it isn't booting since I patched an app with Lucky Patcher (first time I tried it). I have had the root for some time, with no problems, but now I boot it and it goes black after showing the logo and 'Set Warranty Bit: recovery' for a second.
I have a backup with Titanium Backup in my PC, and would like to know if I should flash a custom ROM I found for my device or flash a stock version (custom ROM works for everyone and comes with instructions, but I don't trust so much the stock version). Also, the custom ROM has a lot of steps, but there is no cyanogenmod version for the J5.
Thanks in advance! (also, is there any other solution?)

Take a look at this guide. It is designed specifically for the Galaxy J5 and all flashing software and the ROM are obtained from official Samsung sources. Outline:

Backup your data
Install Samsung USB drivers (No link because it will probably die soon, Google is your friend)
Install ADB & Fastboot drivers if you haven't already. (HowToGeek)
Enable USB debugging (if you can)

Make sure your phone is charged. If you can't see any indicators of battery life leave it on the charger for 2 hours.

Download and install Odin (download here)

Download the stock ROM for your phone (here)

Turn off your Galaxy J5 and Boot in download mode: Hold down Volume Down + Home + Power button at the same time

Connect it to the PC with USB cable and run Odin.

If everything is right and drivers are working properly. You will see the blue box on the Odin screen, if not reinstall the drivers again and reboot your PC.

Now select the AP option from the Odin screen and select the firmware file that you extracted.

Hit the Start button from the Odin screen to start the flashing process.

Once completed you will see the PASS messages on the Odin and the phone will reboot automatically. Now you can disconnect your phone.
IMPORTANT: If your phone is stuck in the boot loop or in the Samsung Android Logo then turn off the phone and reboot into recovery mode. To do this, hold down the Volume Up + Home + Power buttons at the same time. Now from recovery, select Wipe Data/Factory Reset and after that Wipe cache partition. Now reboot you phone.


text:
Network disconnecting after returning from flight mode
Device: LG G4 with android 6.0
When I turn flight mode off, after a few seconds I get reconnected to my mobile carrier network. After a another few seconds though, the network disappears (showing 'searching for network' icon in notification bar) and I have to wait for a minute or so in order to be able to make a phone call or something.
The phone came with android 5.1.0 and I think this started happening after the first OS update (to 5.1.1 if I can remember correctly).
Why is this happening? Is there any way to fix it?

Can you share the exact software-version? You'll find it in settings, general, About Phone, Software-Version. I'm running Andoird 6.0 V20g and don't have this issue on my LG G4. Might be firmware specific...I haven't been able to find a similar problem while searching the XDA Forum

@benjamin it is V20d-EUR-XX

For some reason this had to do with my service provider. When I activated 4g the issue was resolved! (don't know why and how this is related to 4g activation but it really stopped when I called the company and told them to activate my 4g)


text:
Can't unlock previosuly resetted Wiko Pulp 4g phone (loop in login screen)
I just got a new phone from a friend, a Wiko Pulp 4G. Before giving it to me, she did a factory reset on it without logging out of the phone previously - so now when I turn on the phone, it demands to log in with the account that was used on the phone before the reset before you can do anything else. Problem is: It doesn't unlock. It's stuck in a loop. You first have to insert email and password and then a code is sent to my friend via SMS - but when I enter the code, the first screen demanding my friends email appears again, and the process of logging in starts anew.
Here's what I already tried:

Hardresetting my phone as described on this website. This doesn't change anything sadly.
Remove the device from my friends google acount on Googles device manager page - but the phone doesn't have a remove button (because it isn't actually logged in I guess)

Is there any way to solve this? If nothing works I will try to root it and install another ROM, provided I can figure out how to enable USB debugging without unlocking my phone.

This is called Device Protection Lock or Factory Reset Protection. It's an anti-theft feature that is triggered when you hard reset your device without removing the screen lock code and Google accounts. You can check if your account is synced to the device by going to Google.com/dashboard, and check under Android. If you see your device there, it means that it's synced before the reset, if not, then there's gotta be another account that was signed in to it.
If you changed your password before or after the Factory Reset, you need to wait for 24 hours before you can sign back in on the device and complete the setup.
If that still doesn't work, try disabling the 2-step verification from your friend's account, as some devices may have compatibility issues with it.
If that still doesn't work, the best way is to get in touch with the device's manufacturer. You may need to send in your device for repair. I'm not really quite sure for every manufacturer, but usually, they will flash it.


text:
Send message to telegram bot via Google Now voice command
When I tried to use Google now (OK Google) and told them "Send message via telegram to Home" (Home is my telegram bot name).  Google didn't find bot contact name (see picture). When I use regular contact it worked well. I tried creating contact with a bot name but it also didn't work ...
Maybe someone can help?

This is just a guess, but it might be treating "Home" as a special word, instead of a contact name. Could you try it with a bot with a different name, and see if that works?

@DanHulme Tried, result was the same...

It's not possible out of the box[1]. When you tell Google to send a message via some app, it looks for the contacts in your contacts list - where bots doesn't exist.
[1] Maybe it's possible with some extensions, such as those apps that let you set more voice commands for some actions. Haven't tried it.


text:
How to restore original android OS and remove cyanogenmod?
My situation is that I downloaded cyanogenmod and liked it. I then performed a factory reset and wipe data off of my phone. When a restart my phone, I no longer have google play store installed or any of the stock google apps for that matter.
What has gone wrong and how do I restore everything back to the stock version of android?(the way it was when I didn't have cyanogenmod and just the plain old android OS)
My phone was a Sony Xperia Z. It is running on android 5.1.1.

What is your device model? Flash a stock firmware

If you have two accounts that you would like to join together, please see here

Apparently, you have not bothered to "merge" the accounts, despite being requested, that's the reason your proposed edit (assuming you opened two accounts to sign in) is rejected. Besides, you cannot have a question based on the answer edited into your original question.  If you want to ask , it has to be a separate question after verifying that it had not been asked earlier and answered

Instead of trying to head back, why not flash GAPPS (Google Apps suite) if there's nothing wrong with CM itself? Get appropriate GAPPS for your Android version at opengapps.org.

As discussed by @Andy Yan, you can download an appropriate GApps suite and flash it from the link that he has provided. If you still want to revert to stock, grab a stock firmware file from here https://xperiastockrom.com/sony-xperia-z-c6603 or from XDA and flash it using a flash tool.


text:
Install cyanogenmod on an S5 mini (G800F)
probably a standard question. I would like to install cyanogenmod on my device. There is a ROM available which I would like to try. I can boot my device into recovery mode. I can choose to flash the zip to be flashed, I do however get the "E: failed to verify whole-file signature" error, presumably because the image is not signed by Samsung.

To get around this problem, is it necessary to install TWRP / CWM or is there another way to flash the image?
Is TWRP/CWM device-dependent as well?
If yes, where can I find an image suitable for my device (I don't want to hard-brick the device by getting the wrong one)?
The link above mentions a recovery image. However, this image has a *.md5 extension and not *.img. Isn't the latter required (at least for odin3 / heimdall)?

3rd-party recovery is necessary.
Yes.
XDA-Developers also have you covered. You already have the ROM there, why not take some more time to look around and grab TWRP 3.0.0 (newer than provided in your link)?
*.md5 allows Odin/Heimdall to verify image integrity before loading it. It's just your regular *.tar with MD5 attached to it. Odin does not accept *.imgs.

Also, in case you didn't notice, CyanogenMod 13 is available for this device too.


text:
How many tabs are open in chrome browser? (Above 100)
When the number of tabs reaches 100, the tab counter turns into a smiley face like so :D
I wish to know how many tabs are open, without doing the manual count. Is there a way?

A more technical approach is to use adb and chrome_devtools_remote to get a list of ALL open tabs

Short how-to:

Install an Android SDK, we only need the adb.
Connect your phone to your computer via a cable.
In a terminal, run this to get a list of connected devices:

./adb devices -l

Run this:

./adb forward tcp:9222 localabstract:chrome_devtools_remote

Open http://localhost:9222/json/list on your computer to get a JSON list of your open Chrome tabs.
In short, the count of the { characters in the JSON is the number of tabs open in your Android Chrome.

Read how to do this in full at "When you never close tabs on your mobile Chrome browser" by Marcin Piczkowski, in Dev.to

This is a bit technical but very useful, as it allows you to export a list of all the urls and mass-close them on the phone. I tried it with success a few months ago.

This is an Easter egg coded 4 years ago
From this XDA post- you need a rooted device  ( you can't access /data/data/ without root )

Download a root explorer capable app such as ES file explorer

Navigate to chromes profile directory, mine was at /data/data/com.android.chrome

Open the app_tabs folder

You should now see a single folder labeled "0"

Select it and open its properties, under file count deduct 1 and that will be how many tabs you have open currently, deduct 1 because 1 file in there is only an overall tab state file

Verified on my device  ( Moto X Play, 6.0.1, Chrome 52.0. 2743.91) when the tabs open are 4 = Files (5) minus one

Google Chrome on a Galaxy Z Fold4 (as of April 20th, 2023):

Tap the "Switch or close tabs" button (i.e. the ":D" button)
At the top right, tap the vertical ellipses button "⋮"
Tap the "Select tabs" menu item
Tap the "⋮" button again
"Select all"

At the top left, look at one of the shocks of your life:

I've also verified it also counts tabs in groups.

Works for me on PIxel 6 phone as well. Thanks!

Works as of 2024 on an old android 9 tablet running chrome 120 with 2373 open tabs

There is actually a way to see how many tabs you have open without rooting the device or doing any other things people are suggesting
Just simply, enable Talkback mode in accessibility features. Then when you hover (if you have Bluetooth mouse enabled) or tap the tab icon (with your finger) (the :D), it will tell you how many tabs you have open. Like on mine, it said 713 tabs open.
(warning, with grouped tabs (more than 1 tab in group) it counts that as 1 tab it doesn't count them all. so if you have 7 groups of 100 tabs open it will only say 7(show too))

Does this still work? For me it didn't say a number. However when I had TalkBack on, the tab grid became a simple scrollable list, so it was much easier to feel the amount.

@TWiStErRob it is no longer working for me. It worked for a few years, but sometime in the last 2 years I think it stopped working.

How to count your open Chrome tabs in Android by looking at your synced Android tabs (done from a computer)
This is really dumb that Google won't just show the number in Chrome on the phone instead of showing :D past 99 tabs, but this is the best I can come up with. (GOOGLE, PLEASE FIX THIS!)
Note: if someone knows how to use the Google APIs I wonder if they can script this and count this automatically!

On a computer, NOT on a phone, go to your "other devices" Chrome history, and find your phone device (for me it is "Pixel 2"). Note: for this to work, you must be signed into the same Google account on both your computer's Chrome browser as well as in your phone.

In your Chrome browser, press Ctrl + H, then on the left side, click "Tabs from other devices"
OR, in your computer's Chrome browser, just navigate straight to here: chrome://history/syncedTabs

You'll see something like this:
Find the location to the left of the first icon next to the first link in the list. This location is marked in yellow in the image below. Left click on this location and drag right to highlight a word or two, as shown here:
Now manually scroll down the page until you find the last link in the list for this device (where this device is your phone, or course). Once there, Shift + Click at the end of the last row to highlight all the way down to the last row, as shown here. I clicked at the location marked in yellow: .
Now, use Ctrl + C and Ctrl + V to copy-paste all of this into your favorite text editor/code editor which shows line numbers. I like Sublime Text 3. I think it's great!
Voilá! The number of lines you have is equal to the number of tabs you have open in Chrome on this device--which is my Google Pixel 2! I have 494 open tabs: . Indeed, this is way too many. Next question I have: how do I mass-close them?: How do I close all, or many at once, Chrome tabs on Android on a phone?

If someone can script this process, please do! You may even be able to make it a Javascript bookmarklet or something which is runnable in Chrome on a PC or phone? I don't really know Javascript, but here are some of my favorite bookmarklets I use regularly in GitHub code review, for example, if this helps get you started writing bookmarklets to solve this problem: https://gist.github.com/ElectricRCAircraftGuy/0a788876da1386ca0daecbe78b4feb44.

According to my technique above, I just closed 504 more tabs! But, when I used the close all tabs option in Chrome on my phone, it said it closed 665 tabs. I think my phone was counting tab groups too, so 504 tabs + 161 tab groups = 665 total, which is what the phone reported when I mass-closed them.

Beside the answer of Mat, if you have a stylus (like Samsung Galaxy Note), you can also hover on the tabs [:D] button to see your open tabs count.

Update 2022-10-01
This now shows "Switch or close tabs", it doesn't show the tab count anymore.

With some experimenting, swiping and manual counting, I've found that swiping will move a max of 25 tabs each time (depending on how strong you swipe). I think this is a programmed constant, although I haven't checked if the code is available to confirm the number.
My shortcut for counting tabs has become to swipe from one end to the other, counting the number of swipes, and multiplying by 25, giving a good enough approximation.

There's a new way to find number of tabs now - that doesn't require complicated steps or connecting to a computer:

Select top right action
Click on the select tabs
Then click on select all from top right menu again

You get the total tab count

Thanks for the answer. The "Select tabs" option is not there on my phone. Which phone/Android version are you using?

Hey, I am on OnePlus 9R, Android 13, Chrome 120.0.6099.43

Another way u can use on every operating system you want, is to check google account sync review . It will show you how many tabs you have opened on all devices you have this account on (if more than one device). Shows you bookmarks and some other information.
Anyway i don't know why but i think it doesn't count chrome tab folders because i used another way before (from answers here, using google select all tabs.) And it was different from that. Anyway i hope it helps but the better a easier way is what Mohammad Badrah said up there in answers.


text:
After rooting with Kingo Root, do I need to leave Kingo Link on the device?
I successfully rooted an Azpen 746G using Kingo Root on a PC.  It placed an app on the tablet called Kingo Link.  Once the rooting process is complete, can I delete this app off the tablet?
Because the word "link" is so common, googling for this was not helpful

@Organc - check out Google Search documentation and Advanced Search... many of the tips can be especially handy to coders & techies as so many keywords have multiple definitions, and the coding definition is rarely the most common. ;-) In this case you could have searched for "kingo root" "kingo link" need. (incidentally - this question is the top hit for that search!)

You are safe to uninstall it, the root is done, you dont even have to connect it to PC anymore. In case you do need to root again, connecting the pc will auto-install it back anyway (nless you uncheck the almost invisible "install recomended apk" or something, that shows below inside kingoroot pc software window! lol) Cheers


text:
Cannot restore an adb backup due to a tarball with a broken header
I have two devices that have Android 5.0.2 and 6.0.1 respectively. I would like to migrate some non-cloud apps from the device with the older Android version to the new one using adb. The backing up command is simple:
adb backup -apk -f foo.bar.baz.ab foo.bar.baz

Now, after connecting the device with the newer Android version, the following command is expected to work:
adb restore foo.bar.baz.ab

Unfortunately it isn't. As usual, the restoring process fails silently just reporting that the restoring process is ended. Actually nothing really happens. Here are the logs:
adb logcat -s BackupManagerService

08-27 01:02:44.100  1300  2300 I BackupManagerService: Beginning full restore...
  08-27 01:02:44.100  1300  2300 D BackupManagerService: Starting restore confirmation UI, token=1956031088
  08-27 01:02:44.120  1300  2300 D BackupManagerService: Waiting for full restore completion...
  08-27 01:02:45.650  1300  2450 D BackupManagerService: acknowledgeFullBackupOrRestore : token=1956031088 allow=true
  08-27 01:02:45.660  1300 18181 I BackupManagerService: --- Performing full-dataset restore ---
  08-27 01:02:45.680  1300 18181 I BackupManagerService: Package foo.bar.baz not installed; requiring apk in dataset
  08-27 01:02:45.680  1300 18181 D BackupManagerService: APK file; installing
  08-27 01:02:45.680  1300 18181 D BackupManagerService: Installing from backup: foo.bar.baz
  08-27 01:02:45.690  1300 18181 E BackupManagerService: Unable to transcribe restored apk for install
  08-27 01:02:45.690  1300 18181 E BackupManagerService: Parse error in header: Invalid number in header: 'я╛В' for radix 8
  08-27 01:02:45.710  1300 18181 W BackupManagerService: io exception on restore socket read
  08-27 01:02:45.710  1300 18181 W BackupManagerService: java.io.IOException: Invalid number in header: 'я╛В' for radix 8
  08-27 01:02:45.710  1300 18181 W BackupManagerService:  at com.android.server.backup.BackupManagerService$PerformAdbRestoreTask.extractRadix(BackupManagerService.java:7380)
  08-27 01:02:45.710  1300 18181 W BackupManagerService:  at com.android.server.backup.BackupManagerService$PerformAdbRestoreTask.readTarHeaders(BackupManagerService.java:7179)
  08-27 01:02:45.710  1300 18181 W BackupManagerService:  at com.android.server.backup.BackupManagerService$PerformAdbRestoreTask.restoreOneFile(BackupManagerService.java:6396)
  08-27 01:02:45.710  1300 18181 W BackupManagerService:  at com.android.server.backup.BackupManagerService$PerformAdbRestoreTask.run(BackupManagerService.java:6254)
  08-27 01:02:45.710  1300 18181 W BackupManagerService:  at java.lang.Thread.run(Thread.java:818)
  08-27 01:02:45.710  1300  2300 I BackupManagerService: Full restore processing complete.
  08-27 01:02:45.720  1300 18181 D BackupManagerService: Full restore pass complete.

It looks somewhat strange that the same backup format cannot be restored on a newer device. I've also tried to repack the underlying tarball using nelenkov/android-backup-extractor preserving the same file order (tar cvf ... -T files.lst) hoping that the broken header gets repaired. No luck.
What does cause such a backup/restore behavior and how do I resolve the issue to migrate the application from the older device to the newer one? Any help is highly appreciated and thanks in advance.

Android Debug Bridge version 1.0.31
LG Optimus E975, Android 5.0.2, CyanogenMod 12-2015...
Samsung Galaxy S5, Android 6.0.2, flashed to a newer Sprint stock firmware (initially Android 5.0.x earlier)

After a whole day of various experiments with another tools like TitaniumBackup (neither worked nice, TB was only able to restore APKs, not data) I've figured out that specifying the -apk key was the problem. Simply omitting the flag during a backup operation makes it fully restorable.
So my new backup/restore plan became as follows:

device 1: backup data only
device 2: backup APK+data retaining the APK only later (requires nelenkov/android-backup-exractor by Nikolay Elenkov; can be easily built using JDK 1.8.x and Gradle 2.7 (couldn't build it using Gradle 2.7+ and Gradle 3.0+) with simple gradle command)
device 2: restore the APK using adb install
device 2: restore the data using adb restore

Here are the scripts:
backup.sh
#!/bin/bash

set -e

PACKAGE=$1

if [ -z "$PACKAGE" ]; then
    echo no package specified
    exit
fi

echo ">>> Backing up $PACKAGE data..."
adb backup -f "$PACKAGE".DATA.ab $PACKAGE

echo ">>> Backing up $PACKAGE APK..."
adb backup -apk -f "$PACKAGE".APK.ab $PACKAGE

echo ">>> Extracting APK..."
java -jar abe-all.jar unpack "$PACKAGE".APK.ab "$PACKAGE".APK.ab.tar
rm "$PACKAGE".APK.ab
APK_FILENAME=$(basename $(tar tf "$PACKAGE".APK.ab.tar | grep '^apps/'"$PACKAGE"'/a/'))
tar xvf "$PACKAGE".APK.ab.tar -C ./ "apps/$PACKAGE/a/$APK_FILENAME" --strip-components=3
mv "$APK_FILENAME" "$PACKAGE".apk
rm "$PACKAGE".APK.ab.tar

echo
echo "*************"
echo "*** Done ***"
echo "*************"

This script requires a package name as the input parameter and stores an APK and its data as foo.bar.apk and foo.bar.DATA.ab respectively. I also implemented it as a twice-backup script (a device asks for making a backup two times) because I didn't want to re-pack underlying tarballs preserving the original file order just making sure that the DATA.ab file is in its original state.
restore.sh
#!/bin/bash

set -e

PACKAGE=$1

if [ -z "$PACKAGE" ]; then
    echo no package specified
    exit
fi

echo ">>> Installing $PACKAGE APK..."
adb install -r $PACKAGE.apk

echo ">>> Restoring $PACKAGE data..."
adb restore $PACKAGE.DATA.ab

echo
echo "*************"
echo "*** Done ***"
echo "*************"

This script simply installs an APK on a target device and restores its data. The only input parameter is the application package name.
So the overall backup/restore process is:

Connect device #1
Execute backup.sh passing an application package name
Click "Backup..." on the device #1 (one will be asked two times for the data and APK+data backups respectively)
Repeat the previous two steps for other packages if necessary
Disconnect the device #1 and connect the  device #2
Execute restore.sh passing an application package name
Click "Restore..." on the device #2 once asked
Repeat the previous two steps for other packages if necessary

I just want to add to your answer, for people going from KitKat (4.4) to Nougat (7.1). (BTW, I finally came across your question/answer after 2 days of fighting with this, thanks a ton)
There are various bugs in adb from version 1.0.32+ when trying to backup, but version 1.0.31 works great. However, you seem to need 1.0.36 to restore to Nougat.
To Backup: platform-tools_r20 (You MUST set a password)
To Restore: platform-tools_r25.0.3 (No password needed)
As such, I added to your script a bit... (you'll need to add symlinks for adb-1.0.31 and adb-1.0.36)
backup.sh
#!/bin/bash

set -e

DEVICE=$1
PACKAGE=$2
PASSWD=$3

if [ -z "$PACKAGE" ]; then
    echo no package specified
    exit
fi

echo ">>> Backing up $PACKAGE data..."
adb-1.0.31 -s $DEVICE backup -f "$PACKAGE".DATA.ab $PACKAGE

sleep 5

echo ">>> Backing up $PACKAGE APK..."
adb-1.0.31 -s $DEVICE backup -apk -f "$PACKAGE".APK.ab $PACKAGE

echo ">>> Extracting APK..."
java -jar abe.jar unpack "$PACKAGE".APK.ab "$PACKAGE".APK.ab.tar $PASSWD
rm "$PACKAGE".APK.ab
APK_FILENAME=$(basename $(tar tf "$PACKAGE".APK.ab.tar | grep '^apps/'"$PACKAGE"'/a/'))
tar xvf "$PACKAGE".APK.ab.tar -C ./ "apps/$PACKAGE/a/$APK_FILENAME" --strip-components=3
mv "$APK_FILENAME" "$PACKAGE".apk
rm "$PACKAGE".APK.ab.tar

echo
echo "*************"
echo "*** Done ***"
echo "*************"

restore.sh
#!/bin/bash

set -e

DEVICE=$1
PACKAGE=$2

if [ -z "$PACKAGE" ]; then
    echo no package specified
    exit
fi

echo ">>> Installing $PACKAGE APK..."
adb-1.0.36 -s $DEVICE install -r $PACKAGE.apk

echo ">>> Restoring $PACKAGE data..."
adb-1.0.36 -s $DEVICE restore $PACKAGE.DATA.ab

echo
echo "*************"
echo "*** Done ***"
echo "*************"

I got the same error when to .ab file I packed .7z archive instead of .tar. I used 7z.exe, so changing command from:
7z.exe a -t7z app.package.name.7z app.package.name

to:
7z.exe a -ttar app.package.name.tar app.package.name

helped. Regards.

I know it's not a direct answer to your question, but other people may be in the same situation and looking for a similar solution:
This bit me today as well during a Lineage 14.1->15.1 upgrade. ADB 1.0.39 does not really seem to improve the situation.
I did not want to use old adb versions, but wanted it to be simple and open source.
I found oandbackup (https://f-droid.org/en/packages/dk.jens.backup/) to do exactly what I want. Just select all user apps, backup apk+data, copy the whole folder to the other phone, restore all apps+apks, and voila, (nearly) everything back as it should be. Account entries (imapnotes, davdroid) have not worked, and backing up the "account" app added an invisible imapnotes account which did not work and could not be re-added. Had to delete app data and re-add the account manually. So I would not recommend backing up account info.
Other than that, I am happy.
I used to use adebar (https://github.com/IzzySoft/Adebar) which was perfect, but now that adb backup/restore do not work reliable, it also does not work.
Every adb version creates different error messages:
DefContainer: Failed to parse package
or
Unable to transcribe restored apk for install
Hopefully some search engine will pick these strings up.

If you have root, there's no problem. The question is to restore without root


text:
How can I login to Skype with a username (not phone number or email)
On the Skype app, I can't login to my account with my usual Skype credentials. It keeps telling me "please enter your phone number or your email address".
I can login to the desktop version just fine. I don't want to make a new or separate account for the mobile version, I just want to log in with my existing account.


text:
Pokemon Go 0.35.0 on ZenFone 5
Sometimes my character won't move even though i am moving in real life. Everything is fine, gps is working fine, sometimes my character just stand there and I can spin the pokestop for hours. But the problem is i can't hatch my egg sometimes, is that bug or problem for zenfone 5? Or is that any ways to solve this?

Possible issues
 1) You did not provide all the necessary permissions requested by the app to function properly.
 - you need to go to the settings -> apps and check the permissions.

2) Your network might be an issue.
- check the data transfer rate while in the game, and see if there is data being transferred when this happens. if not more than 2kbps then there is a high possibility of this being the cause.

My phone is having android L which grants all the permissions requested by app as default when installing. So it might be the latter which cause the problem. Is there any way to check data transfer rate while in the game?

basically i would not recommend installing a seperate app for this purpose, but this might help.
and i guess android L does not have an inbuilt data traffic monitor like android marshmallow.


text:
How do I eliminate "labels" from the Gmail app on Android?
The Gmail on my tablet has a bunch of old "labels" from past email traffic, and I wish to remove/delete those labels.
None of the old labels have any documents in them (they are empty), but they are still shown on the left side of the Gmail screen. They are listed under the headings: "Recent Labels" and "All Labels"
By the way, I did access another screen that has the following listings:

delete labels
remove labels
label:Junk-E-mail-FRIENDS
cancel labels
discard labels
labels
remove account
remove account withdrawal
create labels

I tried all the above commands to eliminate the labels appearing, but with no luck.
The message I get is ...

Whoops! We didn't find anything for "xxxx labels"

How do I remove these old label listings from appearing on my screen?

From app help, search for Remove Labels
On a computer, open Gmail. You can't edit labels from the Gmail app.

On the left side of the page, hover your cursor over your label's name.
Click the Down arrow.
Click Remove label

Thanks! I didn't understand that I had to use my notebook to open up Gmail on the Nexus Tablet, and edit the label listings.

If you open Gmail in a web browser, at the very bottom of the page it says mobile, older version, desktop; choose desktop. Now you can add, edit, or delete labels and folders from your mobile phone.

Looks like a mere refresh does not work. You will have to remove the label from desktop Gmail. Any removal of label will only be reflected in your Android Gmail app once you clear the data.

Make necessary changes from desktop to your labels.
Go to phone settings - Applications - Gmail - Storage - Clear data (+ cache)

This will work!

It's true you can't customize your labels from within the Gmail app in Android, but you don't need to physically do it from a notebook or desktop, you can still do it right from your Android phone by using Gmail through your web browser ᎓

Use the Google search bar on your phone to search for "gmail"
Tap the first result  (" Gmail - Google ")
If asked whether to open the web version or use the Gmail app, choose
the web version, and you'll be looking at the familiar contents of
your Gmail Inbox, only on the web via your browser  ( see footnote )
Tap the '≡' symbol, top left
Scroll to the bottom to where, in very small print, it says View
Gmail in ᎓  and tap the blue Desktop link

Now you're looking at your Gmail Inbox exactly as you would see it on your desktop or notebook computer, so from here you proceed just as you would if that's what you were using. In this case ᎓

At the bottom of the left column, tap the blue Edit labels link

You're shown only the labels you're allowed to customize, each one with its own set of  [ Rename ] / [ Remove ] buttons … proceed accordingly  ( and carefully ! ).

If at this point you're not given the choice of opening the web version and the Gmail app opens automatically, it's because you need to clear the Set as default flag for the Gmail app in your phone's settings. The procedure for this will vary a bit depending on phone model, but on the Samsung Galaxy S8+, it's  [ Settings ▸ Apps ▸ Gmail ▸ Set as default ▸ Clear defaults ],  so 5 taps.


text:
Boot Loop On Reboot After Successful Root (With KingoRoot & KingRoot)
I first tried to root my Samsung Grand Prime (SM-G530W) a while back using KingRoot and it succeeded, but after restarted my device it got stuck in a boot loop and eventually showed the "Custom binary blocked by FRP lock" error, but after factory resetting it everything was fine again. Now, I tried to root my phone again using KingoRoot this time, once again it was successful, but now it's stuck in another boot loop and there is no error message. I tried booting into recovery mode and factory resetting, but the problem still occurs. What can I do???
Also, I only have today and tomorrow to figure this out, so I posted this EVERYWHERE.
Here's the thread on other websites, see if you can find any useful info:

http://forums.androidcentral.com/general-help-how/717089-boot-loop-reboot-after-successful-root-kingoroot-kingroot.html?mn_qa=1#post5369840
http://www.androidauthority.com/community/threads/boot-loop-on-reboot-after-successful-root-with-kingoroot-kingroot.30729/

There's also 3 more, I'll link them if I get at least 10 rep (it's required).

I fixed the problem by following this YouTube video:
https://www.youtube.com/watch?v=lWuH7Km6GSQ


text:
Changing volume from Android GUI (Quick Settings) - without volume buttons?
Is there a way to change volume - or rather to show the volume change screen - without using the volume buttons? I would have thought I could find on Quick Settings dropdown, but there seems to be nothing there related to volume; as example:
How to Customize Android’s Quick Settings Dropdown

Is it possible to have a shortcut to the volume sliders "applet" here?

You can use GravityBox xposed module (relevant to your Android version) to add a quick setting for Volumes. Alternatively, you can use GMD Gesture Control app to show volume slider or even change it using gestures.

If your device is rooted, then it is very possible to do so using a third party application.
If you are not rooted and on stock ROM, then it is only possible to do if your manufacturer supports it in their android overlay.
For example in Android 4.4.2 kitkat on the samsung galaxy note 10.1 2014 edition, there was an option to adjust volume without the buttons, but the option was removed in the android 5.1 lollipop update.
HOWEVER, this app creates a widget instead and works in the same way as adjusting from the notification area
Google this:
Slider Widget - Volumes on Google play
You should find the app in question.
Edit:
Here is another one: http://nexus5.wonderhowto.com/how-to/control-volume-directly-from-notification-tray-lollipop-0159666/
Cheers!


text:
Set ES File Manager as the default file manager on Lenovo A6000
I am using a Lenovo A6000 Android phone. My default file manager is other than ES File Manager.
How can I set the ES File manager as default and uninstall the in-built file manager?.

To uninstall, go to Settings -> Applications and select the app. You will have the option to uninstall. If it is part of the ROM, you should have the option to disable it.
If you want to set ES Explorer as the default, go to the existing app as above, scroll down and tap on 'clear defaults'. This will pop a dialog next time Android wants to decide which app to open. (Usually when you connect a USB device or open a file picker, etc.) then you can select ES as the default.

I have tried it but there is no option for uninstall or disable for my default File Manager..

oh.. This is available on devices running ICS or higher I think. And some OEMs/carriers also prevent you from having those options. While this is rare nowadays, your device may be one of those.


text:
UVC/UTV007/HTV600 driver support for Galaxy Tab S2 or Galaxy Tab E
I'm planning to connect a reverse camera to an android tablet.
I am using the famous EasyCAP device to get the analog RCA signal to USB input.
I have tried this with a few apps and turns out they rely on a kernel mode driver which may or may not be included in a given device.
My Nexus 5X works well, but my Galaxy Tab A 7" (2016) doesn't seem to have it. (Go FPV app says it can't find the driver)
So my question is, is there a list of device models that I can refer to, to find a device that has the driver? My target is to use a Galaxy Tab S2 or a Galaxy Tab E (due to another constraint for my project)
How can I find out which of these 2 devices will include the kernel mode driver I need?
Another option is to use the popular EasyCAP Viewer app which is paid, since Arksine's Easycam project here suggests that app uses a user-mode driver which doesn't rely on the kernel mode driver to be present. I'm not sure whether it is true.

It's been a while and I haven't seen any answers, so I'm gonna post my approach and findings. If someone has an answer, please post here and I will accept it.

So far, I couldn't find a list of devices that supports the UVC driver.
If you do have a device and wondering it would support UVC, you can download Go FPV App which will show whether you have a UVC driver or not on a given device upon launch. (You do not need to connect the UVC device to get this.)
If you're using the EasyCAP Viewer app, you do not need the driver. I can confirm it doesn't rely on the kernel driver.
If you're writing an app that requires input from a UVC adapter, this GitHub project looks promising.

Just to muddy the water a little. nothing about using Ezy cap is so simple. I have an OTG cable between my EzyCap unit and a Samsung Galaxy tab 10. When I plug in the OTG cable to the tablet the power led on the EzyCap lights up. On the tablet, it works fine. If however I use the same OTG cable to two different (cheap) mobile phones, when I plug in the OTG cable the power LED on the Ezy cap does not light up. I tried another OTG cable and also tried splitting an OTG cable to supply external power to the Ezycap. Simply doesnt work on either phone.
Ive tried a lot of different apps including those you list. The only way to know if your phone or tablet is compatible is to try it!
Sorry its not good news, but its the facts.


text:
Choose to Forget internal storage, how to recover
I'm using Moto G 2nd Gen with Android version 6.0.
I was using external SD Card as Internal storage and I guess it has encrypted the card.
Recently, my phone started to work abnormally. It randomly fails to recognize the storage. After a device reboot, it would work for sometime and fail again.
In the "Storage & USB" settings menu, I clicked "Forget" on the external SD card.
Then I realize I cannot access the data from my computer using SD card reader.
How can I re-plug the SD card back as Internal Storage without formatting again?

You can't. Only the phone can communicate with an encrypted SD, and it sounds as if you deleted the Keys on your phone needed for said communication.

Thats' not fair from Android :( In the process of protecting from theft, it is restricting even the owner to access data. I've all data moved to that SD card.

Yeah..... in fairness, you were the one that deleted the keys. You cut off your own access, and you can't get that data back, short of finding the encryption method and hash, and creating a perfect copy of the keys, you can only wipe the SD and start fresh with it.

I can't help really, but I sympathize.  One commenter said "It's your fault".  No it's not!  Some stupid moronic programmer decided some idiotic protocol was required and the Moto G 2nd Gen quit reading any Micro SD card regularly, that is, encrypted for Andoid.  I had the exact same problem.  After upgrading to Marshmallow the damn thing quit reading my 64Gb high speed card.  So I dropped down to a 32Gb thinking it was compliant with manufactures specs.  Nope the 32 Gig failed just as much.  It would read the card for about 2 minutes and then stop.  I couldn't make a backup of the card, so you did the right thing.  Just start all over, format and get the BS encryption off your storage device.  If you ever format it again with Google encryption, well, then it's your fault. :)
Now root your Android roll it back to the previous build and you'll be able to shove a 128Gb Micro and it'll read it just fine.  Then you give Google a big FU for wrecking a perfectly functional phone.

I got the instability described above.
With patience, retrying really many times, I was able to backup the files in the card, by copying them to my notebook using a file manager "FK".
The adopted storage option was not well implemented, letting the user down as soon as the SD had errors. It should be more resilient, as good software is made,


text:
The torch button is missing. How do I get it back?
I've always had a torch icon in the quick settings tray, for example (from another phone):

However mine now looks like this:

I think it happened after I tried taking a video with the stock camera app (Nexus 5X).
As a workaround I can turn it on by enabling the flash when about to record a video, but this is really inconvenient. I'd like to be able to switch it on without unlocking the phone.

@beeshyams no, not rooted. I'm using the Nova launcher if that could affect anything.

Enable system UI Tuner . Once enabled, you will find it at bottom of settings options. Click that and from 3 button menu, there if an option for reset - see if that helps bring back torch

There's also an  add tile option. That can also help

@beeshyams Torch is there. Unfortunately reset doesn't bring it back in the actual menu. Neither does deleting and re-adding the torch.

If you just want a shortcut, instead of getting back the lost icon there, Power Toggles app may be a solution for you https://play.google.com/store/apps/details?id=com.painless.pc&hl=en

@Madushan Thanks, but I really like being able to turn the torch on without having to unlock the phone.

Power Toggles does provide a sticky notification (kinda like the old Samsung UI) which you can configure to do that.

@jozxyqk: Have you tried a reboot? Occasionally something will get wedged after you use the camera app, and block anything else from using the camera hardware, which includes the flash/torch.

@Josh Yes, I tried as soon as I noticed, but it didn't change anything. Just rebooted again now and it back! Thanks very much :)


text:
Is there any way that can EXTEND (not mirror) my phone screen to another phone? Half-Half
Just want a bigger display for my phone. I need to know how I can EXTEND my phone's screen to another phone, by using Bluetooth or WiFi or RF or web?
Few apps (iDisplay, AirScreen, AirDuet screen, etc) exist for only mirroring/sharing the screen - but not extending it. It's like using two monitors for your PC side-by-side & you select 'Extend display' between two monitors and hence the display bisects into two monitors. Same principle to phones.

I haven't tried it (yet), but DisplayLink Presenter app might help, if you have the "dongle".

DisplayLink Presenter also just mirrors the Android phone screen, with usb hubs that have DisplayLink built in. Just tried it with both my Android Tablet and Telephone.


text:
Can I use installed apps from unknown source even if I turn off "Install from unknown sources"?
I have Moto G running Android 5.1. I had to turn on "Install from unknown sources" to install some apps from my employer.
Now can I turn "Install from unknown sources" off to be safer and still what I installed before from my employer will keep working without any problem in all cases? Also if I do the same in my new Samsung device running on Android 6.0.1?

Yes
Because enabling the option install from other sources , turns off the security checks carried out by Google Play  during installing only. It has no bearing on running the apps thereafter. So you can safely disable that and run the employer apps without any problem. This is true for all versions of Android ( I haven't come across anything to contrary in Nougat)
Download from sources other than Google Play says :

You can let your device download apps from sources other than Google Play by turning on the "Unknown sources" feature.
IMPORTANT: Your phone and personal data are vulnerable to attack by apps from unknown sources. If you download apps from unknown sources, be aware that your phone may be damaged or lose data.

There is no mention of running apps but you can turn app verification on to:

The "Verify apps" feature regularly checks activity on your device and prevents or warns you about potential harm.