text:
Trying to install cyanogenmod on nexus 7 but can't get into Team Win Recovery Project
I have followed the steps from How to Install CyanogenMod on the Google Nexus 7 (Wi-Fi, 2012 version) ("grouper")

If you are not already in recovery, boot to recovery mode now.
  Hold Volume Up, Volume Down, & the Power button. Continue to hold all three until the screen flashes, then release all buttons.
In Team Win Recovery Project, select menu choices by tapping on the appropriately labelled button.

After #4, you are suddenly supposed to be in team win recovery project. But I'm not. I am in the menu that gives you the options "start, restart bootloader, recovery mode, and power off".  If I choose recovery mode, I see a picture of an android and his chest/belly is open with a red triangle.
How do I get into team win recovery project?
Alternatives are also welcome. Hand holding will be needed though... I'm a noob to mods.

You can use command adb reboot recovery .

Since your recovery is broken. You should use the other part of the tutorial. Installing a custom recovery using fastboot

A nexus? If I remember right, spam buttons. It sometimes works

Spam buttons? I don't follow

When I type adb reboot recovery, I see an image of an android with his chest open and a red triangle with an exclamation point @VivekJi

I went through the tutorial from top to bottom @RahulParashar. So I completed that section before moving onto "Installing CyanogenMod from recovery"

You can try to do it through command line from your PC.
Install adb drivers in PC 15 seconds ADB installer
Download the TWRP img file for Nexus 7 from twrp website TWRP for Nexus 7
Rename the downloaded img file to "recovery.img" and move this to the ADB folder that was downloaded earlier. Make sure you have ADB.exe, fastboot.exe and the recovery.img in the same directory
Enable developer options and USB Debugging in your device
Connect the device to PC. Make sure device is detected if not download the USB drivers.
Once devices is detected, open a command prompt and change location to the ADB directory. Issue the command "adb devices". This should give your device ID as the output.
Executive the following commands carefully:

"adb reboot bootloader" - the device will reboot in fastboot mode
Once device shows up fast boot screen, type " fastboot devices " and make sure device ID is listed
Type "fastboot flash recovery recovery.img" . this installs the TWRP image into the device. If successful you will see an Okay message in command prompt.
Issue command "fastboot reboot" and wait for device to reboot normally. Once this is done you can try the key combination to boot into recovery.  If everything went well you should be greeted with the TWRP recovery instead of the stock Android recovery.

Hope this helps.

Followed your instructions and got it working. Seems like the trick was to rename the image file from whatever it downloaded as to recovery.img? That did the trick!

great to know that!


text:
Remote factory reset and changing Google password
In case I ever lose my Nexus 4 phone, I've opened to the Google Settings app, then tapped "Android Device Manager" and from there, I've enabled both "Remotely locate this device" and "Allow remote factory reset."
Then I can use Android Device Manager online from anywhere to ring or reset the phone.
My question is: in the event my phone is stolen/lost, I'd probably change my Google password so the phone can't sync any more while I attempt to find it. If I change my Google password and then reset my phone after that, will the remote wipe still work since the Google password changed?
Note: I have 2-factor auth enabled, but keep in mind my phone and the apps in it are already authenticated.

Why not do a remote wipe, then change your password locally (on your PC)? When you wipe, I assume they can't access your Google accounts anymore.

In case I merely lost my phone, and I happen to find it un-attended and un-accessed just a few hours later. In those cases, a reset isn't necessary and might destroy any data on the phone that doesn't get synced.

Why not for sake of it, activate 2-step authentication on your Google account?
And just use the random generated password instead, be sure you have enabled Google to SMS you for any login attempts on your Google account, and keep your real password hidden. That is what I use here, where-ever I log in, I get an SMS direct to me, asking to enter the verification code, no one else has it.
Also, it would be easier to just revoke it from your Google Account settings page, i.e. access denied.
I use a spare, crappy phone that I carry with me everywhere, zero chance of anyone trying to steal it, that receives the Google SMS notification, and yes, its a dumbphone :)
Edit
To clarify: Your account on the device is called a Application specific password. See the Revoke beside each application specific password.
In event of phone or should I say, device getting lost/stolen, its a matter of simply clicking on it. That is what I was referring to, in my case, I have the application called "My smartphone google account signin", and if it gets lost, I click Revoke, even after factory reset, data is wiped cleanly for my peace of mind.
I still have my laptop as my authorized login, that is, I can use my real password on the laptop, everywhere else Google is accessed, is using the random generated password. And if I was to login on another computer using my real password, the verification code gets sent to my dumbphone which I check and use.

2-factor authentication already enabled. Problem: Android device already authorized to access Google account, and 2-factor authentication only protects new logins. Could you elaborate on revoking privileges from Google Account settings page? Also, I appreciate the alternative ideas, but I still would like my actual question answered.

OP: Right, then I think you should re-edit your question to include the fact that 2-step authentication is activated in your case.

Android Device Manager makes it easy to locate, ring, or wipe your device from the web.

So, your question here is:

in the event my phone is stolen/lost, I'd probably change my Google password (...) will the remote wipe still work since the Google password changed?

What I find somewhat confusing is:

Your assumption is that the remote wipe no longer works if the account password has been changed. Why do you assume this? This seems like a huge oversight in the design of ADM, so I don't see why it makes sense to assume this is true without proof. If anything, I think the opposite seems more reasonable to assume given no actual evidence. I encourage you to try it out if you'd like to find out for sure.
If we assume for the sake of argument that ADM can no longer wipe a device if the account password has been changed — still, I don't believe this to be true, and if you can prove it, it should definitely be reported as a bug (and if it's not a bug, at least there should be warnings plastered all over the place) — why even take the chance? If you wipe your phone before changing the password, this whole concern is a non-issue, right?

Let me know if I am missing something here, but I don't see how anyone can give a meaningful answer to you, except if anyone is willing to try the validity of your claim (which you can also do yourself).

Yup you can't wipe after changing password,
But if are going to do so then do remote wipe and change it.
It requires hardly any time to do this,
After reset your account will no longer be used with device,
If you change password before resetting he can have access to your old data which ware there before resetting the password..

Do you have a source or anything you could add to your post for a little extra validation?

You cannot wipe after password change, you can't even download an app until you insert the new password. But why would you want to change the password in the first place if you would want it to be synced on the phone? I mean the thief then could still use it as normal if the password would sync automatically.

I don't want the new password to sync automatically. If I understand how the system works, when you change your Google password, you have to re-enter it on your device manually.

yes, I have specified that you can't do anything on your phone until you insert the new password

Then I don't understand your question: "why would you want to change the password in the first place if you would want it to be synced on the phone?"

You sayd that you would change your password so the phone won't sync and then you want to remotely wipe your data, witch is a sort of sync.

I never thought of wiping/erasing the phone as a sync, but I guess I learn something new every day...

wiping/erasing is not a sync, it is an operation that you want to do on a device, the command to do it is a sync, you synchronize the command to wipe the phone(in your case, but it can be any command from rebooting a phone to sent a tweet), so you synchronize the command and the phone executes it. So if you change the password, you cannot synchronize that change(if you could it can be dangerous), you manualy have to do it( that is to enter the NEW password on a device) so you can synchronize commands again. So it is easy to see why you could not wipe your phone after changing the password.

If someone find your mobile and try to restore mobile. He need to enter your new google password. He can not bypass FRP lock without new password.
You can factory reset mobile. Use mobile or computer which you have used. You need to enter your password again.
Two factor verification use your email and mobile.

Some phones may be bypassed with no problem - you just need to launch settings from a USB-OTG cable/drive, do the factory reset in the Backup settings and clean up all data related to Google accounts. After that you should do the reset again and FRP will be reset. So you will have an opportunity to use your phone like a new one. Read more here http://www.flexihub.com/remote-android-factory-reset.html

source: Stack Exchange

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

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

sort: votes


text:
Disabling MTP/PTP/all USB stuff except charging
Is there a way to disable all USB functionality except for charging? I don't really use MTP or PTP and would like to disable it if possible.

Go to Settings → Storage and tap on the overflow menu in the top right (on a device with a physical menu key, you may need to press that instead). This should bring up a menu item labeled "USB Computer Connection":

Tap on that, and it will give you a list with possible connection modes. Uncheck everything that you don't intend to use. On my N5/CM11 there are only two options on this page: MTP and PTP. Unchecking both causes the phone to simply charge when plugged into a PC. I have seen others that have an explicit "Charge Only" option, but I believe that is nonstandard.

Note also that PTP must be ticked for tethering to be offered, either via USB or Bluetooth.

@andybjackson That has not been my experience at all. I never use PTP, but I certainly use USB tethering from time to time. Also seems odd that tethering over Bluetooth (a wireless protocol) would somehow depend on PTP.

If I untick both, ADB stops working as well (LG P880 running CM11/Android 4.4). If one of them is ticked, I always get two popups on my PC when connecting the cable (asking to mount the MTP storage). Drives me crazy. Whish there were an explicit "charge only" as it was with "older versions".

@Izzy They actually ended up adding "charge only" to AOSP in 6.0, and made it the default: http://www.androidcentral.com/inside-marshmallow-usb-connection-options

I'd be happy with that default actually (if it works, see: “adb devices” gives “no permission” when on charge-only) – but I agree the user should be able to chose what fits him/her best.

Clicking that just say "Usb is now disconnected". Clicking it again says the same thing.

On a Samsung Galaxy S5, this option is located at Settings → System → Developer options → Debugging → Networking → USB configuration.  Change it from "MTP (Media Transfer Protocol)" to "Charging".

The most device-compatible way to disable everything is to run this command at startup or set this in your build.prop:
setprop persist.sys.usb.config none

which is equivalent to charge-only on all Android devices.
That also disables adb. If you use adb regularly, then:
setprop persist.sys.usb.config adb

will allow adb when developer options are turned on/checked. If you don't use ADB often, I would not recommend it, because setting adb causes my S5 to still recognize in device manager, even when it is locked.
To restore original functionality,
setprop persist.sys.usb.config mtp,ptp,adb

allows all USB protocols.
Hope this helps anyone Googling for an answer.

Have you verified that these commands would work without root access?

People who have custom recovery can apply a changed build.prop without root. Those who have locked bootloaders & no recovery will need root permissions.

