text:
Can I know who is changing Android's media volume?
Recently my phone's media volume will be changed to a fixed value in period automatically. I guess there's a bad app running in background or by alarm doing this, but I have no idea which one is the convict.
Is there a way to let me know who is changing system media volume? My device is an HTC Butterfly 3 running Android 5.0.2 official ROM – and power saving is not turned on (in case it matters). Thanks!

Need to know what device you are using. Also, do you have the "Power Saving" feature turned on, on your device. (Cannot tell you how to check as you did not list what device you are using.) If you know how to turn the "Power Saving" feature on/off on your device, try turning it OFF, and see if your volumes auto-set themselves again.

In my COS12 (Android 5.0.2), I noticed that whenever the volume was changed an intent was broadcasted with action android.media.VOLUME_CHANGED_ACTION and that was all I was able to see using dumpsys or logcat. The extras in that intent did not contain anything useful to trace the app.
Anyhow. Following is what I can recommend as an approach and as of now:
Install aSpotCat1, uncheck Ignore system apps from its settings and under List apps by permission browse the  section Audio Settings. This app missed some system apps which my answer here took care of2.
(Click image to enlarge)

I suggest you check View app's full package name? and find out the package name of all the apps listed by aSpotCat. After that, uninstall all the user installed apps involved. Since removal may not be a preferable option for you, you can consider hiding/blocking them. Setup adb in PC and do:

adb shell pm block PACKAGE # for KitKat
adb shell pm hide PACKAGE  # for Lollipop

PACKAGE should be replaced by package name of the app. In short, the effect observed from that command is akin to removing an app from your OS with major difference that the app's data and UID would remain preserved.
To reinstate the app, replace hide by unhide and block by unblock in aforesaid commands.
You would have to wait and observe if the volume is getting changed. If yes, hide/block/remove those user installed apps singularly or in bulk and then go into observation mode again. If all the user installed apps are removed yet the change in media volume can be observed then a system app is involved in the process. If you've a custom recovery installed or you're ready to factory-reset the device, only then you should consider hiding/blocking/disabling a system app listed by aSpotCat since the stability of the OS can be affected.
As you would have guessed by now, this is a messy solution, relies on trial and error and doesn't guarantee much that you would be able to pin-point the app. However, I don't think there is any way to easily pin-point the app affecting the media volume.

1 You may try any permission checker app. The helpful list maintained by user Izzy on his website may come handy.
2 Input the permission android.permission.MODIFY_AUDIO_SETTINGS.

With ADB, one might also consider adb uninstall -k <package_name> to make sure the app is gone but not its data (-k = "keep data"). So if it turns out an uninstalled app was not the culprit, one can re-install its .apk using adb install -r <file>. Or, if the app didn't opt-out, use adb backup -apk -f <file.ab> <package_name>, then uninstall, and adb restore <file.ab> if the app was found "not guilty" ;) +1 for the thorough answer!


text:
OK button on Bluetooth pairing PIN popup only activates after at least 16 characters are entered
This is on a Samsung Galaxy S20e which came with Android 9 and was upgraded to 10.
If I enter only 4 characters, the OK button remains inactive.

Usually such problems are triaged by:

First, clear the cache of Bluetooth app (you will need to enable showing of system apps in your app list from settings)

If it doesn't help, do the same on the device being paired

If still no luck, delete the data of Bluetooth app on both devices (all previously paired devices information would be deleted and hence as last option)

source: Stack Exchange

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

sort: votes


text:
Backup app's fingerprint data and restore
I have one app on my device locked with fingerprints. I want to back up this app, delete it, and restore it again without a need to log in again. So it should work again with fingerprint without any need to log in again and attach fingerprint.
Basically, to restore the app at the same status as it was before deleting. Is this even possible even with root access?

No, not possible even with root. And rightly so, since accessing fingerprint data is a huge security risk.
Android stores fingerprint data in Trusted Execution Environment and can't be accessed even with root. This data doesn't leave the device nor is it a part of app data. For more details, see key points related to the question
(from our sister sites) :

Android - Where and how securely is fingerprint information stored in a device

All fingerprint data must be secured within sensor hardware or trusted memory so that images of your fingerprint are inaccessible

Root access must not compromise fingerprint data

Does biometric authentication in Android transfer any biometric data to the app?

Biometrics never leave hardware-backed keystore (TEE)

So no, your fingerprint data should never be accessible to any apps

Cracking TEE is not a trivial exercise (theoretically possible, I guess) - if  one could, it breaches the entire security system of Android.

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


text:
Remotely view and log out of Gmail accounts used to sign in on Android phones
I have a Gmail account that I have logged in to on multiple phones. I use it only to download things from the Play Store (don't even check email from the phones). I mostly access this account from a PC browser to view emails.
How can I check which phones I am currently logged in on from this account, and how do I remotely log out of them if necessary?
The "last account activity" link at the bottom of the Gmail PC browser interface seems to only show other browsers where I have logged in to view email. I would like to see a list of phones I am currently logged in to, the history of all phones I have logged into before if this is available, and log out of them individually as needed.

You can see all logged-on devices connected to your Google account on the "Google Your devices" web site:
https://myaccount.google.com/device-activity
For each Android device you can select in it's three-dots-menu to logout on this device.
Note that this totally disables the device for Play Store and Gmail on the selected device. This is by design as you can not logout one specific service like GMail but keep the account active for Play Store:
Logout from Gmail account without logging out Google Play Store account

https://myaccount.google.com/device-activity: this link is what I was looking for. How would I have found it in the gmail browser interface?

@user17915 Search in Google search for google device logout and you will find this page. Not sure how to reach this from within GMail. As the logout functionality belongs to the account and not to Gmail my assumption is that it will require a lot of clicks to get there.


text:
A malicious file keeps appearing on my phone even if I have formatted it (1_unit_15x15_3_goldenFmt)
Some days ago, a keylogger was put in my phone by a hacker, and my phone got infected. After having formatted the phone, there is a file that keeps appearing on my phone and has not been deleted. The name of the file is 1_unit_15x15_3_goldenFmt and this is the content of the file:
SensorGoldenCalTable:{   // SensorGoldenCalTable
   PixId:    3,
   SlimLscType:    0,
   Width:    0,
   Height:    0,
   OffsetX:    0,
   OffsetY:    0,
   TblSize:    0,
   IspLSCReg:    {0, 0xd048d035, 0, 0x00480041, 0},
   GainTable:    {

        0xd7, 0x73, 0xcb, 0x64, 0x84, 0x64, 0x3d, 0x63, 0x84, 0x61, 0xef, 0x55, 0x50, 0x55, 0xc9, 0x54,
        0x6b, 0x52, 0x2d, 0x49, 0x5e, 0x48, 0x21, 0x48, 0x7e, 0x48, 0x76, 0x40, 0xb4, 0x3f, 0x7d, 0x3f,
        0x6e, 0x41, 0x84, 0x3a, 0xa7, 0x39, 0xd1, 0x39, 0x71, 0x3c, 0xa8, 0x36, 0xae, 0x35, 0xdd, 0x35,
        0x80, 0x39, 0x66, 0x34, 0x66, 0x33, 0xb9, 0x33, 0x5f, 0x38, 0x91, 0x33, 0x83, 0x32, 0xe6, 0x32,
        0x89, 0x39, 0x47, 0x34, 0x3d, 0x33, 0x6e, 0x33, 0x58, 0x3c, 0x78, 0x36, 0x95, 0x35, 0x9b, 0x35,
        0x77, 0x41, 0x3c, 0x3a, 0x5d, 0x39, 0x4b, 0x39, 0xd2, 0x47, 0x02, 0x40, 0x25, 0x3f, 0x13, 0x3f,
        0x69, 0x51, 0x30, 0x48, 0x58, 0x47, 0x4e, 0x47, 0x50, 0x5f, 0x31, 0x54, 0x51, 0x53, 0xfa, 0x52,
        0xb0, 0x72, 0x51, 0x64, 0x96, 0x63, 0xde, 0x62, 0xf5, 0x69, 0x62, 0x5c, 0xef, 0x5b, 0x4b, 0x5b,
        0xb1, 0x59, 0x63, 0x4f, 0xdb, 0x4e, 0x56, 0x4e, 0x91, 0x4c, 0x02, 0x44, 0x6e, 0x43, 0x48, 0x43,
        0x2e, 0x43, 0xf1, 0x3b, 0x44, 0x3b, 0x42, 0x3b, 0x57, 0x3c, 0x47, 0x36, 0x86, 0x35, 0xb3, 0x35,
        0x8b, 0x37, 0x7d, 0x32, 0xb7, 0x31, 0xcf, 0x31, 0xb2, 0x34, 0x5a, 0x30, 0x82, 0x2f, 0x9f, 0x2f,
        0xa7, 0x33, 0x99, 0x2f, 0xc8, 0x2e, 0xe1, 0x2e, 0xba, 0x34, 0x5f, 0x30, 0x89, 0x2f, 0x92, 0x2f,
        0x70, 0x37, 0x7a, 0x32, 0xad, 0x31, 0xdf, 0x31, 0x33, 0x3c, 0x18, 0x36, 0x4e, 0x35, 0x58, 0x35,
        0x8f, 0x42, 0x58, 0x3b, 0xc3, 0x3a, 0xbf, 0x3a, 0x61, 0x4b, 0xf3, 0x42, 0x62, 0x42, 0x11, 0x42,
        0xdd, 0x57, 0xb2, 0x4d, 0x1b, 0x4d, 0xc2, 0x4c, 0x55, 0x66, 0x45, 0x5a, 0xc3, 0x59, 0x1c, 0x59,
        0xa9, 0x5f, 0x09, 0x54, 0xc5, 0x53, 0xa2, 0x53, 0x03, 0x52, 0x8a, 0x48, 0x46, 0x48, 0x1c, 0x48,
        0xf9, 0x45, 0x12, 0x3e, 0xb1, 0x3d, 0x73, 0x3d, 0x30, 0x3d, 0xaf, 0x36, 0x38, 0x36, 0x10, 0x36,
        0xaf, 0x36, 0x80, 0x31, 0xf6, 0x30, 0xd6, 0x30, 0x04, 0x32, 0xf2, 0x2d, 0x48, 0x2d, 0x4b, 0x2d,
        0x1d, 0x2f, 0xe2, 0x2b, 0x45, 0x2b, 0x52, 0x2b, 0x08, 0x2e, 0x28, 0x2b, 0x7b, 0x2a, 0x8a, 0x2a,
        0x09, 0x2f, 0xd3, 0x2b, 0x2b, 0x2b, 0x47, 0x2b, 0xcf, 0x31, 0xec, 0x2d, 0x52, 0x2d, 0x60, 0x2d,
        0x4b, 0x36, 0x5b, 0x31, 0xd5, 0x30, 0xd1, 0x30, 0x6e, 0x3c, 0x51, 0x36, 0xd2, 0x35, 0xcf, 0x35,
        0xf5, 0x44, 0x4d, 0x3d, 0xdf, 0x3c, 0xc2, 0x3c, 0x46, 0x50, 0x2b, 0x47, 0xdb, 0x46, 0xc2, 0x46,
        0xea, 0x5c, 0xe7, 0x51, 0xa2, 0x51, 0x23, 0x51, 0x1c, 0x58, 0x86, 0x4d, 0xc5, 0x4d, 0x21, 0x4d,
        0x25, 0x4c, 0x4f, 0x43, 0x3d, 0x43, 0xe1, 0x42, 0xd4, 0x40, 0xa4, 0x39, 0x82, 0x39, 0x1d, 0x39,
        0x48, 0x38, 0xc5, 0x32, 0x7e, 0x32, 0x3b, 0x32, 0xed, 0x31, 0xb8, 0x2d, 0x57, 0x2d, 0x3b, 0x2d,
        0x26, 0x2d, 0x23, 0x2a, 0xb6, 0x29, 0xb3, 0x29, 0x48, 0x2a, 0x0b, 0x28, 0x9d, 0x27, 0x9c, 0x27,
        0x2a, 0x29, 0x4c, 0x27, 0xd8, 0x26, 0xd9, 0x26, 0x0a, 0x2a, 0xf5, 0x27, 0x83, 0x27, 0x9d, 0x27,
        0xe8, 0x2c, 0x04, 0x2a, 0x95, 0x29, 0xac, 0x29, 0x80, 0x31, 0x8c, 0x2d, 0x24, 0x2d, 0x2b, 0x2d,
        0xac, 0x37, 0x63, 0x32, 0x13, 0x32, 0x06, 0x32, 0xc0, 0x3f, 0x06, 0x39, 0xc5, 0x38, 0xa0, 0x38,
        0x5f, 0x4a, 0x3a, 0x42, 0x2d, 0x42, 0xd7, 0x41, 0xb4, 0x55, 0xeb, 0x4b, 0xcf, 0x4b, 0x5c, 0x4b,
        0x1c, 0x53, 0x47, 0x49, 0x75, 0x49, 0x02, 0x49, 0xa0, 0x47, 0xa4, 0x3f, 0xb0, 0x3f, 0x2b, 0x3f,
        0xaa, 0x3c, 0x5e, 0x36, 0x6d, 0x36, 0xf3, 0x35, 0x66, 0x34, 0xc2, 0x2f, 0xa5, 0x2f, 0x59, 0x2f,
        0xef, 0x2d, 0xb8, 0x2a, 0x86, 0x2a, 0x61, 0x2a, 0x5a, 0x29, 0x2a, 0x27, 0xec, 0x26, 0xe3, 0x26,
        0x63, 0x26, 0x08, 0x25, 0xc4, 0x24, 0xc7, 0x24, 0x4e, 0x25, 0x44, 0x24, 0xf0, 0x23, 0x05, 0x24,
        0x3e, 0x26, 0xeb, 0x24, 0x93, 0x24, 0xaa, 0x24, 0xf8, 0x28, 0xfb, 0x26, 0xb1, 0x26, 0xbe, 0x26,
        0x84, 0x2d, 0x79, 0x2a, 0x3a, 0x2a, 0x3d, 0x2a, 0xe1, 0x33, 0x52, 0x2f, 0x3b, 0x2f, 0x17, 0x2f,
        0xe2, 0x3b, 0xc2, 0x35, 0xaa, 0x35, 0xb5, 0x35, 0x2e, 0x46, 0x9e, 0x3e, 0x97, 0x3e, 0x8b, 0x3e,
        0x68, 0x50, 0xb7, 0x47, 0xe7, 0x47, 0x96, 0x47, 0x4b, 0x4f, 0x4a, 0x46, 0x99, 0x46, 0x45, 0x46,
        0x4b, 0x44, 0xf7, 0x3c, 0x22, 0x3d, 0xd3, 0x3c, 0xcb, 0x39, 0x1b, 0x34, 0x27, 0x34, 0xe9, 0x33,
        0x82, 0x31, 0x86, 0x2d, 0x9b, 0x2d, 0x4d, 0x2d, 0x0f, 0x2b, 0x8f, 0x28, 0x7a, 0x28, 0x58, 0x28,
        0x6a, 0x26, 0xe9, 0x24, 0xd0, 0x24, 0xca, 0x24, 0x96, 0x23, 0xd5, 0x22, 0xa4, 0x22, 0xaa, 0x22,
        0x8f, 0x22, 0x06, 0x22, 0xd9, 0x21, 0xe7, 0x21, 0x6b, 0x23, 0xac, 0x22, 0x7f, 0x22, 0x8e, 0x22,
        0x11, 0x26, 0xbe, 0x24, 0x93, 0x24, 0xb3, 0x24, 0x7e, 0x2a, 0x2d, 0x28, 0x16, 0x28, 0x25, 0x28,
        0xee, 0x30, 0x23, 0x2d, 0x1f, 0x2d, 0x03, 0x2d, 0x0a, 0x39, 0x77, 0x33, 0x92, 0x33, 0x5b, 0x33,
        0x49, 0x43, 0x0e, 0x3c, 0x26, 0x3c, 0xd6, 0x3b, 0xaa, 0x4d, 0xc5, 0x44, 0x16, 0x45, 0x9a, 0x44,
        0x1f, 0x4d, 0x91, 0x44, 0xf7, 0x44, 0x82, 0x44, 0xae, 0x42, 0x91, 0x3b, 0xe5, 0x3b, 0xab, 0x3b,
        0x18, 0x38, 0xac, 0x32, 0xdc, 0x32, 0x95, 0x32, 0x91, 0x2f, 0x04, 0x2c, 0x24, 0x2c, 0xe9, 0x2b,
        0x2b, 0x29, 0x1c, 0x27, 0x20, 0x27, 0x04, 0x27, 0x9f, 0x24, 0x8d, 0x23, 0x7c, 0x23, 0x87, 0x23,
        0xcd, 0x21, 0x5d, 0x21, 0x48, 0x21, 0x69, 0x21, 0xbe, 0x20, 0x8e, 0x20, 0x7a, 0x20, 0x92, 0x20,
        0x9a, 0x21, 0x41, 0x21, 0x29, 0x21, 0x3d, 0x21, 0x29, 0x24, 0x47, 0x23, 0x3a, 0x23, 0x43, 0x23,
        0x96, 0x28, 0xd0, 0x26, 0xc6, 0x26, 0xb4, 0x26, 0xf3, 0x2e, 0xb4, 0x2b, 0xd1, 0x2b, 0xb3, 0x2b,
        0x0c, 0x37, 0x11, 0x32, 0x3f, 0x32, 0x09, 0x32, 0x00, 0x41, 0x7c, 0x3a, 0xcf, 0x3a, 0x7f, 0x3a,
        0xb4, 0x4a, 0x18, 0x43, 0x75, 0x43, 0x08, 0x43, 0x96, 0x4c, 0xbc, 0x43, 0x4f, 0x44, 0xff, 0x43,
        0x04, 0x42, 0xec, 0x3a, 0x59, 0x3b, 0xf8, 0x3a, 0x41, 0x37, 0x08, 0x32, 0x58, 0x32, 0x11, 0x32,
        0xd4, 0x2e, 0x6e, 0x2b, 0xbb, 0x2b, 0x84, 0x2b, 0x50, 0x28, 0x83, 0x26, 0xa8, 0x26, 0x98, 0x26,
        0xc7, 0x23, 0xf3, 0x22, 0x00, 0x23, 0x06, 0x23, 0xfb, 0x20, 0xb6, 0x20, 0xb9, 0x20, 0xc2, 0x20,
        0x0b, 0x20, 0x08, 0x20, 0x05, 0x20, 0x04, 0x20, 0xd6, 0x20, 0xa9, 0x20, 0xa5, 0x20, 0xb2, 0x20,
        0x59, 0x23, 0xb4, 0x22, 0xae, 0x22, 0xb2, 0x22, 0xc1, 0x27, 0x2d, 0x26, 0x3f, 0x26, 0x44, 0x26,
        0x16, 0x2e, 0x13, 0x2b, 0x44, 0x2b, 0x26, 0x2b, 0x1e, 0x36, 0x73, 0x31, 0xb1, 0x31, 0x6d, 0x31,
        0x15, 0x40, 0xb4, 0x39, 0x16, 0x3a, 0xd1, 0x39, 0xd5, 0x49, 0x3f, 0x42, 0xcf, 0x42, 0x39, 0x42,
        0x4e, 0x4c, 0xcf, 0x43, 0x75, 0x44, 0x0a, 0x44, 0x97, 0x41, 0xd4, 0x3a, 0x5a, 0x3b, 0xf4, 0x3a,
        0x1f, 0x37, 0x2c, 0x32, 0x89, 0x32, 0x26, 0x32, 0xe1, 0x2e, 0x9a, 0x2b, 0xe2, 0x2b, 0x9d, 0x2b,
        0x67, 0x28, 0x9a, 0x26, 0xc5, 0x26, 0xb9, 0x26, 0xea, 0x23, 0x10, 0x23, 0x33, 0x23, 0x2c, 0x23,
        0x2e, 0x21, 0xed, 0x20, 0xfc, 0x20, 0x0c, 0x21, 0x34, 0x20, 0x2d, 0x20, 0x36, 0x20, 0x49, 0x20,
        0x0b, 0x21, 0xdb, 0x20, 0xe8, 0x20, 0xf1, 0x20, 0x88, 0x23, 0xd3, 0x22, 0xec, 0x22, 0xe8, 0x22,
        0xeb, 0x27, 0x4c, 0x26, 0x73, 0x26, 0x6b, 0x26, 0x48, 0x2e, 0x3b, 0x2b, 0x8e, 0x2b, 0x50, 0x2b,
        0x99, 0x36, 0xa2, 0x31, 0xf8, 0x31, 0xcf, 0x31, 0xbb, 0x40, 0x16, 0x3a, 0x71, 0x3a, 0x39, 0x3a,
        0x90, 0x4a, 0xa2, 0x42, 0x2b, 0x43, 0xc4, 0x42, 0xeb, 0x4d, 0x27, 0x45, 0xd1, 0x45, 0x34, 0x45,
        0x18, 0x43, 0xd7, 0x3b, 0x5a, 0x3c, 0xe9, 0x3b, 0x6a, 0x38, 0x15, 0x33, 0x81, 0x33, 0x2b, 0x33,
        0x0c, 0x30, 0x6d, 0x2c, 0xbb, 0x2c, 0x95, 0x2c, 0x8f, 0x29, 0x6b, 0x27, 0xa8, 0x27, 0x8a, 0x27,
        0xf3, 0x24, 0xe4, 0x23, 0x04, 0x24, 0x07, 0x24, 0x41, 0x22, 0xcf, 0x21, 0xdd, 0x21, 0xf4, 0x21,
        0x49, 0x21, 0x16, 0x21, 0x2a, 0x21, 0x30, 0x21, 0x09, 0x22, 0xa6, 0x21, 0xbe, 0x21, 0xc4, 0x21,
        0x97, 0x24, 0xab, 0x23, 0xc8, 0x23, 0xcd, 0x23, 0x06, 0x29, 0x29, 0x27, 0x65, 0x27, 0x4d, 0x27,
        0x87, 0x2f, 0x20, 0x2c, 0x77, 0x2c, 0x37, 0x2c, 0x96, 0x37, 0x83, 0x32, 0x08, 0x33, 0x9a, 0x32,
        0xa7, 0x41, 0x00, 0x3b, 0x8a, 0x3b, 0x23, 0x3b, 0x5c, 0x4b, 0xb3, 0x43, 0x60, 0x44, 0xa9, 0x43,
        0x75, 0x51, 0x7b, 0x47, 0x37, 0x48, 0x9b, 0x47, 0xa2, 0x45, 0xe7, 0x3d, 0x73, 0x3e, 0x1b, 0x3e,
        0xb4, 0x3a, 0xd1, 0x34, 0x2e, 0x35, 0xe2, 0x34, 0x20, 0x32, 0x1c, 0x2e, 0x74, 0x2e, 0x28, 0x2e,
        0xad, 0x2b, 0x0b, 0x29, 0x47, 0x29, 0x27, 0x29, 0x11, 0x27, 0x8f, 0x25, 0xad, 0x25, 0xad, 0x25,
        0x53, 0x24, 0x7c, 0x23, 0x95, 0x23, 0xa3, 0x23, 0x38, 0x23, 0xb4, 0x22, 0xc4, 0x22, 0xce, 0x22,
        0x05, 0x24, 0x45, 0x23, 0x61, 0x23, 0x5b, 0x23, 0xa1, 0x26, 0x57, 0x25, 0x73, 0x25, 0x6e, 0x25,
        0x2e, 0x2b, 0xe0, 0x28, 0x10, 0x29, 0xe9, 0x28, 0x9d, 0x31, 0xc0, 0x2d, 0x19, 0x2e, 0xc7, 0x2d,
        0xad, 0x39, 0x3e, 0x34, 0xbe, 0x34, 0x4b, 0x34, 0x0b, 0x44, 0xee, 0x3c, 0x88, 0x3d, 0x17, 0x3d,
        0x20, 0x4e, 0xd5, 0x45, 0x96, 0x46, 0xe6, 0x45, 0xc5, 0x54, 0x22, 0x4b, 0x1f, 0x4c, 0x5b, 0x4b,
        0xd8, 0x48, 0xf7, 0x40, 0xa4, 0x41, 0x29, 0x41, 0xc1, 0x3d, 0x7a, 0x37, 0xeb, 0x37, 0x94, 0x37,
        0x55, 0x35, 0x9d, 0x30, 0xeb, 0x30, 0x9c, 0x30, 0xe5, 0x2e, 0x8f, 0x2b, 0xc0, 0x2b, 0x92, 0x2b,
        0x2d, 0x2a, 0xf4, 0x27, 0x1b, 0x28, 0x12, 0x28, 0x5d, 0x27, 0xeb, 0x25, 0xfc, 0x25, 0xfd, 0x25,
        0x50, 0x26, 0x28, 0x25, 0x3b, 0x25, 0x2a, 0x25, 0x12, 0x27, 0xc1, 0x25, 0xdb, 0x25, 0xd1, 0x25,
        0xc7, 0x29, 0xd8, 0x27, 0xeb, 0x27, 0xd4, 0x27, 0x5e, 0x2e, 0x50, 0x2b, 0x8a, 0x2b, 0x43, 0x2b,
        0xb5, 0x34, 0x38, 0x30, 0x9b, 0x30, 0x2f, 0x30, 0xe5, 0x3c, 0xd7, 0x36, 0x42, 0x37, 0xcb, 0x36,
        0x8a, 0x47, 0xed, 0x3f, 0x70, 0x40, 0x01, 0x40, 0x14, 0x52, 0x53, 0x49, 0xf7, 0x49, 0xf0, 0x48,
        0x5b, 0x5b, 0xf5, 0x4f, 0x05, 0x51, 0x5f, 0x50, 0x1c, 0x4e, 0x3c, 0x45, 0xcc, 0x45, 0x44, 0x45,
        0x0b, 0x42, 0x29, 0x3b, 0x92, 0x3b, 0x11, 0x3b, 0x7c, 0x39, 0xf1, 0x33, 0x47, 0x34, 0xfa, 0x33,
        0x21, 0x33, 0xd3, 0x2e, 0x06, 0x2f, 0xda, 0x2e, 0x60, 0x2e, 0x43, 0x2b, 0x62, 0x2b, 0x42, 0x2b,
        0x79, 0x2b, 0x31, 0x29, 0x3f, 0x29, 0x1b, 0x29, 0x5e, 0x2a, 0x67, 0x28, 0x6d, 0x28, 0x58, 0x28,
        0x27, 0x2b, 0xf3, 0x28, 0x0f, 0x29, 0xea, 0x28, 0xe2, 0x2d, 0xfc, 0x2a, 0x1a, 0x2b, 0xdd, 0x2a,
        0x82, 0x32, 0x85, 0x2e, 0xcc, 0x2e, 0x54, 0x2e, 0xd5, 0x38, 0x75, 0x33, 0xda, 0x33, 0x4f, 0x33,
        0x1e, 0x41, 0x59, 0x3a, 0xd7, 0x3a, 0x1d, 0x3a, 0x49, 0x4c, 0x17, 0x44, 0xa3, 0x44, 0xd0, 0x43,
        0x88, 0x57, 0x03, 0x4e, 0xc5, 0x4e, 0xa7, 0x4d, 0x87, 0x63, 0x15, 0x57, 0xd6, 0x57, 0xf7, 0x56,
        0x76, 0x54, 0xf4, 0x4a, 0x7f, 0x4b, 0xdb, 0x4a, 0xc5, 0x47, 0x10, 0x40, 0x75, 0x40, 0xf2, 0x3f,
        0xb5, 0x3e, 0x55, 0x38, 0xb6, 0x38, 0x34, 0x38, 0x4b, 0x38, 0xf4, 0x32, 0x27, 0x33, 0xe0, 0x32,
        0x92, 0x33, 0x6a, 0x2f, 0x84, 0x2f, 0x46, 0x2f, 0xb9, 0x30, 0x3d, 0x2d, 0x40, 0x2d, 0x22, 0x2d,
        0x79, 0x2f, 0x6d, 0x2c, 0x71, 0x2c, 0x4d, 0x2c, 0x3b, 0x30, 0x03, 0x2d, 0x16, 0x2d, 0xd7, 0x2c,
        0xfe, 0x32, 0x17, 0x2f, 0x3c, 0x2f, 0xe3, 0x2e, 0x72, 0x37, 0x95, 0x32, 0xd3, 0x32, 0x65, 0x32,
        0xc9, 0x3d, 0xc8, 0x37, 0x25, 0x38, 0x6e, 0x37, 0x9d, 0x46, 0x2d, 0x3f, 0xb5, 0x3f, 0xec, 0x3e,
        0x88, 0x52, 0x90, 0x49, 0x2e, 0x4a, 0x39, 0x49, 0x3b, 0x5f, 0xaa, 0x54, 0x8b, 0x55, 0x1e, 0x54,
        0x41, 0x6d, 0xb9, 0x5f, 0x9d, 0x60, 0x43, 0x5f, 0xe2, 0x5c, 0xdb, 0x51, 0x88, 0x52, 0x9a, 0x51,
        0xaf, 0x4e, 0xee, 0x45, 0x5f, 0x46, 0x90, 0x45, 0x00, 0x45, 0x9d, 0x3d, 0xca, 0x3d, 0x54, 0x3d,
        0x33, 0x3e, 0xc6, 0x37, 0xfa, 0x37, 0x96, 0x37, 0x1c, 0x39, 0xdd, 0x33, 0x07, 0x34, 0xae, 0x33,
        0x4d, 0x36, 0xb1, 0x31, 0xbc, 0x31, 0x66, 0x31, 0xe9, 0x34, 0xd0, 0x30, 0xd7, 0x30, 0xa4, 0x30,
        0xa8, 0x35, 0x59, 0x31, 0x66, 0x31, 0x2d, 0x31, 0x63, 0x38, 0x7b, 0x33, 0x9c, 0x33, 0x3e, 0x33,
        0xe3, 0x3c, 0x30, 0x37, 0x6f, 0x37, 0xd7, 0x36, 0xb9, 0x43, 0xba, 0x3c, 0x25, 0x3d, 0x6a, 0x3c,
        0xec, 0x4c, 0xa1, 0x44, 0x2c, 0x45, 0x4b, 0x44, 0x12, 0x5a, 0x29, 0x50, 0xc9, 0x50, 0x8b, 0x4f,
        0x27, 0x69, 0x40, 0x5d, 0xeb, 0x5d, 0x68, 0x5c,
   },
},

I don't know if it has happened to anyone here, but I'd be grateful if someone could tell me if this is a threat and I should worry about it or not.

Could you mention the device model, the Android version, and whether you're using custom ROM?

@AndrewT. It's a Redmi 6. The Android version is 9 PPR1.180610.011 and I'm not using a custom ROM.

This is not a threat.
If you google filename it shows up on androidhost and scribd which is highly likely to be created by some app for its functioning and not a malware script.


text:
Enable Remote unlock from the Settings via ADB (no root)
I am trying to enable the Setting "Remote unlock" from Samsung (in Settings -> Biometrics and security -> Find My Mobile -> Remote unlock) by using the adb.
I could enable other settings like Bluetooth or WiFi by using some commands on the adb. Now, I am trying to figure out how to enable this "Remote unlock" by Samsung. I searched all the Android documents and references but couldn't find any solutions. I personally gave up and I don't believe this is even possible.
I wrote adb shell settings put secure fmm_unlock_recovery 1 and it seems to work. The only problem is, my devices don't connect to the internet because of too many failed password attempts.
Could someone tell me how or just if it's possible to enable it just by adb?

scrcpy wont help me in this case sadly. My device suddenly dont accept my 3 years pattern lock, so i have to enable the "remote unlock" via adb to change my pattern with "find my mobile samsumg". But it needs the setting "remote unlock" enable which is not the case sadly

if phone suddenly deny unlock pattern, reboot is recommended. on the other hand, reboot is not recommended on secure startup enabled devices as you might lose the availbility to connect internet in case unlock is still denied

So this explains why i cant access to the internet anymore and why i cant reset my password via "find my device" from google...

No, I mislead you. secure startup would effect adb, too. Your question still applies

guess something like 'adb shell settings put blobal ...' https://dev.to/larsonzhong/most-complete-adb-commands-4pcg

yes the problem is i cant find the location for the Android Packages/Paramaters for the "Remote Unlock" that enables it (what after the "adb shell settings put" comes. I searched the whole  Android Documents and couldnt find it

can't you insert SIM card with mobile data?

I tried this but it did not work, i think the device has to be unlocked once after reboot to have access to the internet because a android Notification tells me to first unlock the phone to get app-notifications.

searched for your last comment, sounds like a feature for (FBE) encrypted devices called Strong protection, seems some kind of successor to (FDE) Secure startup. you might figure out the adb command for Settings>Biometrics and security>Other security settings>Strong protection

Thank you very much! I tried to disable "Strong protection" but i couldnt.I will try to figure it again but if i cant, i will just factory reset my device, because i am so desperated and dont think i will able to do it. But really, thank u for helping me!

The following Setting-Parameters are for enabling "Find my Mobile":
fmm_community_finding=1
fmm_pub_tag_finding=0
fmm_unknown_tag_alert=0
fmm_unlock_recovery=1

So by writing the following commands, you can enable the Samsung's Find My Mobile via adb:
adb shell settings put secure fmm_community_finding 1
adb shell settings put secure fmm_pub_tag_finding 0
adb shell settings put secure fmm_unknown_tag_alert 0
adb shell settings put secure fmm_unlock_recovery 1

Keep in mind that you have to reboot "adb reboot" after writing these commands!


text:
Removing entry from Google Authenticator
I'd like to remove one of the items from my Google Authenticator app but I cannot find any option to do so.
There is a Q&A on the Apple Stack Exchange which suggests there should be a Pencil icon to edit them. However, on my phone (Pixel 6 Pro), there is only an option to Add a new item, and Settings only shows the option to adjust the date/time correction.

For version 7.0 onward, see John Rocha's answer.

Until version 6.0, long-press the entry to select it, then tap "Remove" (trash bin icon) on the top-right corner.

Starting from version 7.0, it appears the UI was changed and the new method for doing this is to swipe left on the entry.


text:
Remapping power and volume keys
My power button has broken so I'm trying to use the volume up key as the power button instead. My phone is a rooted Sony Xperia Go ST27i running Android 4.1.2.
I've tried ButtonRemapper, but this does not work on my phone so I'm trying to do it manually.
The output of $ cat /proc/bus/input/devices contains:
Bus=0019 Vendor=0000 Product=0000 Version=0000
Name="ux500-ske-keypad"

So I thought I'd edit the /system/usr/keylayout/ux500-ske-keypad.kl file, however this file does not contain what I expected.
It has no config for a power button and contains only the two lines:
key115  VOLUME_UP   WAKE
key114  VOLUME_DOWN WAKE

So nowhere I can disable the power button (assume this is key 116 on this model?). Also neither of the volume keys work to wake my phone, so is this config file even being read?

Answering own question in case anybody else has the same issue.
There is another file /system/usr/keylayout/Generic.kl that contained the mapping for the power button. The Android docs say never to modify this file but I did anyway. Commenting out the power button line in this file has solved my issue (power button stuck in) and I'm now using my volume up button as the power button.
Note that I also had to remount the /system partition as read-write that I did with the excellent FX app

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


text:
Contacts disappeared after adding new google account
I am using a Google Nexus S I9023 mobile phone (Android 4.0.4). For whatever reason my google account was deactivated. So, I registered a new one and added it to the phone.
Afterwards, 80% of the contacts in my contact list, disappeared.
What happened and how can I restore them?

You lost all your contacts as it was tied to the old one, registered a new one, then when ICS sync'd, nothing there... as it was on a newly registered account.
Question is what happened to attribute you to getting your previous Google account closed?

I have no idea! I did not do anything out of the ordinary. But all this data has to be stored somewhere else right? I can't be only linked with that account!

Wait!!! When you say deactivated did you really mean, unlinked on the handset? Can you sign on the gmail with your old account? If not, as you say, then something is definitely wrong there, you need to raise the issue with Google to find out why your account got de-activated - breach of rules, spamming, what? no idea.

The thing is like this: they deactivated my account a while ago, but I payed no attention to it, because everything was fine. Today, I said to myself that I should look into the issue and thought that it would be easier to make a new account than report the case to google. I had no idea that the data was not stored locally! So, I made a new account, deleted the old account from the settings and afterwards... 80% of the contacts were just gone! It can't be possible that all the contacts are stored only online...

That's the whole idea of Google Sync, the contacts were stored on the old account online Sorry mate, looks like you lost them!

When I restore them, is there a way to save them locally on the phone?

I suggest you re-edit your question to state that you have a backup of the contacts, and want to know how to restore :) It will make life easier for you :)