On Android 5.1.1 (CyanogenOS 12 on a Wileyfox Swift), using setprop persist.sys.usb.config adb lets adb devices show ????????????    no permissions. Played with all combinations – no way to get "charge only + adb". Must be "x,adb" (with x=mtp or ptp) to work at all. To restore, in terminal I needed root. The notification menu just grayed out when I tried re-enabling MTP from there.

even if it's not in startup it works, and it even persists between reboots. (becuase of the persist.xxx.yyy.zzz thanks

click 5 times  on SETTINGS>ABOUT PHONE>MODEL NUBMER
then DEVELOPER OPTIONS will be added in main settings (in bottom). Enter there and choose USB SETTINGS> CHARGING|MTP.

(Source)

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


text:
Can tablets advertised with Android 4.1, 4.2 or 4.3 be updated?
I'm looking to buy an Android tablet, but most give specific versions of Android and of course I want the latest version. It seems odd to me why it matters. Can't I just update the OS to the latest once I get the tablet? The fact that companies always advertise the Android OS version makes me think it can't be updated. Is this the case?

You could also have a look through some our questions that list devices that are known to have updates available (though those are just the devices that we've looked for or noted, just because a device isn't doesn't necessarily mean it doesn't have updates): When will my device get the Android 4.1 update (Jelly Bean)? and the questions for other versions linked frfom there.

Your tablet will come advertised with the version of Android it carries in the box. When they make it they don't know what versions will be released, obviously. The packaging and advertising will say Ross Tablet comes with Kitkat 4.4. That doesn't mean I won't update my hardware with a newer version of Android, but it means there is no guarantee I ever will.
There's nothing that says explicitely it CAN'T be updated, unless the hardware is insufficient to run a particular build. JellyBean was heavy on resources but KitKat is much lighter. It would depend on this also.
Either they didn't update their advertising and/or they didn't update the device. There is no hard fast rule.
Updates to Android itself are creted by Google, then released to the OEM. The actual updates to the device are dealth with by the OEM (manufacturer) and released by them IF they decide they want to. This is after they skin it (Touchwiz, Sense, MotoBlur etc), test it and make whatever changes they decide. This is why I have a HTC on 4.1 and another on 4.4 here.
Each manufacturer has it's own unique hardware, as does each device model. There is no concept of a 'generic' Android ROM across devices. The hardware and software for it (e.g. the OEM's camera) is closed source and ROM developers have to use their own Kernels and work arounds to get these installed on the various devices.
You would need to check on a device by device basis. Google should tell you the answer, but XDA Developers is also a great resource.

So if I understand you correctly, the manufacturer of a device has to release the update, not Google? It seemed odd to me, because it's not like you see iPhones advertised with an older OS even though some undoubtedly have them until they're updated.

@at. Edited my answer. Google release Android itself, then the OEM skin it, modify it, test it etc then release to your device (UNLESS it is a Nexus device). Apple have ONE type of phone running ONE OS version so they can always say iOS7 is out.

Also don't forget about vendor/device specific hardware, which again Google cannot take care of (specific closed-source camera modules etc.). This is also why you cannot simply take a "general ROM" and put it on any device: there's no such thing as a "general ROM" (or "generic Android build").

@Izzy thanks very much added a line to the answer on this!

If you want a tablet that gets the newest updates on time, get the new nexus 8 that will be coming out soon. There isn't really any reason to get another type of android tablet (although some of Samsung's new stuff is compelling) since nexus products generally have excellent specs and cost half the price. However, even if you want to go with another manufacturer, there is a pretty vibrant community of people on the Internet who prepare updates for various android devices that you can flash onto your device yourself. I bought a $150 Chinese tablet last year and was able to get the newest version of android on it even though the manufacturer never would have rolled out an official update. Happy traveling in android tablet land!


text:
Barcode scanner and touch keyboard in Android
If I connect the barcode scanner via blue-tooth with my Android tablet, the soft keyboard will be switched off and I can not visible the keyboard any longer. I have to disconnect the barcode reader first. Is there a way to use both (barcode scanner and touch keyboard)in the same time?

Your bar code is being recognized as Physical Keyboard. Hence the soft virtual keyboard on your android is been disabled..
Option 1: Try manually checking the keyboard setting after you connect the bar code reader.
Go to Settings -> Language & Input -> and check if the keyboard options are disabled and if so, try enabling them.
Option 2: Go to Settings -> Language & Input -> Keyboard ( & input methods) -> and check for "USE PHYSICAL KEYBOARD" and put it to "off".
If the above doesn't work, can you send the Phone model and Bar Code Model.

Yes, it was helpful, but I noticed it's doesn't work with any keyboard software. In my case I had to use a japanese keyboard and only the Google one works as well.

I'm not sure if your device supports "Android L Keyboard". You can give a try. Search in google play for "android L keyboard"..


text:
Internal storage missing: Nexus 7 16G down to 5.8G TOTAL
My Nexus 7 now believes it has only 5G internal storage. It's shown in storage properties.
I noticed it after factory reset, and then a 4.3 update (I remember getting 4.3 OTA update twice, is it possible?)
I installed ClockworkMod recovery (back when it was on 4.2), but never rooted it.
No storage space analyzers show hidden files or such. Rebooting doesn't change anything.
I found /sdcard/0 directory with a content of my previous sdcard before a factory reset, deleting it freed some space, but total is still at 5.8G.
I found one complaint about a similar situation, but it's drowned in a simpler problems and was never answered.
df output:
Filesystem               Size     Used     Free   Blksize
/dev                   487.4M    32.0K   487.3M   4096
/mnt/secure            487.4M     0.0K   487.4M   4096
/mnt/asec              487.4M     0.0K   487.4M   4096
/mnt/obb               487.4M     0.0K   487.4M   4096
/system                639.8M   515.7M   124.1M   4096
/cache                 436.0M     7.3M   428.7M   4096
/data                    5.9G     2.7G     3.2G   4096
/mnt/shell/emulated      5.9G     2.7G     3.2G   4096
/mnt/asec/com.teslacoilsw.launcher.prime-1     2.0M    84.0K     1.9M   4096
/mnt/asec/com.loudcrow.goodnightmoon-1     5.0M     3.4M     1.6M   4096

cat /proc/partitions output:
major minor  #blocks  name
   7        0       2111 loop0
   7        1       5229 loop1
 179        0    7467008 mmcblk0
 179        1      12288 mmcblk0p1
 179        2       8192 mmcblk0p2
 179        3     665600 mmcblk0p3
 179        4     453632 mmcblk0p4
 179        5        512 mmcblk0p5
 179        6      10240 mmcblk0p6
 179        7       5120 mmcblk0p7
 179        8        512 mmcblk0p8
 179        9    6302720 mmcblk0p9
 179       32       2048 mmcblk0boot1
 179       16       2048 mmcblk0boot0
 254        0       2110 dm-0
 254        1       5229 dm-1

mount output:
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,seclabel,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,seclabel,relatime,mode=600 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
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/secure tmpfs rw,seclabel,relatime,mode=700 0 0
tmpfs /mnt/asec tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
/dev/block/platform/sdhci-tegra.3/by-name/APP /system ext4 ro,seclabel,relatime,user_xattr,acl,barrier=1,data=ordered 0 0
/dev/block/platform/sdhci-tegra.3/by-name/CAC /cache ext4 rw,seclabel,nosuid,nodev,noatime,errors=panic,user_xattr,acl,barrier=1,nomblk_io_submit,data=ordered 0 0
/dev/block/platform/sdhci-tegra.3/by-name/UDA /data ext4 rw,seclabel,nosuid,nodev,noatime,errors=panic,user_xattr,acl,barrier=1,nomblk_io_submit,data=ordered 0 0
/dev/fuse /mnt/shell/emulated fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
/dev/block/dm-0 /mnt/asec/com.teslacoilsw.launcher.prime-1 ext4 ro,dirsync,seclabel,nosuid,nodev,noatime,user_xattr,acl,barrier=1 0 0
/dev/block/dm-1 /mnt/asec/com.loudcrow.goodnightmoon-1 ext4 ro,dirsync,seclabel,nosuid,nodev,noatime,user_xattr,acl,barrier=1 0 0

Did you ever resolve this? I have the same problem on the same device: 6.02GB total after a reset and upgrade (to 4.4.3)

Nope, I'm stuck with it. I planned to reflash by wire, and maybe take a look at partition table, but never had time for it.

Can't say I figured it out, but I got it working, see my answer.

I had the same issue on my N7.  The answer for me was to lock the boot loader, then unlock it again.
Hope this helps and saves some time instead of flashing the entire OS.

I had the same problem as OP flashing to 4.4.3 on a Nexus 7 16GB (2012).  My total storage as reported by the storage module of the settings app was like 6GB and running df from BusyBox/adb was reporting the same.  This is clearly a partition table problem and not hidden files or anything else.  I think that the problem was caused by several failed/aborted flashes that I did.  I was able to fix it by reflashing from adb.
In other words, I downloaded the latest image, decompressed it, and ran the flash_all.sh script.  (Of course after running adb reboot-bootloader).
For the record, I did NOT have to change the commands to fastboot format X.
It would be nice to understand this problem better but for the time being, going from ~6GB to >13GB of usable space is quite a relief.

If you download an external file viewer, root explorer, oi file manager .ect. Then go to dcim on the phone or external sd card and there most likely is a file that is unknown when you click it and usually has several hundreds of megabytes take up on it, you can just delete it, also, it shoulf say thumb data

No. I said there are no hidden files and storage analyzers don't find such. And this won't decrease TOTAL storage volume. Thanks for your answer though.


text:
How to change the interface or positions of the home and back buttons after updating a Galaxy Tab 2 7.0 tablet?
My Samsung Galaxy Tab 2 7.0 downloaded an update.
Now, the buttons (home, back) on the bar are in the middle. Previously, they were postioned left. It's really uncomfortable. It seems that I received the "mobile user interface" instead of the tablet interface.
How to do I change this?

On my Nexus 7 (now dead), the position of the home button was also in the middle. Position was the same regardless of orientation (portrait / landscape). I think this is the position for the latest vanilla Android.

You can root your phone and install a custom ROM. Also, there is an app called Full!Screen for rooted phones I believe. It let's you remove the buttons and then reposition them. Not sure if it's the right app. Otherwise.. Just search the Play Store for root apps related to buttons

Google migrated to using the mobile interface for tablets in android 4.2
You will not be able to change to the previous button arrangement on your stock ROM.
You could root your phone and install a custom ROM such as paranoid android to get back your old button arrangement.
Hope this helps.


text:
How do I Delete the 5.0.1 OTA Update on my Rooted Nexus 4?
A while back I rooted my phone with the stock 5.0 image, and was then pestered by the OTA 5.0.1 update that came shortly after.
Research led me to find a way to disable the event listeners that pop the notifications -- FANTASTIC!  This worked for months...
Today, Snapchat decided to reboot my phone (as it regularly does) in a spectacular fashion that included a long vibration while the screen went dark.   Since my phone's come back online, the "System Update Downloaded" notification is sitting at the bottom of my notification tray; something that wasn't there before.
I've dug through my event listeners and confirmed the correct ones are still disabled, but now I'm hunting for a means to delete the downloaded update so as to remove the notification (Hopefully?)...
Most of my search results show the files should be .APK files in the /system/apps folder, but I have a /system/app folder -- no /apps.  Another post mentioned they'd be in the /cache folder --- they are not....
Does anyone know where these OTA Updates are stored on Lollipop 5.0 so I can nuke 'em?
Thanks in advance for your assistance!

I'm fine staying with 5.0 --- I don't want to redo everything and set it all back up, which I understand is required in order to update a rooted device.
I want the 5.0.1 downloaded update to be deleted, which I understand will delete the notification.  The "Update Available" notifications are disabled; somehow the update downloaded, and now it's letting me know...  Where is the file, to delete?

So, turns out disabling the Google Play Services notifications did it...  I was looking for it earlier, but the instructions were different from the articles I was reading.

I totally agree, Pete -- I don't want to disable ALL the notifications for Google Services... Just the "You have an update waiting to be installed" one (which is actually different text).  It seems like deleting the downloaded OTA update should remove the notification, but I don't know what file I'm looking for, and I'm leary on just nuking files willy-nilly.
I figured someone would know something, somewhere... Here's where I posted first.

So, back to the original question then:
Does anyone know where these OTA Updates are stored on Lollipop 5.0 so I can nuke 'em?

Just download an factory image From :
https://developers.google.com/android/nexus/images
Steps :

1.Unlock bootloader
2.root phone
3.flash new image
4.lock Bootloader

How do I uninstall the Android update 5.0.1 back to 5.0?
hope this helps.

Not at all helpful, but thanks.  I figured out how to flash the necessary partitions to update to 5.0.1 without losing data, from a rooted OS.

Resolved by successfully updating to 5.0.1 without losing my data: http://aaronhastings.me/updating-to-android-5-0-1-on-rooted-nexus-5/


text:
Pendivre USB OTG on Nexus4?
Does Nexus4 supports a use a USB pendrive (up to 64Gb)?
If yes, with the USB OTG is I can navigate in the folders of the pendrive from the smartphone?
Is it possible to copy file from pendrive to N4 and from N4 to pendrive?

Nexus 4 does not officially support USB OTG. But rooting and modding the software can do the trick. Here's a handy guide I found!

The Nexus 4 doesn't officialy support USB OTG. It is possible with a custom kernel. But for this you need to unlock your bootloader.


text:
Wi-Fi sleep policy when mobile networks are turned off
I have a fairly expensive data plan and I don't want my phone to use any of it, so it turned off mobile networks in Settings. When I access the Wi-Fi sleep policy setting, it says it switches to mobile networks when wifi sleeps.
Is that really the case? Does wifi sleep policy override the setting that disabled mobile networks, and eventually use them?

Just some confusing wording.  What they mean is it will turn WiFi off, and the handset will fall back to using cell data (if available).  It won't actually enable the cell data.

According to my experience, it does not turn mobile networking on. I have Android 2.2 on HTC Desire HD.


text:
Give fake permission details to apps on Xperia X10i
Because of the recent update to Google play stores permissions, I wish that as apps can access very personal information, I want to deny permissions to the apps, but as I have heard that this might cause them to crash, I want to give fake data to the apps Eg. IMEI = 0123654789, so that the apps do not crash.
I am running the Xperia X10i original stock ROM, rooted. I want to do it without flashing a custom ROM.
I appreciate any help.

What you're looking for is called permission manager. There are several of them available; just check the linked list, and also the links to further information following it. Furthermore, a look into our permissions tag-wiki gives you good hints.

@Izzy I want an a that will not deny the rights but give fake information to the apps, because of the risk that they might crash. Do you know anything like that?

Just follow the link. With Android < 4.1, I use LBE Privacy Guard (with 4.1+ it just causes boot-loops). The linked list also has references for most apps to reviews etc. you could check. Alternatively, ask your question at Software Recommendations, but make sure your question meets the quality guidelines to not be closed straight away ;)

@Izzy It seems that LBE Privacy guard can only deny permissions, not give fake permissions to apps. Do you know how to make it give fake data eg: IMEI is 01234567890, Network not connected, GPS location in the Sahara etc...?

It works for me. No app ever crashed for "revoked permissions". And I'm using LBE for several years already. I guess while the toasts show something like "rejected SniffingApp IMEI access", LBE in fact did mean "rejected access to the REAL IMEI, gave it a fake instead" – which would be a little long for a toast :)

@Izzy I agree and you were right. Could you please post it as an answer. An app didn't crash yet.

Done, and added some more details. Enjoy!

What you're looking for is called "Permission Manager". While Android itself does not (yet?) provide such itself, there are several of them available, my list holds some of them.
There are different approaches. While some simply "deny access" (which might cause an app to crash, if the dev didn't take "revoked"/"not granted" permissions into account, and didn't place an exception handler for those cases), the majority rather replaces "real data" by "fake ones". Examples:

network access: "we are currently offline"
contacts, calendar: "the user has none" (empty list)
IMEI: "0123456789" (sometimes a total random number on each call, but other times a random IMEI is generated after each boot)
location: "not available" (location services deactivated) or "fake location" (e.g. north pole; some apps even allow to set your desired "fake location" and simulate movement in a specified radius)

A selection of popular "Permission managers" includes:

PDroid/OpenPDroid: Effective, but hard to install. Both require root and deodexed ROM, AFAIK OpenPDroid is even limited to cyanogenmod
LBE Privacy Guard: proprietary solution made in China, which might raise some eyebrows. Works great up to Android 4.0; don't install with higher versions as it will only stick your device in a boot-loop then. Root required.
LBE Security Manager: Successor of Privacy Guard, works with all current Android versions. Playstore version is in Chinese only; patched versions are available at XDA for other languages. Some feel this one a little overloaded, as it wants to be an all-in-one security suite covering a lot of stuff not everybody needs. Root required.
Xprivacy: A module to the Xposed framework. Gives very granular control, but other than LBE you cannot configure it to "ask everytime" whether access should be allowed (a feature I love about LBE). Root required.
App Ops: With 4.3-jelly-bean, Android had some permission management integrated but hidden from the user. There are several "App Ops" front-ends available, not all of them require root. Not all of them keep working with 4.4-kitkat, though, where this feature was "better protected". Not that granular, but much better than nothing if your device is not rooted.

Above mentioned list holds several more, but these are the best known. I personally use LBE Privacy Guard on my devices running 4.0 or lower. No app ever crashed on me for "disabled permissions", so LBE IMHO uses the "fake permissions" approach. Same AFAIK applies to the other solutions I've mentioned here.


text:
What is AwesomePlayer?
In looking in my logs I see AwesomePlayer running. I am currently not playing any media, so I'm wondering what it is, and why it's running. My device is a Samsung Galaxy S3.

AwesomePlayer is the built-in media player, part of Android's media playback engine.  It's also referred to as the Stagefright player.
You may be seeing the player's entries in the log while not playing any music or videos, because it handles all media playback, including ringtones and notification sounds.

Thank you for answering the what - how about the why? Any idea why it would be running and creating so many logs when I'm not playing any media and no apps are running in the background.

It handle all media, including ringtones and notification sounds.

Yup, AwesomePlayer handles literally all media.


text:
What is the diff between the Media transfer protocal and Picture Transfer Protocol
After connecting my device for data transfer the device asks for mode of USB transfer MTP or PTP.
I googled it and found that MTP(Media transfer protocal ) and PTP(Picture Transfer Protocol) are some sort of protocols for data transfer but didn't get why is it been used as we can transfer data easily with the previous USB mode as an external storage device.
The new USB device modes is somewhat complex for me to understand as I am used to data transfer only as an external storage device but not any PTP or MTP.
Which mode is suitable for what kind of data transfer?

MTP is the better option in most cases, since the protocol is actually designed for this use.
PTP is offered as an alternative since Macs don't understand MTP by default (you need to install "Android File Transfer" on the Mac to make MTP work). This protocol was designed for PCs to access photos from digital cameras, so it can only access the photos on the phone, and it might trigger a photo management app on the PC instead of a file manager.
To learn more about why MTP was introduced, see my answer to Why is Android File Transfer necessary?

What's an "extended storage device"? Also, if you have a new question, click the Ask question button to ask it.


text:
How to quickly lock the screen?
If you leave the android phone idle it will lock the screen, so you need draw lines in the dots to unlock it.
But I need quickly lock the phone when I will put in my bag, by example. Basic phones I simply hold the # or * button and the keys will lock.
How do I do to get this in android phones?

Press the power button on the device. All phones should have them and they are usually the buttons that lock the screen as well. If you happen to not have a lock button you can change how quickly Android will lock the screen on idle in settings. The way to change this varies from different flavors of Android.


text:
Delete a specific web page from history in Firefox Aurora for Android?
Is there a way to delete a specific site visited from the browsing history without needing to clear it completely?

Do you also use Firefox for PC?

Yes, I do. And I use Firefox Sync

You can only delete specific visited pages while going through the complete browser's history.
I asked because you can't actually delete any visit while they are filtered out by a search query. I think this should be allowed as a feature because if you had a big history you would need to spend an unimaginable amount of time to delete a very old entry while browsing it completely.

The file places.sqlite stores history information. I suppose that if you manage to delete the entries you want from there and then sync your changes then these entries won't show up in your history. Here is some info about editing this file

You can actually delete sites from the desktop without any hacks. But, I imagine that Android app will always have the visited site in its local database and re-sync it back to the desktop.