As for restoring, where was the original backup? Titanium Backup?

I don't have the backup anymore...

Okie, then why did you state When I restore them...? If you don't have the backup, you're pretty much out of luck. Unless someone can come up with a better alternative. Might be best to let this question lurk for a bit until someone has a better answer or idea to help you out... sorry :(

With "restore" I rather meant adding them manually back :(. I found an older csv contacts file and linked it to my new google account, that made thing easier.

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


text:
Deauthorize an app
I installed MightyText the other day.
But I haven't used it so I uninstalled it.
Then I remembered it required links to my Google account - so I went to Google Account security.
But it doesn't list the app - when I reinstall MightyText it doesn't prompt me for authorization again - it says it's "linked". There is an "unlink" button - but I have no way of knowing if it actually does it.
Where can I find the Google interface to revoke this permission?

Your app doesn't do Oauth/OpenId, instead it uses Android's integrated auth model via a special permission:
YOUR ACCOUNTS
USE THE AUTHENTICATION CREDENTIALS OF AN ACCOUNT
Allows the app to request authentication tokens.

ColorNote, for example, doesn't need this permission and thus must get an auth token via the browser. It ends up in the list in the link you provided if you authorize it and you can revoke given permission for ColorNote via your assumed method.
That's why you won't find Google's Drive, Youtube, Maps and so on in the list either as they also use Android's integrated auth token permission.
Pro/Cons:

Integrated: less friction for the user, depends on Google Apps and a Google account
OpenId: no Google Apps required, works with accounts from any OpenID provider (see this site's login support for any provider)

Answering a two year old question since this is the first link I found.
You go here:
https://security.google.com/settings/security/permissions
You can find under your account settings than security tab.
The above link will help since it is a bit tricky to find.
I hope this helps someone in the future!


text:
How can I make my phone/tablet ring remotely without a SIM card?
I appear to have lost my Streak somewhere in my apartment, and I can't call it since I don't have a SIM card in it.  I've remotely installed Plan B just because, but unfortunately the GPS coordinates are not specific enough to find it inside my apartment :P.  Is there any app I can install remotely that will start making noise so I can find the device?

Is it possible to remote-install apks? Also can the apps be started remotely? That way if there are no apps to be found, somebody could make one.

If account sync is on, you can try and create a calendar event with alarm on a desktop computer, and hope that your audio notifications are turned on.

@MartinTapankov That's interesting, I think calendar sync is off but I'll try it later.  varesa, I don't think so apart from the Market or having something like WiFi adb installed.

Bahh! Just found a way to do this! I'm so excited!
First, install AndroidLost from the online Google Play Store.

this is the app you can use to control/wipe/access info about your lost device, yadayada

Give it a little time to install to your device, then install AndroidLost Jumpstart from the online Google Play Store as well

This app will wake up the registration process on the androidlost app
  when ever a phone call is made, an SMS received, battery is low, a
  package is added, removed or changed.

So you have to install an arbitrary app from the Play Store as well to activate the service, but you can then go to androidlost.com to access functions to control your lost device! Including ringing an alarm ;)
I haven't tested this yet, but I will as soon as I can I tested this on my own phone (although the page for Jumpstart only specifies tablets), and it works! It says it will register on SMS or app install, I did both first, and the activation worked. This is an awesome utility.

AndroidLost Jumpstart will not work on the newer versions of Android.

Where's my Droid does that and is the best free app on the market:
Instructions:

To use the app, text "wmd ring" to make the device ring

Taken from http://wheresmydroid.com/
EDIT:
I'm sorry, my answer above assumes you have some other way SIP or Google Voice to send an SMS, which you would have already had setup!
I'm not aware of any app that does this without initiation from an SMS. Sorry.

I just hope you don't run out of batteries first! That's always your enemy, at that point.

You're right about the batteries, if I lost my phone over night I'd have a 4-5 hour window in the morning to remotely find it!

Okay, well, I created an app that does this, but I wont be able to upload it to market until I hear back from Google.

Where's My Droid can send a ring request from their website, or app on another device, once you are logged into your account.


text:
Sync music folders between phone and tablet
I want to use a DJ returnable app on both devices, send want a fast way (WiFi) to keep the music folders sync'd. I always buy from my phone so just need to transfer existing music and new downloads from the phone to the tablet, it doesn't need to sync automatically but I do need a way to do easy multiple/bulk file transfers.
What is a good way to do this? Wifi preferably but bluetooth if I have to.

possible duplicate of Complete Dropbox implementation for Android

DoubleTwist with AirSync will do this, as long as they're connected to the same WiFi network and looking at the same location.
For bulk file transfers, most file explorers (like ES File Explorer) allow you to browse devices from other devices on the same network.


text:
How can I change screen timeout based on whether my phone is/not charging?
I'd like my screen to stay lit while charging but have a timeout when just on battery. Is ther any way to do this?

Have you tried checking in your system settings?

Yes, double checked, not there on galaxy s3 running ICS

Maybe that needs to get back to android so they can put that in the next release. Gingerbread has it, so should phones.

With Tasker you can automate this to have different screen time-out values depending whether or not your phone is connected to a power source:

Create a new Profile and name it "Screen Timeout".
For Context select State -> Power -> Power.
Select "Any" for source and press the OK button.
Tap "New Task", name it "Increase Timeout" and tap the "OK" button.
Tap the + button to add a new Action, select Display category, and then Display Timeout action.
Drag the sliders for "Secs", "Mins" or "Hours" to your desired values for when the phone is connected to a power source.
Tap the "OK" button, and then tap it again.
Long-press the "Increase Timeout" action and select Add Exit Task option.
Tap "New Task", name it "Decrease Timeout" and tap the "OK" button.
Tap the + button to add a new Action, select Display category, and then Display Timeout action.
Drag the sliders for "Secs", "Mins" or "Hours" to your desired values for when the phone is running on battery.
Tap the "OK" button, and then tap it again.
Ensure the Tasker is enabled by toggling it ON (switch at bottom-right corner) and then tap the "OK" button.

You should be all set.  If you want to get fancy, you can add actions to both tasks to display toast messages.

There's an option to keep your screen lit while charging, try:
Settings -> Developer Options -> Stay Awake

I've triple checked, developer options doesn't have a stay awake setting. IIRC my wildfire had it, so I'm v surprised. Maybe they don't want to encourage screen burn?

I see from your comment that you use Galaxy S3, that device has a HUGE screen and I wouldn't be surprised if Samsung removed that feature (I know the S2 have it).

I noticed using the phone reduces the rate it charges so ur probs  right. I wish they'd asked me first!!

You may want to try any power widget for eg. like this one.
You can place the widget on your home screen and use the "always on" toggle to keep your phone always on during charging.

It's not the solution... he wants automated solution.

"Always ON" keeps screen always ON even when device is on battery.

Install Widgetsoid and add it's toggle widget Stay Awake on homescreen. Just, turn it ON and your screen will never timeout as long as the device is under voltage.

Dead link.  Even google's own links to the google play store don't work.


text:
Nexus S OTA 4.0.4 problem?
I get 4.0.4 OTA with my Nexus S today. After downloaded the update package, i click "Reboot to install", but unfortunately the phone did't reboot successfully, so i boot it by myself.
I checked the android version in the settings, it's still 4.0.3, and the system update never
noticed me to update to 4.0.4 again. Does this means i can't get the 4.0.4 later? How can i try to install it again?
My phone was rooted before, Any help will be very appreciated.
Anyone got the same problem as me? it frustrated me.

Especially if you were already offered the OTA, consider a trick from the Nexus One days.  Open up your dialer and dial the following number: *#*#checkin#*#*.  This was suspected at some time to coax the system into checking for available OTA updates.  As there is a good chance this won't work, I'll leave this a comment.

@ctt I tried and received checkin succeeded notification, and when i click it, it disappear.

If that doesn't work to jumpstart the OTA checks, it may just be a case of waiting it out.  If you're impatient, though, there are those .zips that have been floating around; but use at your own risk.

@ctt All right, i will wait it out, also, i want to know anyone got the same problem as me, it frustrated me. Anyway, thanks for your comment.

I unroot my Nexus S (If you don't know how to unroot Nexus S, you can see this), then received the OTA again and upgrade to 4.0.4 successfully.

When updating the android, the screen maybe dark for a while, just be patient and wait it
  restart automatically.

Try going to `Settings -> About phone (at the bottom) -> System updates. If there's nothing there try the 'Check now' option and this should make the phone check for new updates.

Any reason for the downvote?

I have tried this, but it didn't works. Anyway, Thanks for your answer, I found someone may faced the same problem, he unroot the phone and received the OTA again. I will try.


text:
Not enough storage on android device
When I download application from Market I obtain out of memory error.
In fact I have about 2Gb free storage on SD Card and it seems there is out of space of internal phone storage.
How to clear internal storage? E.g. remove some cache files or somewhat else?
How to obtain access to phone storage?
(When I connect my android device to PC without SD card I even have no choice to connect as a disc)
I moved all application which can be moved to Android device with App2SD.
It is really annoying - I have memory of SD Card but in fact I can not use it.
My device is HTC Desire, Android 2.3.3
Thanks a lot!

Have you looked at HTC Desire low on internal storage, I'm clueless — Any help?

I have not found answer there

So you didn't find any of the ten answers there to be of any help? Can you explain a bit what differentiates your case from all of those or what it is that you're looking for? As currently worded this certainly seems like it would be a duplicate of that question.

There are no any accepted answer there. Have you noticed this? Moreover some answers are just describing problem on similar environment. And for some answers I am too stupid to understand them. Or do you beleive that I want to wait for answer here instead of just reading answer which already exist? That answers do not save time for me - as a result I have no sence in this site on such circumstances

Memory or storage? There is a difference.

@Al Everett I meant phone storage, not internal memory. I updated question, seems more clear now

Most probably your internal memory is too low.
You can't access it without rooting your device. And it won't be visible in your PC/desktop anyways with a USB connection. (it can't be mounted)
From what I understand your HTC Desire device has 512 MB of internal ROM which is used for both your stock firmware and user installed apps.
The 512 MB storage may be divided into several partitions. System partition holds your ROM (firmware) and may include apps which came per-installed when you purchased the device.
The data partition is where your apps are stored. To check, how much actual space you have for data partition-

Go to Settings -> Applications menu.

You should get a list of installed apps with available storage at bottom like this,

This will be the actual memory available to you. To increase this, you could try

Moving apps to SD Card (which I believe you have already tried).
Root your device and delete unwanted system apps (bloatware)
Install a custom ROM, with app2sd/data2sd scripts, which enables you to use a ext3/ext4 partition on your SD card to use for installing apps. ( A  1GB partition would do fine.)

Although there is a alternative too, which can help you move some of the apps which are by default not enabled for moving to SD Card.

Requirements

An Android Device (Obviously.. ) (Root not required)
USB Cable
A PC (Any OS will do Windows, Mac or Linux)
Android SDK or replacement for ADB (Install android sdk from official site. Use drivers for your device)

Steps

Run command prompt or terminal use command 'adb devices' (will show
  list of connected devices) (you should have android sdk's
  path/platform-tools in your classpath)
use command 'adb shell' (will open a $ prompt)
use command 'pm setInstallLocation 2' ( will set default install
  location to sd card )
(0 for auto, 1 for internal, 2 for sd card )

Now whatever new apps you install will be installed to sd card. they will still take space on internal memory in data partition though for dalvik cache, app-cache, private-cache etc.
Note-> If you want to revert back to original use option 0 in step 4.
I have seen some weird behavior with this, apps which are set to install in SD Card by default (i.e. games like angry bird), are installed in internal. You could just move them to external though. My advice would be to use this command to enable moving to sd card and then revert back.

My device seems rooted - I asked about this, but I don't know how to check this for sure. Where is "bloatware" located which could be removed paintless? Where is ext3/ext4 on sdcard? I can not find it in ASTRO file manager.

Check your device is rooted or not here - Root Checker Basic - Google Play.  Bloatware is not exactly defined for android phones. I meant to say that there are some android apps and widgets on your devices which you may never use or have better alternatives, in that case those app can be said as bloatware for you because you can't delete them easily as they came pre-installed on your device. The ext3/ext4 partition would have to be created by you with a partitioning tool and your ROM would need app2sd/data2sd support.

Thanks a lot for your explanation! I finally rooted my phone. Used article http://androidpage.ru/htc-desire-poluchaem-prava-root-i-s-off-na-oficialnoj-proshivke-android-2-3-3/ (in Russian though). I have app2sd installed, but I have not found how to move preinstalled software to SD card. Is it something special become available in app2sd after rooting? or something else?

Finally I successfully done this! Moreover. If preinstalled software is upgraded it should be removed completely first. And after execution of "pm setInstallLocation 2" existing software can be moved to SD-card from phone memory.

For those out there with a Samsung S3 like me, the pm set-install-location 2 just doesn't work. At least as far as I could try, and try, and try. Seems like Samsung has changed how that works on its custom ROM, but I couldn’t find more info on that.

BEWARE. There's a dangerous caveat here!
Some apps will start to break and malfunction if they are installed on the external sd card. Such as those that require a background service running all times, like ALL widgets, twitter, instant messages, etc.

The pm command has changed to set-install-location, at least on adb 1.0.31.

Clearing internal storage will probably be a temporary relief only, as it will fill-up again in (probably short) time. However, depending on the action the "temporary span" can be quite long -- so if you are afraid to root and to follow the steps recommended in the other answers, here's a list of possibilities:

uninstall apps you do not need
if possible, move apps rarely used to external storage (App2SD)
cleanup cache (and, optionally, data from apps where you could start-over)

While the first 2 items should be clear, some explanation on the 3rd. You can do that manually without any special app (in case you are already unable to install any) -- but it's a bit wearing:

Go to your homescreen
Hit the "menu" key, select "settings"
Select "Apps" (or "Applications" -- the name differs between devices and Android versions)
Select "Manage Apps" (or "Manage Applications", see above)
Now select each app, one by one, and hit the "Clear Cache" button. If you want to remove the apps data as well, hit the "Clear Data" button, too.

Note that clearing cache is non-destructive, as it only removes temporary files -- while claring data is not, as it will remove all data you stored with the app, including its settings.
If you are still able to install apps, this hairy process can be eased up a lot by some little helpers like e.g. 1-Tap Cleaner or Easy Cache Cleaner.

I rooted it and obtained other issues such as hand up the phone and similar. Concenring memory, it just temporary helped as you said. Finally I switched to iPhone and happy with it.

Oh -- OK, that's a quite different approach to a solution :D Thank you for providing this info, so we know you are no longer "in urgent need" ;)

Certainly worth rooting your phone if you feel capable and are running out of space.
On my Desire, I moved caches to SD and regularly run a cache cleaner.  I also deleted lots of bloatware.
If you want to run lots of apps you have to work at it on a Desire!

How have you moved caches to SD?

It is due to an error in the OS itself. Even some simple apps could not be installed while some bigger apps could.
Reset the device to factory mode and then you must be able to install the same apps which were denied before.


text:
Will Android kill a Service if I uncheck "Show notification" option on Settings?
I was just wondering: will Android kill a Service (that uses persistent notification to keep itself alive) if I uncheck "Show notifications" on app settings?
I am running Lollipop 5.1.

We need more information. What is the app that is persistent? Is it system or user app? Is it the notification service or other? Answers will be incomplete without those details.

Note: This question is related to this changes on JellyBean 4.3 for running background service & persistent notification

@HasH_BrowN it is a user app. This question is not app-specific, but if you want exemples : AcDisplay (Active mode enabled), GravityScreen. I didn't understand, what to you mean by "notification service or other ?". It is a notification (in the status bar) that " keeps the service alive".

Disabling notification would not terminate the life cycle of apps, nor would apps use persistent notification to keep themselves alive. Normally background operations would be done in the background, and notification provides a means to display the result back to the user via the main UI thread. Notification in this context refers to elements such as toasts (pop-up messages) and any icon the app might display in the status bar. In any case, the operation would have finished regardless of whether or not notification must be shown.

Si if I have a service that use a persistent notification, Android won't kill it. Thanks for your answer.

I'm not 100% certain, but I'm about 99%. If the app was made to run in the background disabling notifications shouldn't affect anything else. It should only prevent the app from pushing notifications.


text:
Missing "Visibility" option on Lollipop Calendar
Did Google take away the Visibility option for a new calendar event in their Calendar app for Lollipop/5.0?  It was present in KitKat/4.4, but I don't seem to be able to find it anywhere.  The full set of options looks like this for a new calendar entry:

Incidentally, the calendar app is now correctly using my reminder options as set in the Calendar web app, something that never worked right for me in KitKat (I always had to manually add an email reminder to a new entry added in my phone).  So, that's fantastic, but this feels like one step forward, one step backward since I now have lost the ability to control the event entry's visibility from my phone (the "Default" visibility selection is what is chosen behind the scenes, which I verified in the web app after adding a new entry via Lollipop).

It seems Google changed its logic regarding "Visibility" option since Lollipop version. Now, the option is available only when the calendar is shared. If not, the Calendar will hide it instead since it doesn't have any effects.
From Google Calendar support - Change how others view an event,

Change the visibility setting for an event

Mobile

[...]
Note: If you don't share your calendar, you won't see this setting at all.

and

How visibility settings for an event work
[...]
Who is your calendar shared with?

No one

If your calendar isn't shared with anyone, visibility settings won't affect your event. Choosing "Public" won't make your event public. On mobile, you won't see this setting at all when you create or edit an event.


text:
YouTube resumes playing video on old quality even after I change the quality setting
My YouTube app recently stopped allowing me the ability to change the video resolution.
For example, when watching a HD 720p video, if I go into YouTube video quality settings, the menu shows a list with all quality settings (auto, 144p, ... 720p). But if I select a new resolution, the window closes and resumes back to the video, but the resolution doesn't change.
How can I change the video resolution?

YouTube app version: 10.08.53
Android version: 4.4.2
Device : Acer A3-A10 10" tablet

Have you tried clearing the cache/data of the Youtube app?

@GiantTree thanks, that seemed to be the issue

Just wait a few seconds, YouTube adapts the resolution so that you can watch the video earlier at a lower resolution but it changes to a higher one once enough of the video is buffered/preloaded.
I noticed, that it may take up to 30 seconds for some videos depending on your bandwidth, but it definitely works.
As AndrewT. pointed out:

Youtube uses MPEG-DASH, where "the client automatically selects from the alternatives the next segment to download and play back based on current network conditions. The client selects the segment with the highest bit rate possible that can be downloaded in time for play back without causing stalls or re-buffering events in the playback. Thus, an MPEG-DASH client can seamlessly adapt to changing network conditions, and provide high quality play back with fewer stalls or re-buffering events."

For more information: MPEG-DASH, which the tech YouTube uses. "The client selects the segment with the highest bit rate possible that can be downloaded in time for play back without causing stalls or re-buffering events in the playback. Thus, an MPEG-DASH client can seamlessly adapt to changing network conditions, and provide high quality play back with fewer stalls or re-buffering events."

@AndrewT. thanks for that extra information. Should I add this to the answer?

It's up to you if you want to add the technical side (I usually do though, as reference to backup the answer) :)

This didn't work for me. Nothing happens when I change resolution, and going back to resolution screen after making the selection shows no effect.

@SMeznaric you mean when you change the resolution to 720p it doesn't switch to 720p? This could be caused by a number of issues (YouTube app showing bugs, ISP blocking traffic etc.)

I would imagine it might be a bug. Watching a playlist (all videos uploaded by the same guy in the same set of qualities), only showing this issue with a specific episode.

Tried clearing the cache. That seems to reset the resolution, but after trying to set it to 720 it actually drops it down to 280. Quite frustrating.


text:
Is it possible to find the full SELinux ruleset for OEM's stock ROMs?
I'm writing a root app following Chainfire's documentation, but I found I've to run some command in another SELinux context.
Using that context on my device (OnePlus One with CM12 nightly), I've no problem, but when I try to run it on another device (HTC One) the command fails. If I temporarily disable SELinux (setenforce 0), the command runs without problems.
The analysis I made revealed that some file on the HTC One has a different SELinux domain than the OnePlus One. I used ls -Z and id -Z to figure out where the problem was and I verified the output of supolicy --dumpav, too.
Is it possible to find the SELinux policies definitions of the flagship devices from all the major OEMs?
It could be sufficient a supolicy --dumpav output of each device.

Yes, but it depend where these policy files are stored. Many manufacturers like to move stuff around, thinking their own security solution is better. On top of that depending on you AOS version, things may have changed again, since SEAndroid is a quite recent implementation.
One place to look for these files is at the Android Census site. There you can navigate to each device policy/context file. For example:
/seapp_contexts:
isSystemServer=true domain=system
user=system domain=system_app type=system_data_file
user=bluetooth domain=bluetooth type=bluetooth_data_file
user=nfc domain=nfc type=nfc_data_file
user=radio domain=radio type=radio_data_file
user=_app domain=untrusted_app type=app_data_file
user=system name=com.sec.knox.containeragent domain=knox_system_app type=system_data_file
user=system name=com.policydm domain=knox_system_app type=system_data_file
user=_app name=com.centrify.mdm.samsung seinfo=knox_untrusted domain=knox_untrusted_app type=app_data_file
...

Hey wonderful resource!
So I can download the sepolicy file and inspect it with a GNU/Linux box and the command sesearch -A sepolicy, too. Great.

@m-chinni Yeah, but if we could find some Android binary to do the same, that would be awesome. It's a real PITA to have to transfer the files to a linux box, just to see what's inside. Apparently Chainfire has some tool to inject policy files with. That would be great to have, since Samsung are doing a great job at supplying broken SE policies...

Chainfire's supolicy can live patch and dump SELinux policies. The command supolicy --dumpav I wrote in the question can be run on the device itself.


text:
How to do a factory reset when recovery mode, USB debugging, and factory reset don't work?
I have a device called EXEQ SET. It runs Android 4.1.1. It is spitting out errors like this every other second, making the device almost unusable:

The process com.google.process.gapps has stopped

The process 'Google Play Store Services' has stopped

The process 'Launcher' has stopped

Here's what I have tried to re-flash the device:

I turned off the device, then pressed the key combination to boot into bootloader/recovery mode, which is Home+Power according to "documentation". The power LED lights up, but the screen is completely blank and the device doesn't seem to turn on. I have to hold the power button for a few seconds to turn it off from this state.

When I go to the Developer options menu and turn it on, it immediately switches the developer options menu off. This isn't instantly visible, I have to re-enter the menu for it to refresh.
Both adb devices and fastboot devices commands give empty output when the device is turned on and on all stages of boot.

When doing a factory reset from menu, the button simply does nothing.

I suspect this might be because of some malware.
Are there any other ways of doing a factory reset?

What OS are you using?  Do you have the hardware IDs added to adb_usb.ini?  (Side note, this doesn't sound like malware.)

@MatthewRead I use Arch Linux. When I connect my phone (nexus) via usb, it shows up in the output of adb devices. So I assume this other device should "just work" as well.

No, generally the Android SDK comes set up to recognize Nexus devices and sometimes major manufacturers; I'd doubt that EXEQ would be included.  Run lsusb with your device connected to get the Vendor ID, then follow step 3 here.  Then also add that ID (e.g., 0xabcd) to adb_usb.ini, which is usually located in ~/.android/.

Additionally to Matthew's good comment: After adding your vendor to adb_usb.ini you should run adb as root.  adb kill-server; sudo $(which adb start-server)

@MatthewRead Here's the output of lsusb: Bus 001 Device 009: ID 18d1:8301 Google Inc.. I added the following SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev" to /etc/udev/rules.d/51-android.rules but the output of adb devices is still empty.

@divided-by-zero Also added 0x18D1 to .android/adb_usb.ini and ran adb kill-server; sudo $(which adb start-server but the output of sudo adb devices is still empty.

That's very strange.  I assume it must be due to the Developer Options not enabling, as you say.  Are you rooted?  I'm not sure if running the adb daemon (/sbin/adbd) manually on the device via a terminal emulator would work.

Maybe it should be ATTRS not ATTR? Something like SUBSYSTEMS=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="8301", MODE="0660", OWNER="yourusername" Also try combinations of power+volume up and down for recovery because the documentation could be wrong.  Finally, download the ROM source and see what clues might be there. E.g., if it is a uboot bootloader the source should reveal what the keys are to load recovery. Also, see this.

@fattire Oh wow you are right it's Volumen up + Power button! Docs are wrong indeed. Add it as an answer please.

Use Volume Up + Power to get into Recovery mode.  From there you should be able to perform a factory reset or flash a ROM.

The easiest way would be from fastboot by issuing a fastboot erase userdata command. But booting afterward might be troublesome because you will have no filesystem on your userdata partition! It is normal that you don't see anything on your screen except the LED when booting into fastboot mode using the key combo.
Just run fastboot as root on your computer (best on a live system with fastboot), then you don't need to mess with the device rules stuff. To me, it seems very unlikely that the malware managed to manipulate your bootloader in a way that it still boots the system but does not allow entering fastboot mode.
Please be aware though that most malware cannot be removed by simply doing a factory reset as the factory reset only removes user data, not system stuff. If the malware managed to modify your boot or system partition (which is very likely), you will have to re-flash these partitions back to a stock state.


text:
Why does Huawei Honor 6 show something other on screen when I put a magnet on it?
Normal mode:

Magnet mode:

This pops up regardless of lock screen status. If I add and remove the magnet while unlocked, it does not get locked. There is also third screen with music controls when music app is running.
Why does this happen?

Does it act this way on every screen, or just a lock screen?  Every magnet or just this magnet?

Any magnet, just the lock screen.

Interesting.  Usually magnets are used in holsters to automatically lock the device and turn off the screen, but that's the same effect as what's happening here.

Correction: this pops up regardless of lock screen status. If I add and remove the magnet while unlocked, it does not get locked. There is also third screen with music controls when music app is running.

It's a feature to display useful info and interact with it when you're using magnetic case for Huawei Honor 6. Searching for "Huawei Honor 6 magnetic case" will show how it's supposed to be used:

(Image courtesy of Lelong.my)
From what I researched, most of Honor 6's magnetic cases have small cut-in on the front-right side where you can touch the screen to interact with the phone while the case is closed.

How do I turn it off? Does it increase the attack surface if I want to secure my device?

Unfortunately, that's where my research ended. I didn't find anything about that and I don't have both the device and the case, so I can't experiment with it further.


text:
Turn on Bluetooth if WiFi is not connected to some network and turn off WiFi after that using Tasker
I want to turn on Bluetooth if WiFi is not connected to some network and turn off WiFi after that using Tasker. I've managed to do that, but I have a problem.
First, Bluetooth turned on even if I was turning WiFi off manually, which is not what I wanted. I wanted Bluetooth to turn once I'm out of the home. So I added the "if not WiFi ~ on" clause to the "Bluetooth turn on" action. And this is working alright.
But now I have another problem. If I'm using "turn off WiFi in sleep mode", then after entering the sleep mode, Bluetooth is turned on. I don't want that.
How can I do what I really need to, which is if I'm on the street, then turn on Bluetooth and turn off WiFi?

This would require using a "custom variable" – let's call it WANT_BT for a reference – and some additional profile:

on "monitor start", set an initial value for it. Which that is, depends on your usage: say you've got WiFi on usually, set it to 0 here, otherwise set it to 1 in this place. Experiment a little which is better fitting. Alternatively, make it depending on whether WiFi is on at this time. We'll interprete this as "Do we want BT to be turned on when WiFi switches off?" with "0" as "no" and "1" as "yes".
in your sleep-mode profile, set it to 0 in the task. Optionally set it to 1 in the exit task (Tasker should restore the "before-value" automatically)
in your BT task, check this variable additionally (i.e. "turn BT on if WiFi is off and %WANT_BT% is 1")

You might have to adjust some other profiles triggering WiFi, but that should basically cover it: BT should only be turned on when "wanted". Even if you manually switch off WiFi via a toggle widget (or the shortcuts), BT would only turn on in situations where you WANT_BT :)

How to create sleep mode profile? I can't find anything on that.

That depends on what you define as "sleep mode" (I've just picked up that term from your question). Closest approach I can think of ad-hoc is "Display off" with a delay ("Tasker → WAIT") of 30..60s.

Well... I think I'm talking about CPU sleep.

I thought about that. But if the CPU sleeps, so does Tasker. I don't know if that's possible. Sure, there's the %CPUFREQ variable, so you could play with that (and comparision like it being "lower than X"). But that's probably as close as you can get.

Note the "probably". It might well be I've overlooked something, e.g. the system broadcasting a "going-to-sleep" signal Tasker might be able to catch and react on. Unlikely, but not impossible. Consulting the Tasker UserGuide is always a good idea :)

authors: Вячеслав Кривохиш


text:
How to restart a system app from the command line?
After deploying a new APK for a system app, is there a way to restart the app process without rebooting the device?
Non-system apps are managed with the Activity Manager through the am command. There are options like start, restart, force-stop, as well as commands against services, like startservice or stopservice.
I have mainly read and tried around the Activity Manager, and I am missing something. Right now, I just rely on the time-consuming brutal reboot command. Posts on installing system apps also use reboot only, as far as I found.
Great and timely feedback mention the very commands I tried, but when they work, they are in "force" mode. I did not check the source code, but it usually means something akin to kill -s SIGKILL, and I wonder whether that is really necessary to go that far.

Some sample outputs (thanks everyone for comments!):
(note, I have indented the command output for readability)
Restarting with restart
$:/ # am start com.android.email
    Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] pkg=com.android.email }
$:/ # ps | grep email
    u0_a30    1436  117   705400 32128 ffffffff 4006b954 S com.android.email
$:/ # am restart com.android.email
    Restart the system...
    android.os.DeadObjectException
    at android.os.BinderProxy.transact(Native Method)
    at android.app.ActivityManagerProxy.restart(ActivityManagerNative.java:4647)
    at com.android.commands.am.Am.runRestart(Am.java:1410)
    at com.android.commands.am.Am.onRun(Am.java:308)
    at com.android.internal.os.BaseCommand.run(BaseCommand.java:47)
    at com.android.commands.am.Am.main(Am.java:78)
    at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
    at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:243)
    at dalvik.system.NativeStart.main(Native Method)
$:/ # ps | grep email
$:/ # #=> Process was killed anyway
$:/ # am start com.android.email #=> Works again, but the previous error...

Restarting with force-stop
$:/ # am start com.android.email
$:/ # ps | grep email
    u0_a30    2680  1506  706404 31668 ffffffff 40059954 S com.android.email
$:/ # am force-stop com.android.email
$:/ # ps | grep email
$:/ # #=> Process killed
$:/ # am start com.android.email #=> Works again, but it was *forced* kill!

Some context and idiosyncrasies: My particular case is a custom system app (in /system/priv-app) that exposes a service, no activity. I am used to rely on am startservice and am stopservice to manage non-system processes. It does not work properly for system apps (read: "I don't know how to do it" :-) ). All this is on Android 4.4.2, API level 19.

Not really an answer, but faster than a complete reboot it should be to do a soft reboot (i.e. kill the system server). Though I don't know how to do that from the command line (I've normally used the boot menu for that ;) my guess is you simply use the kill command on its process once you've identified that (ps | grep system_server should help you find its PID): kill $(ps | grep system_server | awk '{print $2}'). That said: if you can identify the PID of that app, it should work the same way (but might have side effects).

@Izzy Isn't it something like busybox killall system_server. I used that command before in an app I made.

@SuperThomasLab As I wrote, I didn't try that myself – so you could be right. Still, consider busybox is not a given on all devices – while kill usually is (IMHO; with no busybox it often points to toolbox or the like), as are ps and grep. Admittedly, awk again might depend on busybox, so one might have to do the kill manually in two steps then.

Doesn't the above just restart userland, similar to am restart?  (Related.)  In any case: Eric, could you clarify what the problem is using am start?  It works fine on my device for system apps.

Thank you all. @Matthew Read, the problem is to have a custom system app restart completely. am restart does not work for me, but I may be using it wrong. I cite it, although I do not believe that is right. @all, it would be great to restart without external tooling, if possible. I guess that should be possible properly on such a fully-fledged OS !

Yeah I didn't expected am restart to work, but am force-stop & am start should.  What happens when you try it?

@EricPlaton : I can give my assurance that a system app can be force-stopped completely  and one of its component can be started from scratch again. My answer here can show you that (hint: com.android.vending is a system app). // Can you precisely tell us what in that app are you trying to restart? am start -S COMPONENT would force-stop the app and then start your app's component. am force-stop PACKAGE and then am start or am startservice can help you as well.

Thank you all, again! I have updated the question to address most of your feedback. I see that there are solutions, but don't you feel weird that you have to force stop a process to restart? That's one of the motivation for the question, and I should clarify it.

I'll have to take a peek around the source code and see whether the Android system itself does a kill when updating an app.


text:
What file system can I use on SD Cards?
I stupidly changed my new SD cards file system to NTFS for using with my laptops and my Android tablet. Now I realize my tablet doesn't want to see the card when I put it in. And now I bought 2 USB's and notice they have FAT32 file system on them.
Which file system will work for each storage and will be compatible with all my devices?

TYPING IN ALL CAPS SIGNIFIES YELLING. Please stop.

Welcome To Android SE. Please, not all caps. Its annoying

On Android I would use exFAT, it has fewer limits and is supported to read and write by most platforms including Linux, Android, Osx and obviously Windows. You might need a couple of lines of commands on linux, not a big deal.
For Linux users:
apt(or yum) install fuse exfat-utils

Some desktop environments might have exFAT support by default though.

Fat32 and Fat64 are used for microSDHC and MicroSDXC cards, which are normally the ones used in mobile devices such as phones or tablets. So either fat32 or fat64 will work for your tablet. Fat32 is fine for the usb as well

Although, does your tablet have a USB port that you can even connect a flash drive to?

FAT64 does not exist. You definitely mean exFAT (which is often not supported on older devices).

Exfat and fat64 are the same thing, just a different way to say it, and I'm aware that most older devices don't support it

But some newer devices DO support it (such as the phone I have, the LG K7)

Yes, nearly all newer devices support exFAT. By the way: exFAT or FAT64?

I was literally just reading that question as you sent me it lol, and thanks for the correction, I get it now.


text:
How to stop Android from switching between Wifi APs automatically?
I have several WiFi APs for different purposes. One is for printing, one is for smart devices with access to the internet, another for devices with no access to the internet for security concerns, and some others like repeaters, guest APs or streaming devices.
Android 7 always switches between these APs without asking for permission. The only time it asks for confirmation is when switching from WiFi to mobile data.
Using the wrong AP, is not only annoying but has unwanted consequences. Any idea how to stop Android from such nonsense move?
Ps: there is no smart wifi option but wifi plus which is off.
Ps2: Imagine an app does not have access to the AP or internet it needs or when setting up a device and the WiFi is switched to another AP or connecting to a server with the wrong IP, just because Android decides it wants to use a different WiFi AP.

is there any chance you have set Keep Wi-Fi on during sleep to Never (Wi-Fi->Configure Wi-Fi(Settings icon)->Keep Wi-Fi on during sleep)? This will turn Wi-Fi off when phone goes to sleep and when it wakes up, it will get connected to any of your available APs at that time based on signal strength.

The AP's all share the same SSID name?

In Android 7.0, you can actually disable wifi auto-reconnect. Go to Wifi Settings, then tap on one of the AP. Uncheck the Auto-reconnect.

I have found reference to this command to disable the automatic internet connectivity test, and some reports of it working. I cant test it though. You need a rooted handset. I don't have one and
currently can't... you first need to su,  then....
settings put global captive_portal_detection_enabled 0

I've actually put in a technical request to Nikon as my camera suffers the same issue. I can no longer download from it. I'll let you know if I get any joy!

I had that issue. I have 2 APs and my phone keeps switching between the 2. What I did was made the phone "forget" the APs I DON'T usually use the phone with. Can't connect to an AP you don't have a password for, right? Works like a charm.

Thanks a lot for your input, at least I see other people have the same issue. It might benefit some. I do this sometimes but there is no prefered AP and I need to constantly use these APs, and re-establishing the connection with long passwords each time would not be very user-friendly. I'd rather see android sticks to the WiFi AP that it was assigned to.

My same solution, answerer. A shame there isn't a more user-friendly way.


text:
S5 cm12.1 won't allow to transfer files to pc
This is very peculiar I have similar problems in the past but all were easy fixes. My s5 will charge when plugged into the computer but there is no other indication that the device is plugged. I've tried reinstalling drivers but still nothing. Looked into setting in developers options to take a look at the USB debugging but sadly it was greyed out and told me options weren't available in charging mode. Does anyone have any idea how to get it out I've tried everything I could want to flash back the stock ROM.
Edit: charger actually didn't support data transfers but it worked with the same charger before. Charger must be getting old

setprop persist.sys.usb.config mtp,ptp,adb from a root shell. I actually prefer set to none because it protects your data when the phone is stolen. (Assuming bootloader is locked)

thanks not saying cm is a bad rom but s5 is just terrible for custom  rom. little problems like these I have to solve every other day. gets aggrevating :p

S5 has a terrible camera too. Upgraded from Note 2 and glare is so much worse.

Did you try to change the cable you're using? Maybe the current one doesn't support data transfers.

With which CM build are we particularly dealing with? Is it a nightly or a stable one? If nightly, have you tried a stable build and see if the issue persist?

Yes I've trued with 2 different ones but I don't have the original charger that came with it. It has worked without the original though

and it is nightly but no I have not tried any other version. I'm just having a hard time tracing what the actual problem factor is


text:
USB charger produces high-pitched noise while the battery is full
I have Nexus 5 and I recently bought the European version of the PowerCube, which combines three power outlets with two USB chargers. I noticed that as soon as my smartphone's battery is full, it starts producing a high-pitched whistling noise.
It stops when I unplug the phone or when its charge drops below 100%. Neither of my parents can hear it because it's outside their hearing range. Should I be worried?

It's not a sign of particularly great component quality, and your charger will probably die any time soon. Consider getting a refund or something before that happens.

This app will measure the charging/discharging of your device: https://play.google.com/store/apps/details?id=com.gombosdev.ampere

This is indicative of poorly designed/ defective piece and best replaced ASAP.

From bwDraco's answer on Why do some AC adapters and power supplies generate a whining noise, and what can I do about it? (emphasis added; missing text denoted by "....")

Most modern AC adapters are switched-mode power supplies. The internal switching frequency of an SMPS is typically low when unloaded and increases with load up to a certain point depending on the design. The no-load frequency is often low enough to be within the human hearing range....Under load, a properly functioning SMPS should operate at a frequency well above the human hearing range, typically 50 KHz or higher (although some older designs operate at 33 kHz). However, the same noise can occur under load with a poorly designed or defective power supply as the coils may vibrate under electrical stress at a subharmonic frequency....As such, a defective device can generate audible coil whine during operation

From iHelix150's post on Why does my phone charger make a horrible high-pitched noise when it's plugged in? And can I stop it?

Most switching power supplies use a switching frequency above 20-30KHz so the human ear can never hear it. However for one that is in the 10-20KHz range, the switching is sometimes translated into audio frequency noise ....The noise changes based on how much power is being consumed by your phone....Unfortunately the way to stop it is to just buy a new cell phone charger, ideally one that's not a cheap piece .... If your phone charger is not a cheap piece .... (note that whether or not it's a cheap piece .... has nothing to do with how much you paid for it) its possible its capacitors were damaged by spikes, surges or other bad quality power problems, in which case you should invest in a good quality surge suppressor with noise filtering.


text:
Bypass “Verify your account” on Samsung Galaxy J2
I have Samsung Galaxy J2 and I am unable to bypass "Verify your account".

I have tried:

Installing and opening RootJunky APK from this answer which opened Settings, then I did a Factory reset -> Back up and Reset -> Factory data and reset
Rooting the device with Kingroot and installed a terminal app that has root access, though I don't know which commands to bypass this
Reflashing the phone with the stock firmware

Output of mount:
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,seclabel,nosuid,relatime,size=456756k,nr_inodes=114189,mode=755 0 0
devpts /dev/pts devpts rw,seclabel,relatime,mode=600 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,seclabel,relatime 0 0
selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0
/sys/kernel/debug /sys/kernel/debug debugfs rw,relatime 0 0
none /sys/fs/cgroup tmpfs rw,seclabel,relatime,size=456756k,nr_inodes=114189,mode=750,gid=1000 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/secure tmpfs rw,seclabel,relatime,size=456756k,nr_inodes=114189,mode=700 0 0
tmpfs /mnt/asec tmpfs rw,seclabel,relatime,size=456756k,nr_inodes=114189,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,seclabel,relatime,size=456756k,nr_inodes=114189,mode=755,gid=1000 0 0
/dev/block/platform/13540000.dwmmc0/by-name/CPEFS /cpefs ext4 rw,seclabel,nosuid,nodev,noatime,data=ordered 0 0
/dev/block/platform/13540000.dwmmc0/by-name/SYSTEM /system ext4 ro,seclabel,relatime,block_validity,norecovery 0 0
/dev/block/platform/13540000.dwmmc0/by-name/CACHE /cache ext4 rw,seclabel,nosuid,nodev,noatime,discard,journal_checksum,journal_async_commit,noauto_da_alloc,data=ordered 0 0
/dev/block/platform/13540000.dwmmc0/by-name/USERDATA /data ext4 rw,seclabel,nosuid,nodev,noatime,discard,journal_checksum,journal_async_commit,noauto_da_alloc,data=ordered 0 0
/dev/block/platform/13540000.dwmmc0/by-name/EFS /efs ext4 rw,seclabel,nosuid,nodev,noatime,discard,journal_checksum,journal_async_commit,noauto_da_alloc,data=ordered 0 0
/dev/block/platform/13540000.dwmmc0/by-name/PERSDATA /persdata/absolute ext4 rw,seclabel,nosuid,nodev,relatime,data=ordered 0 0
/data/knox/secure_fs/enc_media /mnt/shell/enc_media sdcardfs rw,seclabel,nosuid,nodev,relatime,uid=1000,gid=1000,derive=none,reserved=20MB 0 0
/data/knox/sdcard /mnt/shell/knox-emulated sdcardfs rw,seclabel,nosuid,nodev,relatime,uid=1000,gid=1000,derive=none 0 0
/data/media /mnt/shell/emulated sdcardfs rw,seclabel,nosuid,nodev,relatime,uid=1023,gid=1023,derive=legacy,reserved=20MB 0 0
tmpfs /storage/emulated tmpfs rw,seclabel,nosuid,nodev,relatime,mode=751,gid=1028 0 0
/data/media /storage/emulated/0 sdcardfs rw,seclabel,nosuid,nodev,relatime,uid=1023,gid=1023,derive=legacy,reserved=20MB 0 0
/data/media /storage/emulated/legacy sdcardfs rw,seclabel,nosuid,nodev,relatime,uid=1023,gid=1023,derive=legacy,reserved=20MB 0 0

output of ls -l /dev/block/platform/13540000.dwmmc0/by-name/:
lrwxrwxrwx root     root              2016-03-28 16:01 BOOT -> /dev/block/mmcblk0p10
lrwxrwxrwx root     root              2016-03-28 16:01 BOTA0 -> /dev/block/mmcblk0p1
lrwxrwxrwx root     root              2016-03-28 16:01 BOTA1 -> /dev/block/mmcblk0p2
lrwxrwxrwx root     root              2016-03-28 16:01 CACHE -> /dev/block/mmcblk0p21
lrwxrwxrwx root     root              2016-03-28 16:01 CARRIER -> /dev/block/mmcblk0p8
lrwxrwxrwx root     root              2016-03-28 16:01 CDMA-RADIO -> /dev/block/mmcblk0p13
lrwxrwxrwx root     root              2016-03-28 16:01 CPEFS -> /dev/block/mmcblk0p4
lrwxrwxrwx root     root              2016-03-28 16:01 EFS -> /dev/block/mmcblk0p3
lrwxrwxrwx root     root              2016-03-28 16:01 HIDDEN -> /dev/block/mmcblk0p22
lrwxrwxrwx root     root              2016-03-28 16:01 OTA -> /dev/block/mmcblk0p12
lrwxrwxrwx root     root              2016-03-28 16:01 PARAM -> /dev/block/mmcblk0p9
lrwxrwxrwx root     root              2016-03-28 16:01 PERSDATA -> /dev/block/mmcblk0p18
lrwxrwxrwx root     root              2016-03-28 16:01 PERSISTENT -> /dev/block/mmcblk0p17
lrwxrwxrwx root     root              2016-03-28 16:01 RADIO -> /dev/block/mmcblk0p14
lrwxrwxrwx root     root              2016-03-28 16:01 RECOVERY -> /dev/block/mmcblk0p11
lrwxrwxrwx root     root              2016-03-28 16:01 RESERVED2 -> /dev/block/mmcblk0p19
lrwxrwxrwx root     root              2016-03-28 16:01 SYSTEM -> /dev/block/mmcblk0p20
lrwxrwxrwx root     root              2016-03-28 16:01 TDATA -> /dev/block/mmcblk0p16
lrwxrwxrwx root     root              2016-03-28 16:01 TOMBSTONES -> /dev/block/mmcblk0p15
lrwxrwxrwx root     root              2016-03-28 16:01 USERDATA -> /dev/block/mmcblk0p23
lrwxrwxrwx root     root              2016-03-28 16:01 m9kefs1 -> /dev/block/mmcblk0p5
lrwxrwxrwx root     root              2016-03-28 16:01 m9kefs2 -> /dev/block/mmcblk0p6
lrwxrwxrwx root     root              2016-03-28 16:01 m9kefs3 -> /dev/block/mmcblk0p7

512KB partition

A factory reset from settings should not result in this issue, only a factory reset from recovery. Also, Samsung devices have a nonstandard partition layout, so the linked answer might not help. You could try the ADB steps, though. Run this in the terminal and tell me if it allows you to get into settings: content insert --uri content://settings/secure --bind name:s:user_setup_complete --bind value:s:1 Thanks to @MatthewRead for including this in his answer in the link

Since you've no problem in getting into Settings app, can you try adding a Google account there and then removing it? Removing the account shall disable FRP per this article: http://www.samsung.com/us/support/answer/ANS00042882/99737975And in the Settings app, under Developer options do you see an option OEM Unlock? If yes, enable it and do a factory reset. You've to first enable Developer options. See http://www.recovery-android.com/enable-usb-debugging-on-android.html for that.

@Firelord  Tapping the build number 7 times does not enable Developer options. I've also been though this answer.  Let us continue this discussion in chat.

For some reason, I had to sign in to the original account through the help of RootJunky APK, went to Settings -> Account, and added the original Google account and it verified it that way. It might be because it skips checking the connection.


text:
Is it dangerous to change or remove company-brand boot logo?
There are two types of boot animation:

Company-brand logo
ROM-based

I was able to change ROM-based animation by rooting the phone and using a custom ROM.
However, I'm a bit confused about how to change or remove the brand logo animation. Is it safe to do that? Will it increase the speed of the booting process?

Depends on device. I know it's very easy on the HTC One M7 as the bootloader image is stored in its very own partition. I love the space/planet earth one off some XDA thread, they all come in flashable zips.

I've Xiaomi Mi4i with Cyanogenmod 13.0 (6.0.1) @AaronGillion

I have a very different take on this matter than @sbrm1. Note a few things first and then decide whether doing this is worth it:

The boot logo is a actually a raw binary image, constrained by size, not format.
The format of the bootloader splash screen, as it is known, varies for even models of the same device (case in point, Exynos and Qualcomm Samsung Galaxy models).
On Qualcomm devices, the bootloader splash logo is typically stored on a partition called splash or logo, to change which you need to flash as similarly named .mbn or .bin file (not .img)
If you don't choose a logo with a format and size specific to your device, it may result in unforeseen circumstances (read, what will appear to be a Hard Brick, the device not booting up at all). Why? The bootloader is dumb and will try to load whatever is on the splash partition as long as it fits in there (i.e., has a specific size). It might not even be a picture at all. The bootloader may choose to 'panic', i.e., show some error message and reboot, keep trying to reload the splash, or continue booting the OS. You can hope for the last, but you never know unless someone has documented the specific behaviour for your device or you learn it the hard way. You may or may not lose your charging screen, however.
Do you still want to do this? I don't know of a guide specific to your device, let that put you off a bit. If there is indeed an acceptable splash file for your device, just fastboot flash the image file (note, image as in disk image, not photograph) to whichever of the above 2 mentioned splash partitions which exists on your device. This can be done on some HTC, LG and Nexus devices with Qualcomm or Tegra chipsets.
A last FYI, the manufacturer may choose to integrate the logo into the bootloader (aboot). I know Xiaomi does this for some devices (Redmi 1s and Redmi 2 - personal experience), it's probably true in your case too. Then you will need a custom bootloader, with the splash screen packed into the bootloader flashable image file (image as above).

Still there? I can't help you beyond discouraging you, so...

@sbrm1 You, in simple terms, just were very careful or got very lucky. Not something we can or should assume is true for the OP. Also, in doing something inherently risky like this, you should always disclose what may possibly happen even if you yourself have never experienced it.

@sbrm1, Please let me know of these apps you talk about. I would think that these apps do barely more than changing the boot animation, not the boot logo.

I checked and found that my answer is applicable only for other devices with the same chipset (or in the case of Mediatek, any other Mediatek SoC)... I'm updating my answer.

@sbrm1 please quote sources where you found this information.

Yes it is possible to change the company logo. If you have ever flashed a custom ROM which changes it and still have the update.zip file lying around, sometimes (after extraction) you will find a logo.bin (its a raw Binary file) file in the root directory. This file contains the Brand Logo as well as the charging animation and the image to be displayed in fastboot mode. However on your phone (and most other phones) there is no logo.bin file but just a partition named LOGO where a complete dump of the logo.bin file is saved.
There are update.zips just for changing your phone branding, however only files for the correct resolution and chipset will display correctly. (Yes, you can indeed use such files made for other phones with the same SoC with the same resolution)

I strongly disagree with the steps you have suggested to enable changing the bootloader logo. The chipsets in the Mi4i and the OPO are vastly different (64-bit vs. 32-bit architecture and bootloaders to say the least), and this may hard-brick the OP's phone. Bottom line is: Bootloader logo has got nothing to do with resolution. It depends on bootloader, binary format and image size. Also, our policy is to reproduce critical linked content in case the link ever goes down.

Also, RAW binary and raw binary are 2 different things in the world of digital images. The 1st is related to unprocessed photos and the other is what you probably intend. -1 for ill-advised recommendations.

@TamoghnaChowdhury fixed the raw part.

authors: دانیال اسکندری


text:
When I remove a payment profile, will I still be able do install my purchased apps?
I purchased a few apps a few years ago, and my credit card expired a long time ago. So, if I close my payment profile on Google Play, will I still be able to install the apps I purchased?

Would just removing the card from your profile be satisfactory as opposed to closing the entire profile?

It appears you are confusing payment method with payment profile

If you close your payment profile then you can't install earlier purchased apps as explained in Google payments center help

When you close this profile, the service(s) below will be canceled:

Google Play Apps

YouTube

Google Play Movies

Instead, Add, edit, or remove a payment method

I have had an issue with changing the Google Play country and they recommended to delete the past payment profiles. I have enquired about the past purchases and they said (twice) that I will not lose them.

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


text:
MacroDroid asks for "Application Launched/Closed" accessibility permission constantly
I'm on non-rooted Android 8.1 Oreo with MacroDroid Pro v3.24.1. After I got a replacement phone and reinstalled MacroDroid, it constantly asks for accessibility permission: Application Launched/Closed.
There are three accessibility permissions available:

MacroDroid
MacroDroid Fingerprint Gesture Detector
MacroDroid Volume Button Monitor

I enabled the first and last and kept the fingerprint off as this disables drawer swiping. I don't get where to allow that accessibility permission it is asking for.
Any suggestions?

I am an avid user of MacroDroid and noticed this issue with two devices and raised this issue on app forums (accessible from within the device and my post dated 24 December 17- unable to link)
This is what the developer said

It's not a MacroDroid issue but a system issue that can happen with any app.
If you Google the issue you will find stuff like this:
Accessibility services gets disabled automatically

I find this to be true, since I had this problem on stock ROM but not on custom ROM
Quite possibly same case with you


text:
How can I sync a text file edited on my Android device with Ubuntu One app?
I've just got the Ubuntu One app on my Android device to sync files between my Android device and my desktop computer. I see that the app has the ability to automatically sync uploaded photos, can it also sync other files?
If I download a text file from my Ubuntu One with this app and edit it on my Android, how do I sync that file?

Question locked because Ubuntu One cloud service doesn't exist anymore.

I use an app called FolderSync in conjunction with Cryptonite. The former can synchronize any directory on your SD card with a number of cloud providers. The latter handles encryption. You would use EncFS on the desktop to run the encryption there.

It works similar to DropBox.  You put a new text file into your Ubuntu One folder on your PC, you check the app in your phone, and that same file will be there waiting for you.  It works both ways.

I just added a folder through the app and went to the website and it was there waiting for me.  I believe that is syncing?

Dropbox is doing the trick for me! Now I can edit the same file both in Vim on PC and in "DB Text Editor" on my Android phone. All synced in second in both directions.

Instal DB both on your Ubuntu and Android.
Make link to any folder inside Ubuntu One folder on PC (say "My texts") and move such link into your Dropbox folder on PC.
Put some file to "My texts" and try to edit on both devices.


text:
Is there a way to stop Android from creating folders on the SD card such as "Android" and "Download"?
In the SD card of an Android device, some folders such as "Android" and "Download" are always automatically created.
Is there any to stop it?

Without tricks, the answer is No.
These "Shell Directories" are hard-coded into Android and get created automatically if any of them is found missing. You cannot prevent this behavior from happening, but there are workarounds that makes the directory creation fail, by putting a file with the same name in the same place.
See Why do Android create "Shell Folders" automatically? Can I change the shell folders?


text:
What exactly is superuser.apk and su?
I've done a lot of reading into rooting of Android devices. I really want to know exactly what is going on at each step before I commit to the process.
I'm a little confused as to where the superuser.apk and su files come from. It doesn't look like they are official Google files, but rather files created by a (random) individual. That said, how safe are these files?
From research, I have a general understanding of their purpose. I was wondering if anyone knew what these files were (executables? scripts?), what they contained and how they generally work.
Thanks!

Related: How Magisk works?

su (short for Switch User) is a binary executable. It's used by Android and other *nix based systems to allow a process to change the user account it is associated with. The reason it's important from a rooting standpoint is that su without any other parameters will switch to the root user, meaning that processes that require root permission for their functionality need to invoke su (since by default they are not being run by root).
Superuser is an Android application (.apk is an Android application package). It works as a sort of "gatekeeper" to the su binary. Applications which attempt to invoke su will be forced to route through Superuser, which will then prompt the user if it is an unknown or new application. The user then has the option of approving or denying the access to su and optionally having Superuser remember their decision so it can automatically apply it for subsequent calls by that app. By doing this, the only apps which are granted root permissions are ones that the user chooses.
The source of both applications is available on Github, and can be examined/audited by anyone who wishes to look at it (Superuser here, su here).
You can find further details - as well as changelogs - on Superuser's website.
Other related questions on Android Enthusiasts:

How exactly does "root" user access/account works? Do all applications run as root on my phone after rooting?
What are the security disadvantages of rooting an Android phone?
How do I protect my phone from malicious apps once it is rooted?

I really appreciate the detailed response and links! Thanks!

Are there any alternatives/equivalents to these files for the purposes of Android rooting?

@kaspnord: No, su is the same file used for other linux/unix OSes, and there aren't any alternatives to that, but there might be for superuser.apk. Why do you want an alternative?

I'm just curious since these files, although blessed by the open source community, don't appear to have a standard of any sort (ie. not officially Google). So, that leads me to think that it is possible for other people to create other variants of the same files. For me personally, I want to know exactly what I'm using and putting into my device rather than rely on solutions from others where I cannot know with 100% confidence what the files contain.

The source code for Superuser is available on github, the main author of Superuser are Adam Shanks (ChainsDD) and Koushik Dutta (koush, also author of Clockwork Recovery).
Koushik Dutta explained in his blog how Superuser.apk works; note that the post is from the very earliest incarnation of the Superuser app, a lot of things have changed since then and some of what was written there are no longer correct for modern superuser/su implementation, but the basics should still be the same.
Both su and Superuser can certainly be replaced by alternatives, but it wouldn't really do much as the facility that su uses (i.e. exec() and setuid() system calls) is available to any executables, given that the executable had the proper permission bits (i.e. setuid bit is set to root). At the core, su is a very simple program, it just spawns a process as another user; the real security check is done by the kernel.
So, as long as you're getting the official, unmodified su and superuser app and they're installed properly with proper permission, you don't have anything to worry about, they're open source and safe, you can verify the source code yourself at github. However, it is certainly possible to get a trojaned superuser/su binary, so make sure that wherever you're getting your superuser/su binary is trustworthy (or compile su/superuser yourself if you're truly paranoid).


text:
Create flash-friendly file system on microSD card (not FAT32)
Yesterday I noticed that I destroyed my just a couple of months old 32GB large microSD card. I wasn't even able to create a new file system on it or change the partition table, so it became completely unusable.
To prevent this from happening again, I want to use a different, more flash-friendly filesystem on my new microSD card. I am using an unrooted Nexus One with Android 2.3.3 on it. I know that it is quite possible to use different file systems with custom ROMs on rooted phones, but I want to use the official, unrooted version of Android.
So my question is:
Is it possible to use other file systems than FAT on a microSD card with unrooted Android? Which file system would you use then to save the flash memory from corrupting?
I am also interested in things you do to save your microSD card life.

Corruption cannot cause the card to be un-formattable.  You had a hardware problem, not a software problem.  Buy a card from Kingston or another manufacturer who make quality stuff.

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


text:
Huawei ideos s7 slim Honeycomb update - is it possible somehow?
I got this new tablet and I have to write an application which live streams video. I know that since 3.1 this is natively supported on Android. Since the s7 is a tablet I think that there should be some way to update its 2.2 to 3.1. Is there a way to do this? Little hint where to start looking? Cyanogen doesn't have anything for s7.

CyanogenMod doesn't have a Honeycomb-based version, anyway. Related: How do I update the OS in my device? and When will my device get the Android 3.x update (Honeycomb)?.

XDA has nothing except for some attempts at getting Gingerbread on it.
I would expect you're out of luck since Honeycomb wasn't open-source, and porting was therefore very difficult.  It's possible that someone will mod CM9 (Android 4.0) to run on it, so I would wait and see.


text:
Installing AROMA File Manager
I have to break the pattern on someone's Android phone. I researched on Google and found a way of doing it with AROMA File Manager.
Do I have to install CWM or TWRP or can I use a custom recovery mode to extract AROMA File Manager's file? Does the phone need to be rooted or can it be done without root?

Yes, you need a custom recovery. AROMA runs within a custom recovery.
A custom recovery such as CWM or TWRP can be installed without root on most phones, but you will most likely have to unlock the bootloader first.
The exact steps are dependent on what phone model you have.
Most phones are well covered on XDA developers, google it.