text:
my mail won't show after upgrading to 4.0.4
After upgrading my Samsung galaxy s2 to android version 4.0.4 my mail won't show in the default mail app (cant find out the name!). I only get a dropdown bar -- but when I clicked it, the arrow points below, but it doesn't "dropdown" ;(
How can I get my mail shown?
Here is a screen-shot of my mail app.

Where do you expect you mail to be shown? What place are you talking about? Please update your question so one can follow your steps -- without that information it is hard to help.

I updated my question....

Yepp, that should fit. Now people owning an SGS2 could look it up. "Default mail app" is precise enough, if you mean the one that comes pre-installed.

Yes, the pre installed mail app...

Does anyone knows how to fix this, or do i have to wait till the next update arrives to my s2?

I deleted my @Hotmail account, and then re-added it, but still the same problem!?.... HELP?!!!

Update to latest Jelly Bean

@Peter Not yet available. for Samsung Galax2 S2.

@blade19899: For GT-I9100 (international version) it is. Also did you do a full wipe when jumping from GB to ICS?

@Peter No, i haven't wiped this phone, since i got it.

Have tried to clear data and clear defaults on the application menu?

When chaging Android major versions, GB to ICS or ICS to JB or even GB to JB, its advised to do a full wipe, since many old files from the previous version might collide with the new Android version.
Since you haven't done it, I suggest you do the following:

Backup all your phone's data with either Titanium Backup or a Nandroid backup if you have a custom recovery installed.
Get your phone to recovery mode and wipe all data (factory reset). If you have a custom recovery you can wipe /system, /data and /cache.
Once clean, reboot in download mode and use Odin to update to 4.0.4 (or 4.1.2 if you have the international version GT-I9100)
Reboot and enjoy a clean installation of ICS/JB.

Don't assume that the person posing the question is rooted, and don't form your answer accordingly. As the question is posed, your answer should detail how to do this in Samsungs official application for backups and upgrades.


text:
How can I use Google Play without storing any Google account information on my phone?
I am using HTC Wildfire handset, but I think following question applies to all Android-based handsets.
My Google Account has been added under
Settings
-> Accounts & Sync
--> Google (under Manage Accounts)

When I click on "Google", I get following options
Sync Contacts
Sync GMail
Sync Calendar

In Accounts & Sync option, I have turned off (unchecked following options)
Background Data
Auto sync

NOTE: I have turned off Background Data, and Auto Sync before adding my Google Account.
I want to get apps and games from Market, but I don't want to sync any of my Google Account data with my phone i.e., there should not be any traces of my Google Account in my phone.
How can I do it?

An old question, but it may nevertheless still be helpful to link to mine. I'm taking the approach of using Google for the market (very handy) whilst rooting+firewalling to prevent my data going to the cloud. I've not done it yet, but will update that Q if I do.

Beyond what you've already done, you can't.  The Market requires you to have your Google Account added to your phone, and this naturally stores data such as your email address even if you don't sync email.

oh :(

A good way to bypass most privacy concerns you may have would be to create a second Google account, putting as little information into it as possible, and using that for your phone.

@I-M-JM: or you can bypass Android Market altogether for your software needs; there are quite a few alternative Markets that are not linked with Google's Android Market at all.

I second Matthew, make a second "throwaway" gmail account.  But you'll lose most of the perks of Android (syncing email, calendar, etc.)


text:
What ROM will turn my Verizon HTC One M8 into the same thing as the unlocked dev version?
I have an HTC One (M8) from Verizon, but I don't live in the US.  I'd like to find a ROM that will make my phone have the same settings as the unlocked Dev Version that you can buy directly from HTC.
I tried searching the XDA forums, but I do not understand most of the features described by the various roms, and they all seem to use code names and jargon.  Which ROM will just give me a simple clean install as if I had bought the unlocked dev version?

This looks like what you want. Basically, any ROM that says it's a "GPe" rom or a "Google Play edition" rom will be what you're after. To get the Google Apps you'll need to flash a GApps package such as the ParanoidAndroid ones - you can just choose the "stock" package. Flash those after flashing the ROM and you'll have a pre-rooted, dev version ROM.

Thanks. Does this mean that I won't get updates when new versions of the OS come out? I'll have to find roms and download them again?

@avi yep you'll get a notification of an update but you can't install it. You need to install a new  ROM each time. It's... tedious.


text:
Unable to add account on android 6.0.1
I have an old android tablet - Asus/Google Nexus 7 (2013) - which I would like to use with Touch Portal. The tablet was factory reset several years ago and has, I believe, the latest release of Android (6.0.1) that was officially released for it.
I've tried a couple of times to get signed in to my Google account on the device. It prompts me for my username and password and then appears to hang - currently over 24 hours as I write this.
I have a feeling that this is caused by 2 factor authentication which I have enabled on my account - the default of which is a security key, specifically a Yubico Yubikey 5 NFC.
I once saw a message about using a security key so I have attempted to use it via USB and NFC. When I tried this last time via NFC, I saw a new login in my Google Account at the same time but the screen still hangs.
I'm not prepared yet to disable 2 factor authentication (albeit temporarily) quite yet but may consider it if there really are no other options.

UPDATE Here's the confirmation that my Yubikey was used during the attempt to login despite nothing showing on screen prompting such action and nothing happening afterwards.

What does your "recent Google activities" at https://myaccount.google.com show?

@Robert It's not showing anything related to the login and I'm unable to find it again now!

I would assume that your main problem is that the installed Google services have not yet updated itself. Make sure the tablet is always on and connected to a Wifi with full Internet access and wait a few hours (up to a day). Usually google services should install latest update.

And... I can't update them via Play Store unless I add an account!

As far as I know the play services update themselves independently of a logged in Google user. The only problem is that you can't trigger the update manually instead you have to wait that it happens automatically.

Okay, I'll leave it a bit then and see if it updates. It's currently on Version 8.1.22 (2959233-436). My Pixle 5 is on Version 21.02.14 (150400-352619232)

Thanks to @Robert who pointed me in the right direction.
Unfortunately Google Play services didn't update itself automatically even though it had been on for a couple of days. So... I resorted to downloading a recent version from apkmirror, found the right version for the 2013 Asus Nexus 7 (armeabi-v7a, Android 6.0+, nodpi).
It took a minute or so to install but it was successful, after which I attempted to login again. This time, after entering my password, I was prompted to choose how I wanted to use my security key to login. Chose NFC, and I'm in.

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


text:
SMS Problem - Moto G update 4.4.4
A problem appeared in my Moto G after the update to 4.4.4. Hangout app stop work with SMS. Beside that I can't activate the factory SMS app.
I tried to install some alternative SMS apps and all of them crash when I try to send some message.

If I send a normal Hangout everything works flawlessly, but if I select the SMS functionality the app crashes.
I check the Logcat and this exception is raised:
07-14 14:09:29.970: E/CallISmsApp(11124): android.telephony.CallISmsApp$NeedRetryException: getService ISmsApp is null!
07-14 14:09:29.970: E/CallISmsApp(11124): at android.telephony.CallISmsApp.getISmsApp(CallISmsApp.java:63)
07-14 14:09:29.970: E/CallISmsApp(11124): at android.telephony.CallISmsApp.calculateLength(CallISmsApp.java:133)
07-14 14:09:29.970: E/CallISmsApp(11124): at android.telephony.SmsMessage.calculateLength(SmsMessage.java:302)
07-14 14:09:29.970: E/CallISmsApp(11124): at com.google.android.apps.babel.views.ComposeMessageView.a(SourceFile:82)
07-14 14:09:29.970: E/CallISmsApp(11124): at com.google.android.apps.babel.views.ag.run(SourceFile:190)
07-14 14:09:29.970: E/CallISmsApp(11124): at android.os.Handler.handleCallback(Handler.java:733)
07-14 14:09:29.970: E/CallISmsApp(11124): at android.os.Handler.dispatchMessage(Handler.java:95)
07-14 14:09:29.970: E/CallISmsApp(11124): at android.os.Looper.loop(Looper.java:136)
07-14 14:09:29.970: E/CallISmsApp(11124): at android.app.ActivityThread.main(ActivityThread.java:5086)
07-14 14:09:29.970: E/CallISmsApp(11124): at java.lang.reflect.Method.invokeNative(Native Method)
07-14 14:09:29.970: E/CallISmsApp(11124): at java.lang.reflect.Method.invoke(Method.java:515)
07-14 14:09:29.970: E/CallISmsApp(11124): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
07-14 14:09:29.970: E/CallISmsApp(11124): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
07-14 14:09:29.970: E/CallISmsApp(11124): at dalvik.system.NativeStart.main(Native Method)

I never developed something using SMS but it seems the service is inactive. That means the problem is with my SMS functionality of the device, not the Hangout. And before 4.4.4 all was well!
How to resolve this issue?

I see this issue quite frequently.  Hangouts will crash if you disable stock Messaging app, but you can't re-enable the Messaging app if you've disabled it before upgrading the OS.
In order to resolve you need to go into Settings -> Apps, tap the three-dot menu button, and select the "Reset app preferences" option:

This re-enables all previously disabled apps, including the ones you couldn't re-enable before.  Hangouts should also stop crashing now.


text:
I have duplicate contacts, Google Contacts not helping!
I have several contacts in my phone which are duplicates. For example I have one contact "John Smith" which contains my friend John Smith's phone number. Then I have another contact name JohnSmith87 which is my friend John Smith's email address. And then I have another contact called JohnSmithin which is my friend John Smith's skype account. I'd ideally like to merge all of these into one contact. I tried Google Contacts, but when I searched, only contacts with a phone number stored in them would show up. Please help!

I have a quick step-by-step guide to help you "join" your contacts - in other words, take two separate contacts and make them one!

Open the People application.
Navigate to one of your duplicate contacts (any one will do) and tap it to open it up.
In the top-right corner, tap the 3 dots. This is the settings menu. Select "Edit".
Again, in the top-right corner, tap the 3 dots. Select "Join".
Android will now ask you to select which contact to join this contact with. Select one of the other duplicates of this contact and Android will join the contacts into one contact!

Rinse and repeat until all of the duplicate contacts have been "joined" into one single contact.

I don't think this applies to the Google Contacts app for Android.

About Google Contacts, are you sure that JohnSmith87 (the contact with no phone number) is not in the Other Contacts section?
If that's the case, you can select the contact, click the "Add to my contacts" button and than go back to My Contacts section.
Now you have both contacts and you can select them and merge.
I find much more easy and quick to manage my contacts from the web than from my device.


text:
World Of Tanks Blitz is not on Google Play Store
I am very new to Android ecosystem.  I can't seem to locate this game title on Play Store.  Should it be on Google Play Store?

This question appears to be off-topic because it is about trying to find a non-existent app in the Play Store.

According to the game's official website, it's available "exclusively on iPhone, iPad, and iPod Touch". The developer has chosen not to release an Android version.
They may do so at a later date. Often with mobile games, the developer will release on one platform first (usually whichever they're most familiar with) to test how much of a market there is for the game, before porting it to the other platform.

A simple search on the play store gave no results for such a game. If it actually does exist on android, it may not be compatible with your device and therefore won't show up in your play store search results. Only apps that are compatible with your device are shown.
Isn't world of tanks a computer game? Note that not all high end desktop and console games are on android.
EDIT: As the best answer explains, this game isn't available on Android. That means that my answer is irrelevant. However, if you ever have a similar issue in the future, this may still come in useful.


text:
Send tweet automatically using an Intent?
I'd like to send a DM automatically from Llama. Llama supports Intents, but I can't work out how to send a tweet via an Intent in the background. Is this possible?

It's unlikely that any Twitter app offers a way to do this. In general, intents are used to start an action that requires user interaction to complete, or at the very least ask you for confirmation.
If an app offered a way to send a tweet automatically via an intent, it would also have to require the app sending the intent (Llama in this case) to have a permission created by the app handling the intent (the Twitter app). Otherwise, any app on the phone could send tweets without your knowledge or permission. Llama would have to be written to ask for this permission, and since it isn't, it wouldn't be allowed to send the intent anyway.
Alternatively, it would be possible for the Twitter app to offer such an intent, but ignore the intent unless it was sent by Llama (or better yet, using a configurable list of allowed apps). This is how many apps' Tasker integrations work. Since this is a pretty niche need, I don't know whether you'd be able to find an app that works this way. You might find that there's an app written this way specifically to act as a Llama plugin.


text:
Can't get file to copy from /sys/ on rooted Android
I'm currently rooted  on a Samsung S3 i9300 running a custom rom on Kitkat 4.4.2
I use es file explorer to perform root tasks on directories and files, I wanted to permanently turn off the led lights on my phone's hardware softkeys as I don't use them anymore.
I read somewhere on xda developers that changing the numeric string 255 in the max_brightness file to 0
in /sys/class/leds/mmc1:: and
/sys/class/leds/mmc2::  should do the trick.
I have "root explorer" on in Es file explorer and have the right permissions to copy the file over to my SD card but I kept getting a task failed error in the app.
I then decided to go hardcore by using the terminal emulator app from the play store using the Linux command line syntax.
I was able to copy the file over to my SD card but something strange happened, the original file according to es file explorer was 4kb in size while the file copied to the SD card was 2 bytes in size..
I'm really puzzled, is there a better way to copy files from the root directories?
PS: The "mmc1::" and "mmc2::" folder icon has an arrow shortcut icon next to it and I've always been able to copy other files from root directories using es file explorer until this particular file.


text:
Upgraded Galaxy S III to 4.0.4, can't drag app to taskbar anymore. How can I enable dragging again?
I upgraded my Galaxy S III to Android 4.0.4 last night and now I can't drag apps to the taskbar anymore.
Is there a setting I can change to be able to drag apps to taskbar again?

According to the User's Manual, there isn't a setting that locks the Primary Shortcuts.  So I would suggest turning the phone off and then restarting it.
Here are the instructions from the User's Manual for Adding and Removing Primary Shortcuts.  Perhaps there's a step here that you've missed.

You can change any of your primary shortcuts with the exception of the
  Apps shortcut. The primary shortcuts are the bottom row of app
  shortcuts that remain static on all home screens (by default Phone,
  Contacts, Messaging, Internet, and Apps).

Note: Before replacing a primary shortcut, you must first add the replacement shortcut to the Home Screen.

Press to display the main Home screen.
Touch and hold the primary shortcut you want to replace and then drag it to an empty space on any Home screen.
Scroll through the Home screen to find the shortcut you want to add as the new primary shortcut.
Touch and hold the new shortcut and then drag it to the empty space in the row of primary shortcuts.
The new primary shortcut will now appear on all Home screens.


text:
Why has the photo gallery sorting changed after firmware update?
Now the photo sorting in each gallery begins with the first taken one. Before the firmware update, it had begun with the last taken one, so with the latest. Even the Gallery sorting is made by earlier creation. My phone is Galaxy Mini and I upgrade from 2.3.3 to 2.3.6. I could not find any settings to change the "direction"

Humble question: what is "shorting"? Do you mean "sorting", i.e. the order in which pictures are displayed?

Ah, OK -- thanks. The answer I have to leave to somebody else, as I rarely use the gallery and thus did not notice...


text:
where can i find settings for wifi internal scan period
I have already found some guide related to this. But my experience is that if wifi.supplicant_scan_interval = 15
my device scans for wifi with 60s period
so I dont think that this is the right parameter for that. Any suggestions?
Edited: here is my build.prop:
# begin build properties
# autogenerated by buildinfo.sh
ro.build.id=GRK39F
ro.build.display.id=GRK39F
ro.build.version.incremental=eng.paul.30092011.041430
ro.build.version.sdk=10
ro.build.version.codename=REL
ro.build.version.release=2.3.6
ro.build.date=Fri Aug 30 04:14:55 EDT 2011
ro.build.date.utc=0
ro.build.type=user
ro.build.user=paul
ro.build.host=paul-VM
ro.build.tags=test-keys
ro.product.model=U20i
ro.product.brand=Sony Ericsson
ro.product.name=mimmi
ro.product.device=mimmi
ro.product.board=mimmi
ro.product.cpu.abi=armeabi-v6l
ro.product.cpu.abi2=armeabi
ro.product.manufacturer=Sony Ericsson
ro.product.locale.language=en
ro.product.locale.region=US
ro.wifi.channels=14
ro.board.platform=msm7k
# ro.build.product is obsolete; use ro.product.device
ro.build.product=mimmi
# Do not try to parse ro.build.description or .fingerprint
ro.build.description=passion-user 2.3.6 GRK39F 189904 release-keys
ro.build.fingerprint=google/passion/passion:2.3.6/GRK39F/189904:user/release-keys
# end build properties

#
# ADDITIONAL_BUILD_PROPERTIES
#
keyguard.no_require_sim=true
ro.ril.hsxpa=2
ro.ril.hsupa.category=5
ro.ril.def.agps.mode=2
ro.media.dec.jpeg.memcap=20000000
rild.libpath=/system/lib/libril-qc-1.so
rild.libargs=-d /dev/smd0
wifi.interface=wlan0
wifi.supplicant_scan_interval=15
ro.ril.def.agps.mode=2
ro.ril.def.agps.feature=1
ro.opengles.version=131072
ro.com.google.locationfeatures=1
ro.com.google.networklocation=1
ro.ril.enable.a52=1
ro.ril.enable.a53=1
ro.media.enc.file.format=3gp,mp4
ro.media.enc.vid.codec=m4v,h263
ro.media.enc.vid.h263.width=176,640
ro.media.enc.vid.h263.height=144,480
ro.media.enc.vid.h263.bps=64000,1600000
ro.media.enc.vid.h263.fps=1,30
ro.media.enc.vid.m4v.width=176,640
ro.media.enc.vid.m4v.height=144,480
ro.media.enc.vid.m4v.bps=64000,1600000
ro.media.enc.vid.m4v.fps=1,30
ro.media.dec.aud.wma.enabled=1
ro.media.dec.vid.wmv.enabled=1
ro.media.dec.aud.divx.enabled=1
ro.media.dec.vid.xvid.enabled=1
settings.display.autobacklight=0
media.stagefright.enable-player=true
media.stagefright.enable-meta=true
media.stagefright.enable-scan=true
media.stagefright.enable-http=true
keyguard.no_require_sim=true

#MT and LCD
ro.sf.lcd_density=120
qemu.sf.lcd_density=120
ro.product.multi_touch_enabled=true
ro.product.max_max_num_touch=2

dalvik.vm.execution-mode=int:jit
dalvik.vm.heapsize=32m
ro.compcache.default=0
ro.rommanager.developerid=cyanogenmod
ro.url.legal=http://www.google.com/intl/%s/mobile/android/basic/phone-legal.html
ro.url.legal.android_privacy=http://www.google.com/intl/%s/mobile/android/basic/privacy.html
ro.com.google.clientidbase=android-sonyericsson
ro.com.android.wifi-watchlist=GoogleGuest
ro.setupwizard.enterprise_mode=1
ro.com.android.dateformat=MM-dd-yyyy
ro.com.android.dataroaming=false
ro.config.ringtone=MiniCM7Pro.mp3
ro.config.notification_sound=DontPanic.ogg
ro.config.alarm_alert=alarm.ogg
ro.modversion=MiniCM7 Pro V16 Pre-Final
ro.setupwizard.mode=OPTIONAL
net.bt.name=Android
dalvik.vm.stack-trace-file=/data/anr/traces.txt

#SEMC
persist.service.xloud.enable=1
persist.service.swiqi.enable=1
ro.semc.timescape_keys=Sony_Ericsson_Xperia
ro.semc.sound_effects_enabled=true
ro.semc.xloud.supported=true
ro.service.swiqi.supported=true
ro.semc.batt.capacity=950
ro.semc.batt.test.consumption=150
ro.semc.batt.test.z_threshold=50
ro.semc.batt.test.min_level=60

Edit2: The scanning period is depending on the connectivity as well. Means if the phone establishes a WI-FI connection, then the scanning period will be different from the wifi.supplicant_scan_interval. Also when the phone get into idle state (around 10 mins of inactivity) the scanning period will be 10 min.

Look at post #4 of that guide you have enclosed in your question.

Have I missed something else not mentioned in my question?

Are you rooted? Do you have access to /system as rw? Can you paste in the full contents of build.prop into this? Does your Wifi driver have the capability to set the scan interval via build.prop? Also, point to remember, 60seconds is better and less taxing on the battery instead of 15seconds!

@t0mm13b yes, the phone is rooted, build.prop is added. Actually I am writing an app using wifi, and i measured the scan period which was 60s. Yes it better then 15, but I would like to know where this 60s comes from. thanks

This property comes from during build-time and is extremely, dependant on the wifi driver, for each and every device tree that gets integrated into the build of Android, there's what's called an overlay, this overlay may contain extras pertaining to the said device in question.
In fact, its rather, an XML document that gets parsed during build and "overlays" or "overwrites" the standard Android defaults, such as animation speed, etc.
This pertinent information of this comes from the device's overlay/frameworks/base/core/res/res/values/config.xml which contains the very exact line:
<!-- Boolean indicating whether the wifi chipset has background scan support -->
<bool translatable="false" name="config_wifi_background_scan_support">true</bool>

From that, that is telling the build, to say, that the property wifi.supplicant_scan_interval is supported and can be used dynamically from the build.prop file found in the /system directory, which in turn, is read from the Android's native binary executable wpa_supplicant.
However, it must be said, it depends on the Wifi Driver to support that, and how much integration of the Wifi functionality is within the frameworks. To find the exact source can be found in external/wpa_supplicant/wpa_supplicant.c, around lines 2459:
#ifdef ANDROID
    char scan_prop[PROPERTY_VALUE_MAX];
    char *endp;
    if (property_get("wifi.supplicant_scan_interval", scan_prop, "5") != 0) {
        wpa_s->scan_interval = (int)strtol(scan_prop, &endp, 0);
        if (endp == scan_prop) {
            wpa_s->scan_interval = 5;
        }
    }
#endif

default here on Gingerbread is 5secs, again the mileage will vary depending on the version of wpa_supplicant used, there was two versions, wpa_supplicant_6 which was broken under ICS, and the newer version wpa_supplicant_8, despite saying that, it may no longer be supported now with the newer releases.

Thanks for the detailed answer! However I cannot find these files your are mentioning: so what is the exact path to the .c file, and .xml? I am using Root explorer, but no overlay/ and no external/ folder in root

It is in the AOSP source code, you are not going to find it in Android ROM that you have currently in your handset, the details mentioned above would be if and when the AOSP source gets pulled down to your machine prior to building Android.

So what I understand is that Wifi scan period time can be 60s even wifi.supplicant_scan_interval = 15. And I cannot check it, just measure the exact time?

If the build.prop has that property in place but does not actually scan for that specified period, the binary  executable in Android, wpa_supplicant is not patched in to have the capability to read that property from build.prop. BTW to make it clear, its stated build-time meaning before compiling Android which is what my answer is pointing out.

so if this is the case, then I cannot modify the scan period, right?

That is dependent on if the Android binary executable wpa_supplicant is patched in or not! For all you know, it could be ignoring it and not care whether its specified in the build.prop... :)

Since my settings is 15, but the real value is 60 then I assume that I cannot modify it - am I right? asking again, or maybe I should try to modify to 30, and see what happens.

Assuming the binary is not patched in, then you cannot modify it.

and the only way is to figure out whether is patched or not is to try modifing the period via wifi.supplicant_scan_interval, right? - last question

Try it! :) One thing, if you do see that it does not work, then make a backup copy of the binary, if you intend to copy it elsewhere from another ROM for example, that could break the wifi functionality due to that binary, not knowing how to bring up the Wifi, as it may not have the chipset driver compiled into it, based on the actual Wifi chipset used in your device!


text:
How to auto switch on/off precise location automatically, programmatically for Google Maps?
Is there an am command line or similar that permits do turn off/on Google Maps precise location?
Ideally, could be a wrapper script in shell to enable precise mode, then when quitting maps, setting back to disabled mode.
Or maybe an am command to save settings states before/after use.
Any hint please? Open to alternatives way.
Searched web + here with no good answer.

As a starter, with a rooted device, it's possible to do something like:
#!/system/bin/sh

# Check if the device is rooted
if [ $(id -u) -ne 0 ]; then
    echo "This script requires root access."
    exit 1
fi

# Retrieve maps's pid
mapspid=$(pgrep -f com.google.android.apps.maps)

# Check if precise GPS location is enabled
is_enabled=$(settings get secure location_providers_allowed | grep 'gps')

if [ -z "$mapspid" ] && [ ! -z "$is_enabled" ]; then
    # maps is NOT running and precise gps is enabled
    # Disable precise GPS location
    settings put secure location_providers_allowed '-gps'
else
    # maps is running
    # Enable precise GPS location
    [ -z "$is_enabled" ] && settings put secure location_providers_allowed '+gps'
fi

This can be put in cron every minutes or every 30 seconds.
Another solution would be to use a wrapper script to run Maps, then when launched, put setting back to 'not precise'.
Untested.


text:
Is it possible to disable USB tethering from command line?
I try to be able to stop USB tethering.
I tried:
adb shell am stop com.android.settings/.TetherSettings # Unknown command: stop
adb shell am kill com.android.settings/.TetherSettings # nothing
adb shell service call connectivity 33 i32 0 s16 text  # works

Latest works, but I don't know if it's very reliable like am commands
Related, but the opposite, Is it possible to activate the "USB Tethering" Android setting from the command line?

You can run this command:
adb shell svc usb setFunctions

This should reset the USB mode/configuration to charging only.


text:
How to enable/disable lock screen from shell script when a special wifi SSID is present?
My Java skills are low, but I'm mastering shell.
Is use LineageOS 14.1 (forked from cyanogenmod).
I would like to create a shell script on a rooted devive to enable/disable lockscreen (PIN).
I would like to unlock my screen at home when a special SSID is present.
I'm able to discover my known network by running :
#!/bin/bash

iw dev wlan0 scan | grep MY_SSID

Now, is there a command line to disable/enable the PIN based lock screen depending of the output of this command please ?
Maybe something based on
am <something> <stop|start>

Tried to make a diff from ps with and without lockscreen, but I only have cyanogenmod.snap as diff, tried to kill the process, but still the lockscreen.
Any hint please ?

Not directly answering you but this is trivial with Tasker: https://forums.androidcentral.com/ambassador-guides-tips-how-tos/562081-how-tasker-marshmallow-unlock-when-connected-wifi.html

Thanks but I prefer a CLI or free solution, I don't have play store to buy paid apps. There's  another apps like this, but seems not trusted sources and weird warnings/limitations

The script below is a partial solution. Partial because it will not disable the Pin. What it does is to wake the device up when it is connected to a chosen wifi, input your password and unlock it.
#!/system/bin/sh

mySSID="no wifi present"

connected_wifi()
{
    #Get the network
    mySSID=`dumpsys netstats | awk -F '[/=|,]' '/iface/ {print $8}' | head -1`

}

echo 'Start running script\n\n'

connected_wifi

while true
do
#Check if connected to wifi or mobile data. If connected string is not empty
    if [ "$mySSID" != '' ]
    then

        if [ "$mySSID" == "YourHomeSSID" ] #connected to home wifi
        then

            echo "Connected to $mySSID\n"
            #Check if the screen is on or off
            screen_status=`dumpsys power | awk -F '[/=]' '/Display Power/ {print $2}'`

            if [ "$screen_status" == "OFF" ]
            then
                echo 'The screen is off, Will now input the password'
                #Press the power button to switch the screen on
                input keyevent 26
                #Simulate swipe up gesture
                input touchscreen swipe 320 940 320 100
                #Input your PIN. Change XXXX with your PIN
                input text XXXX
                #Simulate OK/Enter
                input keyevent 66

            fi

        fi

    fi #not connected to wifi nor mobile data

    #Wait for 3 seconds, then check again if connected to home wifi
    sleep 3
    connected_wifi

done

The main disadvantage of the script is that the screen will be on nearly all the time when connected to your home wifi. To stop the script from running, press CTRL+C from the terminal.
My phone doesn't have iw command. I had to use dumpsys netstats to get the networkID.


text:
Polish layout for physical USB keyboard in Oreo
Up until Android 8.0 / Oreo (haven't got chance to test this issue under 9.0 / Pie) there is no Polish layout for physical USB keyboard and writing Polish national letter (i.e. using Right Alt key) is not possible in Android with physical keyboard connected through USB and micro USB OTG cable.
Is there anything I can do to resolve this problem? Some option for installing missing layouts?
Supporting, OT and philosophic question: Is this some kind of political isolation of my country by Google / Android developers or an ostracism? I have carefully checked that there are keyboard layouts for each and every neighboring country that surrounds Poland -- i.e. German, Czech, Slovak, Ukrainian, Latvian, Lithuanian and Russian. But there is no for Poland.
EDIT: This question is about Motorola Moto Z2 Play, which has an unmodified, stock version of Android 8.0 Oreo and such version doesn't have "Polish" physical keyboard layout. This question does not deal with devices provided by any other manufacturer, with modified Android, where "Polish" physical keyboard layout can be available.

Try installing my application Extra Physical Keyboard Layouts.
It adds multiple physical keyboard layouts, including Polish (Programmers).
No extra permission needed.
No screen of its own either. It just adds layouts next to the already existing ones. You can find them under system settings.
Please let me know how it worked.

Hello Darie. I suppose you forgot to disclose [your affiliation] that you are the developer of this app. I have made the edit to reflect that.


text:
Google Play incorrectly detects, if application is installed or not
td;dr: I see "Installed" button on many applications at Google Play which I never installed on any of my devices and which are not installed right now (happens only through website / PC). In addition, I have to login each time I click such "Installed" button even though I'm already logged-in.

What's wrong with Google Play application's installation status:

each time I browse some application, I can clearly see "Installed" even though this is not true (I don't have particular application installed on any of my devices and I never had it installed),
each time I click this button, I must login, even though I am already logged in to Google Play (and even though I was logging-in again just a 15 minutes ago, while installing previous app),
after I login I see the list of devices on which I can install given application (because it is not installed on any of it so far), but in the background there's still "Installed" button clearly visible.

How it is possible that 10+ years old Google service fails at it's very core -- i.e. providing me with the information what is or what isn't installed on any of my devices?
And why do I have to login again, even though I did it 15 minutes ago and even though I see my avatar and account information in the top-right corner of the webpage all the time.
EDIT: The described problem occurs when browsing Google Play via browser (PC) only. It never occurs when using mobile version of Google Play service.

Do you also see the Install button if you use Google Play from a PC?

Sorry, for missing a very important information. Please, read the edited question.


text:
Change language in Google Maps app
I would like to have mobile Google Maps' content on my Moto Z2 Play in different language (Polish) than rest of the system (English). Is this possible? If yes, then how to achieve this?
Based on my research and previous tries, I managed to:

change language of audio guidance in mobile Google Maps to Polish,
change content in desktop / PC version of Google Maps to Polish (even though my Windows 10 and Google Chrome runs in English).

However, I can't / don't know how to change content's language in mobile Google Maps.
Edit: An answer suggested by Robert is out of option in this particular case, because it requires device to be rooted. I don't have an ability to root the device for which I want Google Maps to run in a different langauge than the rest of the Android system.

In the end I assume the answer is identical to this question: https://android.stackexchange.com/questions/29124/change-language-for-one-application-google-now-voice-recognition-root-availabl

Can you define contents in this case? Is it the streets' names or Google maps' interface? Or something else?

Everything that can be localized in the whole Google Maps application. Starting from maps and their content (street names, cities etc.) ending up in user interface. In particular I am looking for something as obvious as most applications have -- meaning to be able to select in-app language. In case of most of applications it can be different than the system language. In case of Google Maps, Google again knows better and always offers Google Maps in system-default language only.


text:
Get rid of Messages' notifications when application is connected to a PC
I am using and very enjoining the fact I can connect my base Android Messages application to its web counterpart on my PC and get much more flexibility in writing and managing all my SMSes.
But, I am pretty much irritated that it displays so many notifications about the fact that it is being connected to this or that PC:

I think that I see it dozen of times:

daily, each time I start a PC,
each time I restart my browser and
even each time my Messages application / mobile phone looses and regains connection to the Internet and thus Messages application and its browser counterpart reconnects each other.

Is there any way to disable this pseudo-security messages?
I can't find corresponding configuration option in either Messages application on my Android phone or in its web counter part. And I am afraid to force-block notifications from this mobile application in my Android settings becuase I think that I will loose all the notifications from it, i.e. not just those about being connected, but also notifications about received SMS message.
The same goes for notification about using mobile plan, in web counterpart:

Is there any way of getting rid of it permanently or do I have to close this nag everyday, every time I restart my browser?

For disabling first notifications (i.e. the one that appears on the phone when it is connected to PC) one must:

tap such notification (or select Messages for web from three-dot menu in Messages application),
tap three-dots menu and select Notifications and
uncheck Show presistent notification option.

As for disabling second notifications (i.e. the one appears in PC / Chrome / web browser version of Messages for web, about phone using mobile data) this is most likely solved in the Google-way.
Thus there is no way to disable this because Google thinks that you must see this and doesn't actually care what you really need or want, sorry.


text:
Why Google is sending SMS messages to me?
I have just received a SMS message... from Google (?):

What is this? Does this mean that some "bad guy" has my phone number and is playing some nice tricks with me, pretending that he is a Google? Or is this truly a Google-originating message?
Why there is a garbage in the message content? Could this be some Asian or otherwise ideographic language's characters which encoding got lost during transmission through my cellular network?

Since this looks like from Messages app (by Google), probably an SMS message to activate the RCS service (i.e. the Chat feature) which consists of 6-digit number and sent by Google, though I don't know why the encoding is broken...


text:
Any way to root a crushed phone and get encryption file from it?
tl;dr Is it possible to root an Android 8.0 phone that is accessible only via USB? Is it then possible to extract encryption .key file out of it in order to decrypt its SD Card that was formatted and encrypted as Adoptable Storage? Can all of this be done with not functioning, broken screen?

There is a lot of good quality guides here on how to encryption .key file from /data/misc/vold folder and use it to decrypt Adoptable Storage on any Linux-based computer. But all these guides assume that you have:

rooted phone,
access to phone's screen.

Your phone must have screen operable to either:

install and use some app on it: here or
confirm some dialog on it, unlock screen lock, if accessing it via USB: here or here.

Can the very same process be achieved if my phone have a screen in pieces?
Can I:

root a phone and
copy encryption .key file from /data/misc/vold folder after rooting,

when I only can access my phone via USB? Assuming that screen cannot be used at all.
My Motorola Moto Z2 Play is now in pieces after a car run over it. Screen is in pieces, battery is separated. Mainboard seems in one piece and I think is functioning. Whenever I attach USB it seems to be starting up.
Is there any way to get encryption key file from it, doing this totally remotely (via USB)? Or attaching a new, functional screen is an absolute must in this case?
EDIT: The phone in question is Motorola Moto Z2 Play, which started its history with Android 7.0.0, then went through A7.1 and landed finally with Android 8.0.0, updated about 1+ year ago. All versions of Android on this phone seems very close to stock one, as in most Moto phones.
Based on this article, I believe there's a FDE / full disk data encryption implemented there.

Is your device protected with a PIN code or password? If yes try to attach a keyboard via USB to unlock the device.

couldn't find any loader for XT1710. please try the Lenovo.mbn and go as far as you can get, see section Qualcomm Devices and try to flash stock recovery according to your ROM version (for testing purposes only), should not harm anything (which XT1710-xx do you have? there are many) also not sure if M8953P is compatible with M8953??

regarding the offset you should figure out with gdisk -l gpt.bin (or dump it straight from device) https://forum.xda-developers.com/t/q-extract-partition-img-using-qualcomm-edl-mode.4001287

there is a product on ebay.com but i am curios your device is not listed on http://mhltech.org you should ask the seller if your device supports MHL out of the box. you still won't get your encryption key but it will make things easier once you find working firehose programmer. consider buying new display it's maybe same price

search for collections like
romprovider.com,
firmware27.com,
leakite.com,
github.com,
tuserhp.com,
firmwarego.com


text:
Why I don't need to provide boot-time PIN anymore?
tl;dr: I have my Motorola Moto Z2 Play / A8.0 encrypted and I was forced to provide PIN during very early boot phase of my phone. Since about 1-2 weeks ago -- when my phone had a one-time accident of very long boot -- Android stopped asking for that PIN at boot time. How can my phone be still encrypted and no longer need that PIN to decrypt itself?

About 2-3 years ago I have encrypted my Motorola Moto Z2 Play (now with Android 8.0). I used the same PIN for the encryption process, so starting from that moment, I had to use PIN three times:

boot (encryption)
startup (SIM card PIN) and
startup (fingerprint unlock).

About 1-2 weeks ago my phone hanged badly. After force-restarting, it needed about 20-30 minutes (!) to actually start.
From that moment on, I am no longer needed to enter PIN to decrypt phone and start Android. The first time, I now need to provide it, is when unlocking my SIM card.
My phone was not reset after that one-time very long boot accident. After it finally got up, I had everything in places: all apps, accounts, settings etc., nothing changed, reset or removed.
I have double-checked that my phone is still encrypted:

There was no system update (phone stays at Android 8.0.0 from 1+ year and probably forever), no new application installed and no change in system configuration for long months.
My phone uses fingerprint + PIN screen lock. PIN in numeric, four digit.
From this answer:

If the phone boots up without asking for a password, it is most likely not protected by encryption in the way you would expect. In theory, it might not be encrypted at all (...).

This answer explains that:

The best way to tell if your Android device is encrypted (and the encryption is actually in use) is to reboot it and see if it asks for a password/PIN with a prompt on a black screen that says: "To start Android, enter your PIN" (...) The lack of prompt means the master key is not encrypted".

I don't see such prompt, so I now know that my master key is not encrypted (while the file system itself seems to be encrypted -- above screenshot). But this answer does not explain how / why my master key was encrypted for 2-3 years and stopped being encrypted two weeks ago after a very long boot accident / force-reset.
So, why or when my Android 8.0.0 can decide to decrypt my master key and no longer need me to enter startup PIN to decrypt it?

Comments are not for extended discussion; this conversation has been moved to chat.

In the settings where you choose a new PIN/pattern/passwords it said something like 'Because you enabled an accessibility feature you're PIN won't be used for enhanced encryption protection'.
I had to disable Lastpass auto-fill and my phone asked for my PIN at startup again.


text:
Certain "core" apps lost access to media files
At some point in time (about a week ago) something happened to my Motorola Moto Z2 Play / Android 8.0 that caused my base apps to not have access to my media files (i.e. audio, photos etc.).
Examples:

all my custom ringtones (i.e. based on my own media files) were reset to default sound:

Contact apps reset custom ringtones for contacts to default one,
Alarms & Clock app reset custom alarm tone to default one,
SMS (Messages) app reset custom message notification tone to default one,
system-wide default notification tone (set by me to custom) was reset as well,
system-wide default ringtone (set by me to custom one) was reset,

I cannot pick a photo for a contact because my contacts app keeps saying: "No pictures are available on the device".

While first situation is resolved. I see my custom ringtone files in the list and I can go through my contacts and assign them again. But second situation is not resolved. I see this error all the time and I cannot change any contact's photo.
This is verified as not a bug (tested three different contacts-like applications and all of them shows exactly the same message, when trying to change contact's photo). But still, it seems that problem is limited to contacts-related apps only. Other apps still has read and write access to my custom files.
For example: :

(read) I can pick any photo or other custom file and attach it to an e-mail, send it as MMS or share it in any other way or
(read) upload it to OneDrive or Google Drive etc. or
(write) my Camera app is still able to make new photos and store them in "DCIM" or
(write) my sound recorder is able to record sound and write audio files.

The only thing that has changed on my phone recently and that I suspect as the cause of above metioned situation was Android 7.1.2 --> Android 8.0.0 update.
Is there anything I can do (since replacing contacts app didn't resolve the situation) or check in this case? Or resetting the phone to factory defaults is the only option that I am left with?
EDIT: I have cleared cache and data of media app, as suggested in comment. It didn't help.

It seems your media store database got corrupted. Did you try clearing cache of Media Storage app and then forcing media scanning? Some details here: https://android.stackexchange.com/a/209119/218526

@IrfanLatif As in an updated question -- I did so and there was no effect. Plus, it seems that more apps were affected by the "reset custom tone to default one" problem.

• I think there are two options to change contact's photo- Take a photo and select a photo. Does the take photo option works. Or try changing the app to choose photos for changing the pic.
• If your contacts are backed upto Google then you can goto
https://contacts.google.com/ sign in with the account and can change the contcat pic.
Upvote if it helps.

Either I am missing something or you are answering a wrong question. Your answer belongs to my other question (here), about changing contacts photo. This question is about no access to media files by base apps.


text:
Is USB debugging needed when flashing stuff?
I mostly worked on Samsung phones, but I also had a shot on some cheap MTK phones.
Over the course of rooting/flashing roms/flashing kernels I built myself/using Odin (Samsung)/etc. on a lot of phones, not once did I need to change any USB debugging option, except on my first try when I was still new to Android.
But, once I began learning how Android works (and becoming an Android dev in the process), turning on USB debugging didn't make sense when interacting with the phone outside of Android, because as far as I know, USB debugging is only soft. That is, the phone hardware didn't care, but the OS requires it for debugging purposes (ADB access).
So, basically, when you need to flash something in recovery mode OR via a tool (e.g. Odin, Heimdall), you don't need USB debugging. But, when you are talking to the OS (logcat, etc.), USB debugging makes sense.
So, why do almost all of the online tutorials that I revisited require turning on USB debugging even though you're outside of Android? Is there something I don't know that needs it? Or are they naive and simply followed the leader (copy-pasted another tutorial into their own blogs)?

Interesting, I'm thinking it's just copy-paste, but I can't be sure about that, because I reboot to bootloader/recovery with ADB and therefore always enable USB debugging regardless of whether a guide tells me to do so. Then again, the majority of devices I tinker with don't need a guide at all (fastboot, TWRP, profit) XD

USB debugging is required when interacting with the running OS and apps within.
Outside, such as during flashing, one is not interacting with the OS, therefore it has no role.
As others have mentioned, enabling USB debugging for modifying the hardware (such as during flashing) may be a misconception and/or a result of copy-paste content creation.

It is never really required for anything related to flashing kernels and Roms. However, you can do other things with adb that are more related to modifying the existing system. However in the case of most tutorials, I think its what Andy Yan said, it's just for copy paste


text:
How to change contact's photo under Android 8.0
I am trying to change a contact's photo under my Motorola Moto Z2 Play / Android 8.0.0 (Security Patch July 2019):

Contacts >  (find a contact) >  (edit contact) >  (change photo) > Select new photo

and I am hit with an error saying:

No pictures are available on the device.

I don't understand this situation, because:

I have dozens of photos and pictures on this device, in "DCIM", "Pictures" and others,
I can change widget's icon without any problem (my launcher allows this),
I've been changing contacts' photos many times on this device.
I've managed to change contact's photo on other devices and Android versions (A9 and One),
I don't think this is due to SAF (details: here and here), because I am still on A8, not A10.

Since I did this last time a couple of months / maybe a year ago. The only thing that comes to my mind is that I did this last time under old, good Android 7.1.2. And the recent update to Android 8.0.0 maybe messed up something.
I have tried putting new photo into every folder that came to my mind:

root,
DCIM,
DCIM/Camera,
Pictures,
Pictures/Contacts (I've been using this one for years).

All for nothing. Always seeing this damn message.
I even went as far as:

Contacts >  (find a contact) >  (edit contact) >  (change photo) > Take new photo,
capture some test image,
use it,
see, where it is stored (turned out that in: DCIM/Camera, as expected),
remove it,
try again using "Select new photo".

My phone went as wako as allowing me to change the photo of one of contacts in the first place (i.e. after using "Take new photo"), stored it in DCIM/Camera folder and when I tried to use the very same photo from the very same folder, but using "Select new photo" instead, it again claimed that I have no pictures in this device).
Can anyone help me? How to workaround this problem? How to change contact's photo in A8?

Please, see the updated question. I will review your suggestion (i.e. installing "Local Storage" app), but I don't think it is going to change anything since SAF was introduced in Android 10 and I still have Android 8 (which shouldn't be aware of the SAF restrictions in theory).

Taking a shot in the dark: 1) Does the Contacts app have Storage permission? 2) Does it have a built-in file picker, or instead allow the user to choose which app to select the photo?

@beeshyams An update to your ideas: Still nothing. Seems to be another bug. Using "Local Storage" gave nothing (app can display images without any problems and claims that other apps also should be able to do this). Clearing the media storage app cache (along with data) and restarting this app and the whole phone gives nothing. Waited about half an hour for the index to be rebuilt. Running AZ Media Scanner also did nothing. App reported that scan is completed and that there are no .nomedia files in the folders of my interest. Thanks for trying to help. Seems like another stupidity in Android.

@AndrewT. I've been using this app, changing contact's images for 2-3 years now. The only change that could happen was update of my system from A7.1 to A8.0. It has all the permissions, it has a file picker. As I wrote in a question, I forced it to shoot a brand new photo and it allowed me to use it as a contact image. It stored it in DCIM/Camera. When I tried to do the same with stored images, it stopped seeing the very same photo, it did itself and claimed that there are no photos in the device. Looks like a bug.

Just to confirm it's a bug, try using a different contacts & camera app

This is not a bug. All three contact apps that I tested failed with the same error. Additionally, all my custom ringtones were reset to default one, as I have just discovered. This seems to be a wider problem, so I created a separate question for this and I am going to close this one --> https://android.stackexchange.com/q/226613/20449


text:
Disable location sharing's notifications in Microsoft Family Safe
I am a parent and I don't want to share my location. Is there any way to get rid of this damn nag:

Or am I forced to see it each time I open up the app.
Also I don't understand why am I seeing following notification each time I unlock my phone:

if I am NOT sharing my location.
I am running Motorola One (XT1941) with Android 10.


text:
Clear app default actions in Android 10
Mi App has silently taken over everything related to documents in my Gmail and printing in general in my phone. Whenever I do any action that is "an inch close to printing) then Mi App appears.

I cannot change it in the usual way because my Motorola Moto One / Android 10 (One) claims that Mi App has no defaults defined and so there is nothing to clear:

This is super-duper annoying because right now I am even not able to preview a .docx or .pdf attachment sent alongside some email, because each such tap instead of showing document preview, opens up Mi App claiming that there is no printer added.
How it is possible that some app is making some "silent" takeover of some action, without clearly showing this fact in Android's or app's configuration? Even more important -- how to get rid of this and bring the default action (of documents previews) to my Gmail?
EDIT: Since this is Android on board Motorola device, it should be very close to stack Android without any significant changes from Motorola side.

AFAIR, I never seem to succeed using the per-app "Clear defaults". I have to use "Reset app preferences" instead.


text:
Installing SDK on Windows 7
I have downloaded the SDK from Andriod site on a system where 32bit Windows XP is installed. Now I am trying to install this on system where 32bit Windows 7 is installed and this pc is without internet access.
The installer is not doing anything on double clicking on SDK Manager, no SDK Manager related Service is running on Task Manager. Can you please suggest me, what I need to follow to install Andriod on Windows 7?

First of all, try to download and install the SDK on a machine which is comparable to the target machine. In this case, install the SDK on a machine with Windows 7, and not with XP (Also, because XP is risky due to end of life)
Then copy the android-sdk-Folder to your target machine.
Then you should siply be able to launch it with a double-click on the SDK-Manager.
However, if this doesn't work, try to execute the SDK-Manager as "Administrator"
Also, if this fails, try to connect the Windows 7 computer to the internet and then download it properly as described here: https://developer.android.com/sdk/index.html
If this is also impossible, try to give aditional information (where do you have the SDK from? Is it the latest version? Where did you put it on the Target Machine? etc.)

Thanks, I did the same, downloaded it directly from https://developer.android.com/sdk/index.html in Windwos 7 and it worked. However root cause is unknown behind the issue.


text:
Google maps road names too small. Solutions?
My parents can't read the road names the Google maps app, and I can't find a way round it. (Should have gone to spec savers). I have tried using Google maps via Chrome and Firefox and their increase text size features but Google Maps ignores it.
Options are flexible as I have rooted the phone and am willing to load any reasonably well tested custom ROM.
I've tried countless map apps and they're all as hard to read, so I thought I'd ask as Google Maps has probably been hacked around with more than others

You can't change the text size in Google Maps, because the whole map, including the labels, is retrieved from Google's servers as an image. (In fact, they're lots of small images called tiles. For this reason, using a different app that embeds Google Maps won't help at all: they're all just displaying the same tiles.
If you want a map that looks different, you'll need to use an OpenStreetMap-based app. OpenStreetMap (OSM) is like the Wikipedia of maps: it's a free, open map of the world maintained and updated by volunteers. Since the raw map data are available for anyone to use, there are some OSM apps that generate the map image on your device, instead of downloading tiles from a central server. Such apps have more options for customizing the map to suit your needs, so while I don't know off-hand of one with text size options, this starting point might help you to find one.

I should probably ask this on stackoverflow, but could the tiles be enlarged? (i.e. accepting a pixelated image? simulating a lower resolution screen perhaps?)

I am sorry but you are wrong. The latest version of Google Maps (7.7.0) does not use tile-images only. The street names in my version move while zooming which indicates that they are not part of the map image.

This answer is well out of date, maps are vector rendered - that means the lines and text are drawn to suit on the device.

@O'Rooney This was four years ago. We don't typically delete old questions and answers, because some people may be stuck on the old versions. If you have a similar problem now, you're welcome to ask a new question specifying that it's for newer versions of Google Maps with vector rendering.

Try going into Settings / My Device / Accessibility and turning on Magnification Gestures.
A triple tap on your scree will enlarge what is there including text and then another triple tap will take you back.  While it is enlarged, you can scroll with one finger.
That's the best I've found so far.

This works.  Not sure why Google maps does not have a font size.

I also suffer from this problem hence the reason for trying to find a solution. I have just compared the results of Google maps with an app I downloaded a while ago and keep forgetting about. The result is not massively bigger road names / numbers but much easier to read. Bonus is that the maps are used offline, just need a gps signal to show directions instructions. Check out MAPS.ME I think it's really good and definitely reduces eye strain. Enjoy.
Osarchos

Just so you know, Maps.me is not using google maps but an alternative called Open Street Maps, which means it will typically not be as up-to-date or detailed (although occasionally it’s better!)

In my Samsung Galaxy 6 (Android phone), I went into the settings,  searched "FONT". Got 2 choices: type of fonts and size.  I changed and applied.
Now can see the writings on Google Map.

There is a way to enlarge the map that a lot of people are forgetting. You can take a screen shot and then enlarge the shot just like you can zoom in on any photo. Some people don't realize that you can do a screen shot of your phone by holding down the power and home screen button at the same time.
I know it isn't a "fix" but it does show you a copy of the map you can see.

@CarlosHathhock, That's all right, but that's not what the OP requires. Please try to help him and don't be patronizing in your answer.

I recognize the issue with Google Maps, l suggest this simple trick: When you find e.g. a road-name hard to read, just TEMPORARILY stretch out the map near the name with two fingers (but do not let go! ) , then easily read the name, and finally (even if just approximately ) draw your fingers back together to see the main map again.

This is an issue with the newer Maps (7 and above). You could try reverting to the version 6, such as 6.14.4

I solved this on my iPad by taking a screenshot and expanding the screenshot as much as I need to read the text and road numbers. Take fresh screenshots anytime, delete the old ones.