text:
Can apps know where you are even without GPS?
I've noticed that Google Maps, for instance, can guess where you are using phone towers or something even when GPS is turned off.
Does this apply to 3rd party apps? Can any app figure out where you are?
If so, are there large security implications there?
Basically as a developer, couldn't you build a background process that tracks every the location of every phone that has your app installed?

Apps can get your approximate location without GPS, but only if they have the "coarse location" permission.  The "fine location" permission lets an app get your GPS location too, if GPS is enabled.
When you an install an app, Android shows you the permissions it needs.  If you don't see coarse or fine location in the list, the app can't get your location.

Yes, but the application has to request the LOCATION_COARSE permission.
This uses a couple different sources used to find the approximate location.

Wifi access points: Google tracks the location of access points by gathering information about them when people have GPS on. Then they can use these access points to tell you where you are when you don't have GPS. You would have to have Wifi on in order for the device to use this method.
Cell Towers (tries to get at least 3, so it can triangulate the location, just like in the movies. Ok, this part isn't entirely true. They could use 2 towers (or even 1) to get your approximate location, but it wouldn't be nearly as accurate as 3.)

There may be other sources that are used, but I do not know of them, at least I can't think of any right now.

so really, there's no point turning GPS off for security? Apps like Facebook will be able to find your location regardless?

Turning off GPS prevents apps that have LOCATION_FINE from getting your precise location.  They're limited to your approximate location without GPS.

Does Android use IP geolocation at any level of permissions? This is of course, coarse, but if you have GPS and wi-fi off, it would still enable an app (or web site) to know your approximate location in many cases.

Any app that has Internet permission can potentially do IP geolocation.

An app with permission to use the internet could also approximate your location using your IP address even without any location permissions.

ip address will only tell the area or country, not the exact location. of  course, IP can be used to trace the exact location by the Internet service provider because they know which IP is allotted which user at any given time

You can restrict this information by adjusting you location settings i.e. under location services switch off the option to use wireless networks.
This should stop most if not all from reporting your current position.


text:
Google Android for Galaxy Note II?
Hey guys is it possible to get the stock android OS like on the Google Nexus and install it on the Galaxy Note II? I'm just tired of the bloatware and I also prefer the OS on my friends Galaxy Nexus much more.. I don't want to install a custom ROM but the same one that is used on the new Google Nexus 4
Thanks!

Related: How can I de-brand my phone? (install vanilla Android?), Where can I find stock or custom ROMs for my Android device?, Can you install vanilla Android on any phone?

I don't think there is any official ROM from Samsung for Galaxy Note that does not contain any of their framework application.
Your only option is to install custom ROM. CyanogenMod will be one of the best choices since it's build based on AOSP.

source: Stack Exchange

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

sort: votes


text:
How to sync ONLY some specific Picasa albums in Gallery app?
I have plenty of Picasa albums and I really don't want all of them to be downloaded into my Android phone.
So my question is how can we select to sync only some selected albums only?

I believe there is no such feature available. You can either enable the sync which will sync all your albums or to not to sync at all.

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


text:
Wipe data on wrong password inputs
I've found several obsolete answers, but this question about situation nowadays:
What's the most robust solution to have the device (Android 4.2-based) protected?

Turn on device encryption (there is only built-in storage, no SD-cards)
Set up password

But it's all makes not much sense without wiping the data after 10 (or so) wrong password inputs (like iOS does).
So any solutions to wipe after brute-force attempts nowadays?
UPD:
I've found there is a method in the API setMaximumFailedPasswordsForWipe() but is there a User Interface that calls that method?
UPD 2:
Hm, I'm surprised that people don't care of security much, hmmm. That's curious

You might want to take a look at Autowipe for that:

Use Autowipe to automatically and PERMANENTLY WIPE your internal and external data by doing a factory reset. Enterprise and business users should find this useful! This is meant to be used in case your device gets stolen, misplaced, or lost.
Automatically wipes for: failed passwords to unlock screen, SMS password received, subscriber ID changed (SIM card). Use the new integrated test mode to test all these cases. Locks the screen while wiping.

The app does not require root, according to its Playstore description.

(click to enlarge)

Yeah, actually that's the only app I've seen that does what I want. But it's not supported anymore, this makes me worry a bit. Haven't you personally thought of some app like that?

Not only me (but I'm not a programmer). In his book "Android Forensics and mobile security", forensics specialist (and chief investigator) Andrew Hoog even requests to have such features implemented into the core system, where it clearly belongs (though it should be the user deciding whether to enable it, he should have the possibility). And yes, this is also the only app I have found so far implementing this feature. Mightbe some of the Anti-Theft apps have it as well.


text:
Install custom rom ACE PLUS without voiding warranty
I read somewhere that we can install custom ROM in our devices without voiding warranty ace plus is not getting updates soon.
Is there any method by which  we can install that and please suggest a good custom rom.
thanks

If you live outside the EU, I very much doubt you can install a Custom ROM without voiding your warranty. For the other part of the question, please see Where can I find stock or custom ROMs for my Android device?

but i read somewhere we can install and something about counter and all i dont remember was written

and i went through this question but can't get a good custom from from these sites

The counter is one thing for tracking. But in case you "brick" your device, and have to turn it in to the service center without being able to restore to stock, an "untouched" counter doesn't help: service can clearly see the custom ROM. If they care, that is.

ok thanks @Izzy and can you please suggest a good custom rom coz i can't find a good 1

Sorry, I don't know one from my own experience (don't have this device). But you cannot have checked the list thoroughly: What about CyanogenMod for Ace Plus? Just try this Google Search for more hits ;)

thanks buddy but i tried and havent found anything good but thnx for your response..:)

Sum-up from the comments:
Warranty
First, at least as of today and outside the EU, it is not possible to install a custom ROM or even only root your phone without voiding your warranty. Even if it can be done in a way not increasing a (possibly existing) "flash-counter": In case your device "bricks" for some reason, not giving you a chance to restore to "stock", your custumizations would be found in the service center.
Existing Custom-ROMs
As said, here you might want to take a look into the question Where can I find stock or custom ROMs for my Android device?, which lists a lot of ressources where to find different Custom ROMs. A good choice might be CyanogenMod, which is e.g. dealt with in the XDA-Developers thread about CyanogenMod for Ace Plus. To find more details, you can simply use this Google Search.


text:
How to root my android phone?
How can I root my android phone ...
Please provide answer in easy steps ...
I am using ...

Samsung I9300 Galaxy S III
Android OS v4.0.4 (Ice Cream Sandwich)

If anyone know then share

please give more details like which S 3 variant you are using?

Exactly in the same name of your question there is another question. Have you seen whether your device is listed there?

Root Samsung Galaxy S3 should answer your question. Provides a solution for the i9300.

If I google "root samsung galaxy s3", all the results state the root procedure...

Step 1
Power off your Galaxy S3.  Then hold down Volume Down, Center Home, and Power buttons together until you see the warning screen.
Step 2
Hit Volume Up button to enter Download ODIN mode and connect a microUSB cable from your Galaxy S3 to your computer.
Step 3
Next, download GalaxyS3RootNew.zip, unzip the files and run odin3v1.85.exe by double-clicking on the file.
Step 4
When ODIN program opens, you should find a highlighted yellow box with a random COM number.  If you don’t see this, download and install Samsung USB drivers
Step 5
DO NOT TOUCH ANYTHING ELSE, hit “PDA” button and select the file CF-Root-SGS3-v6.4.tar.
Step 6
Hit “Start” button.  This will install ClockworkMod Recovery on your Galaxy S3 i9300.   If you get stuck on this step, just try a different USB port.
Step 7
Once ODIN is done flashing, you will see “PASS!” in green highlighted box.
Step 8
Your Galaxy S3 will reboot once into CWM Recovery and automatically install root and Superuser app.
Step 9
Once your phone reboots, you will find an app called “SuperSU”, this is your superuser app.
Step 10
Download and install Titanium Backup app from Play Store to verify you have root, a Superuser request window should pop up.
That’s it!  This should take you less than 5 minutes to do and does not affect your phone in any way but give you Superuser, root, and custom ClockworkMod Recovery.
You can find video and More details here
NOTE: I'm not resposible for any of your activities. Do it on your own RISK.

@MattLin I will try this, Thank you dear :)


text:
Error installing Android 4.2.2
I've received an OTA update to Android 4.2.2 (I'm currently on 4.2.1). However, whenever I try to install it, the process fails partway through. I get an android on its back and the message Error! Nothing else. The phone becomes completely unresponsive until I remove the battery. No buttons have any effect.
I don't know what's with those who don't provide any kind of diagnostic info in error messages. How can I install the update?
By the way, my phone, a Galaxy Nexus, is rooted. The system ROM should be stock except that I've integrated most updates into the ROM and converted aLogcat into a system app so it can capture logging data.

Which Android version is it currently running? Modifications to the /system partition (root, integrated updates) might prevent it from updating (if the update checks the CRC of the partition).

I'm currently on 4.2.1. Other OTA updates have worked OK. I think, though I can't say for sure, that the changes I've made occurred prior to updating to 4.2.1.

That should be a minor update, agreed, and usually not flash the entire partition. Though it might still check the CRC, not sure about that. Not having a Samsung GNex, I rather leave the answer to somebody who can tell first-hand.

I'm seeing the same error, the gnex is rooted, but stock, other OTA's worked fine. I've tried 3 times now, same result.

Just flash the system.img(one from 4.2.1) over your current system, also make sure you're running the corresponding recovery, radio, kernel, and bootloader that came with your takju/yakju factory image.
Do that and and try the OTA again, should work.
"Flashing system.img didn't wipe data/app"(Just backup if you are worried about losing data/app)
NOTE:You will lose root
or else try flashing 4.2.2 manually from here

How do I do this?

Use mobile Odin App. Its simple one.

Isn't Odin just for regular Samsung devices? Even though Samsung made the Galaxy Nexus, as a Nexus device it's quite different from a typical Samsung device. Also, isn't Odin Windows-only? All my computers are Linux; I don't have Windows or the ability to run Windows software.

You misunderstood. Mobile Odin is a Mobile App


text:
Installing Jelly Bean on Ice Cream Sandwich tablet
I just bought this China-made tablet, Ainol Novo Flame, and it has Ice Cream Sandwich installed on it.
Is there anyway to install Jelly Bean? I Googled some and couldn't find a good source. Do you know any? thanks
I hope this is the right place to ask. I'm new to android overall.

I'd recommend checking Where can I find stock or custom ROMs for my Android device?

Well I also happen to have a flame and I upgraded it to 4.2 Jellybean by following this LINK It is based on AOKP. Works well on the flame, and brings the much needed multi-user profile for family use. Hope it helps

This is the latest Official Ainol Novo 7 Fire JellyBean firmware (using the latest Android version 4.2.2):
Google Translation maybe required.

I read somewhere Flame and fire are identically have same hardware but a bit different software. do you think it could cause a problem?

@ePezhman To be on the safe side I would ask that at http://www.slatedroid.com/, a website very much into custom ROMs for alternative chinese tablets

@ePezhman I know that they give different names to the same tablet in different markets, should be identical, but just in case, always better to be safe.

Trust me it is the SAME. I have one and I know it. I also use the firmware interchangeably with no noticeable downsides. It is probably just a mistranslation from the distributors part, because you know its chinese.

@ePezhman Your welcome, hope that you enjoy it :)


text:
Screenshot with power + volume down, what's the trick?
I'm using a galaxy nexus.  I know the trick for taking a screenshot, with power button and volume down, but it's really flakey and only works some of the time for me (much less than half, maybe 1 in 10 attempts).
Even more annoying is that the volume down brings up a little dialog, and if I don't wait for that to disappear before I magically get the combination right, it often gets the volume slider into the screenshot.
I've tried holding the power button first, then pressing down.
I've tried holding the volume down first, then pressing power.
I've tried attempting to push them at exactly the same time (this one seems to work best).
Is there some sort of trick to this technique that I'm missing?

The timing is the trick. The Nexus is known for being a bit tricky here, see Can't take screenshots on Nexus 4.


text:
Insufficient storage with Link2sd
I finally got Link2sd to work. I have Nexus One with 168 MB of internal storage. After some linking, I ended with 41 MB of free space. Now I'm trying to install Swiftkey, which is 6 MB download. AFAIK, it's around 27 MB unpacked. Play Store says insufficient storage when installing.
What should I do? I need it! :)

Other items like your text/MMS messages do occupy vital space. Try clearing them or back up clear temporarily and bring it back after installation of Swiftkey.

Please follow the tag-link for insufficient-memory for details on this issue. In short: The "insufficient memory" error is triggered when free space on internal storage drops below ~25MB. Quick calc: 41MB - 6MB (.apk) - 27MB (unpacked) = 8. Clearly below the minimum required. Especially see: “Insufficient storage” when trying to install anything on htc thunderbolt

When playing with Link2Sd note that below each application you have:

APK size
Dex size
Lib size
Application Data size
Cache size
Total

When moving to SD card (APP2SD) only APK file goes to SD card, Dex and Lib remains in you phone memory. If you move those apps with Link2SD all files will be move to the external SD card increasing your phone memory a lot. Application Data size remains always in the phone memory so you may consider deleting this, just hold your finger and choose option to clear application data.
The last resort is converting some applications to a system apps which will move them to the separate partition releasing some memory.


text:
How can I undo the “Do Not Ask Again” for using my home screen wallpaper as my lock screen wallpaper as well?
I use an app called "Live Video Wallpaper" or LVW which is basically a live wallpaper that allows you to select a video as your live wallpaper.
I have no problem with it but I accidentally checked the "Do Not Ask Again" option when I was asked whether or not I'd like to use my home screen wallpaper as my lock screen wallpaper too before I pressed no.
Now I have the problem that I can't set my home screen as my lock screen as well. Before, I used LVW as my home then set my Galaxy S2 to use it as my lock screen wallpaper as well but now with the option set to "NO" and the default set to "Do Not Ask Again", I can't do it anymore since live wallpapers normally cannot be set as lock screens (LVW was my way to get around that).
Is there a way I can "Unset" that "Do Not Ask Again" option for using my home as my lock screen wallpaper as well? Sorry if I'm redundant.

Please click on the default-application tag I just applied to your question. This already has been asked several times, so you'll find the answer there.

I believe you're referring to the similar question about the "Gallery" app. That however doesn't work/apply to my question after testing it that's why I asked this one specifically.

Try resetting the default wall paper setting by following these steps (described for Samsung's 4.0; see also this question):
Menu | Settings | Applications | All | TwWallpaperChooser | Clear defaults
If you also want to reset the settings of your wallpaper application follow these steps:
Menu | Settings | Applications | (said application) | Clear data

Could you please tell me which application it is? I'm not talking about Live Video Wallpaper as it isn't the problem. The problem I'm referring to is about the "Also use as my lock screen wallpaper" - "Do not ask again" setting.

If it's not a "default app" thing: Are you using a special lock-screen app? Or could it be your launcher taking care for that setting? In these cases, you might find it within the settings of those apps (instead of the system settings).

I revised my answer to better address what I think may be the issue.

Tried checking TwWallpaperChooser and it doesn't have the Clear defaults, cache, data option clickable. TwLauncher on the other hand has Clear data available only, same as the Live Video Wallpaper app(which isn't the problem).

I found this application in Play Store but I'm not sure if it works or not. Just give it a try its safe to use. Here - DefaultApp Reset

Go to Settings-->Apps-->Gallery (or any other Wallpaper browser app that you have used to set the wallpaper)-->Clear Data and Clear Cache.


text:
Is the Nokia BH-214 bluetooth headset compatible with Android?
I have a Nexus S with Android 4.1.2.
I purchased a Nokia BH-214 headset. The audio output works. The buttons work. But for some reason, the headset's microphone seems to be ignored by the phone. When I make a call, it uses the phone's microphone instead of the one in the headset. Is this some compatibility problem or I am doing something the wrong way?

Have you tried re-pairing it again? The phone might have missed the headset profile and only used the media profile particularly when used first time.

Is the device compatible with Android smartphones having bluetooth version 4.0?


text:
Is it possible to boot an Android phone from a USB drive?
Is there any way to boot an Android phone* from a bus-powered USB drive**? If so, what are the steps to achieve this?
* E.g. one with USB OTG functionality.
** E.g. a flash drive.

Please clarify what is the intended goal and why?
Android phones have their own boot-loaders and cannot be overridden by other means.
It is not like a PC's BIOS where you can switch the ordering of boot to boot from certain devices such as Network PXE, USB, Primary/Secondary H.D.D...
Edit:
After the comments below, and in relation to the OP's question

Is there any way to boot an Android phone (E.g. one with USB OTG functionality.) via way of a bus-powered USB drive

The generic boot-loader (*which resides on the chip-set) has no knowledge of USB etc, as the lk (Little Kernel) is more concerned about trapping keystrokes in order to chain-load into recovery or to boot directly into Android environment (When holding Vol+Down key in this instance) - in pseudo-code (this is from the context/aspect of lk, and also, the memory addresses pertaining to how to read the partitions are hard-coded into this lk so it will know how to process the logic!)
The lk kernel is the de-facto standard by Qualcomm for MSM chipsets (Snapdragon) and adopted by manufacturers such as Sony, Motorola, LG, Samsung and can be found in the AOSP source under bootable/bootloader.
if (Is Volume Down key pressed?) then

chain-load kernel from /recovery partition into particular address in memory and jump to it and start execution, in bringing up the recovery environment

else

chain-load kernel from /system partition into particular address in memory and jump to it and start execution in bringing up the Android environment.

end if.
As the kernel within lk is pretty limited, considering that the binary image of the kernel is burned into the chip and therefore no way of modifying it. And also should be mentioned that lk contains the fastboot protocol in preparation for flashing /boot, /recovery, /system and /data partitions. There are two sequences to boot, primary boot and secondary boot as it is:

Primary Boot -> lk (depending on outcome of logic)
Go into Secondary Boot -> /boot or /recovery

Side note: Samsung is fond of the PBL/SBL (Which is Primary Boot Loader and Secondary Boot Loader respectively) in their jargon when it comes to modding. Thing about Samsung, is that, in some handsets, PBL and SBL may be encrypted (Samsung Wave GT-S8500 is one such example, where porting Android to it was nearly impossible to do because of the DRM within the boot loaders which was a nightmare to deal with and made modding it extremely difficult, nonetheless, it is sort of working via an exploit in the FOTA code!)
This is why there are no extra facilities such as OTG functionality or anything else such as serial communications, reading from SDCard, graphics etc as it would make the lk kernel bigger than is intended. In other words, it is the smallest possible size of kernel that is designated to do just the above pseudo-code happen.
Also, another way of looking at it is this, and this is dependent on the Android version - the USB OTG functionality is fully brought up within the Android environment, i.e when the familiar home screen appears, then OTG's functionality is enabled. Unfortunately not the case when looking at it from lk's perspective.
If you're curious, here's the Qualcomm entry on the above lk which is a part of the tiny C source that has ARM assembly included and found in JellyBean's AOSP source in bootable/bootloader/legacy/usbloader/main.c
int boot_linux_from_flash(void)
{
    boot_img_hdr *hdr = (void*) raw_header;
    unsigned n;
    ptentry *p;
    unsigned offset = 0;
    const char *cmdline;

    if((p = flash_find_ptn("boot")) == 0) {
        cprintf("NO BOOT PARTITION\n");
        return -1;
    }

    if(flash_read(p, offset, raw_header, 2048)) {
        cprintf("CANNOT READ BOOT IMAGE HEADER\n");
        return -1;
    }
    offset += 2048;

    if(memcmp(hdr->magic, BOOT_MAGIC, BOOT_MAGIC_SIZE)) {
        cprintf("INVALID BOOT IMAGE HEADER\n");
        return -1;
    }

    n = (hdr->kernel_size + (FLASH_PAGE_SIZE - 1)) & (~(FLASH_PAGE_SIZE - 1));
    if(flash_read(p, offset, (void*) hdr->kernel_addr, n)) {
        cprintf("CANNOT READ KERNEL IMAGE\n");
        return -1;
    }
    offset += n;

    n = (hdr->ramdisk_size + (FLASH_PAGE_SIZE - 1)) & (~(FLASH_PAGE_SIZE - 1));
    if(flash_read(p, offset, (void*) hdr->ramdisk_addr, n)) {
        cprintf("CANNOT READ RAMDISK IMAGE\n");
        return -1;
    }
    offset += n;

    dprintf("\nkernel  @ %x (%d bytes)\n", hdr->kernel_addr, hdr->kernel_size);
    dprintf("ramdisk @ %x (%d bytes)\n\n\n", hdr->ramdisk_addr, hdr->ramdisk_size);

    if(hdr->cmdline[0]) {
        cmdline = (char*) hdr->cmdline;
    } else {
        cmdline = board_cmdline();
        if(cmdline == 0) {
            cmdline = "mem=50M console=null";
        }
    }
    cprintf("cmdline = '%s'\n", cmdline);

    cprintf("\nBooting Linux\n");

    create_atags(ADDR_TAGS, cmdline,
                 hdr->ramdisk_addr, hdr->ramdisk_size);

    boot_linux(hdr->kernel_addr);
    return 0;
}

Chicken/egg issue here: I wanted an answer to my question in order to narrow down use cases based upon feasibility; you are asking me to give use cases first :) So, I can only clarify my goal(s) vaguely for now. One might be to achieve sth like full disk encryption by booting from a hardware-encrypted USB drive (Lok-It/dataShur/etc),so that entering a passcode on the drive obviates the need to enter a decryption password on the Android device. Ideally this could be done such that, once the phone is booted, the drive could be removed, leaving the phone still running fine until next reboot.

Right... Interesting - never heard of such case like that - anyway - why? Food for thought, where would you enter a such passcode? Android ICS upwards have the capability to encrypt the entire volume IIRC - Have you not looked into that?

The passcode would be entered using the keypad built in to the drive. (If you don't know what I mean by this, look up the drives I mentioned.) And yes, I've looked into Android's built-in encryption, but (a) it is not without drawbacks (see, e.g. http://security.stackexchange.com/q/10529; http://v.gd/6hOcmd), (b) it does not work on all phones, even those that have ICS+ ROMs available from the manufacturers (e.g. some Xperia models), and (c) there are other potential use cases for which being able to boot a phone/tablet from a USB mass storage device would be desirable.

To be quite frank, that is not achievable, for a start there is no such smartphone bootloader that will simply , from high level perspective, "pause" until a passcode is entered! What you're asking for is above and beyond this forum and requires specialized, if not, niche arena of custom bootloaders to achieve this! For a start - the generic bootloader, lk (its in AOSP under bootable/bootloader) is adopted as de-facto by Qualcomm for their chipsets which is used by the likes of Sony, LG, Motorola, to name but a few... just saying, the question is not constructive!

BTW I do not see mention of drives that you claimed to be mentioned....?

I gave two examples: Lok-It, and dataShur. Both have built-in keypads.

Lok-It is encrypting the flash drive, likewise same for dataShur, at a glance! It encrypts contents on it... still, I stand by my comments... :)

I'm well aware Lok-It and dataShur encrypt only their own contents: that's their entire raison d'etre. I'm grateful for your attempt to help, but fear you've become distracted by my suggested use-case, which (1) isn't v.relevant to my q, & (2) you seem to have misunderstood anyhow. (Surely my fault on the latter front: hard to articulate use-case via short comments!). I'd be more grateful still if you could forget about passcodes & return to my initial, simple query: is there any way to boot an Android phone from a bus-powered USB drive, and if so, what are the steps to achieve this?

In short - there is zero way of doing that, you seem to be forgetting that the emphasis on my comments in relation to the bootloader and the fact that smartphones do not have BIOS's either.... just saying.

Thanks for fleshing out your answer. Clearly, I had hoped that there might be some way to boot an Android device from USB mass storage - e.g. from bootloader mode or system recovery mode or something like BootManager or suchlike - but there seems not to be. Pity. Thank you again for taking the time to answer!

It's actually technically possible to boot into a small bios-like system on the device and then transparently mount usb devices and proceed to boot from there--to answer your question.  But yeah, you're not going to be able to do that without unrestricted access to the device.

@t0mm13b. Apologies for being OT but that bit about Samsung caught my attention. Is it applicable to my question here and if so would you kindly consider answering it? http://android.stackexchange.com/questions/127826/why-doesnt-note-2n7100-recognize-external-hard-drive-but-honor-6-does

Is there a way to replace the system with a different distro and keep this boot loader?

It is possible in a sense, however. Given the limitations mentioned in @t0mm13b 's answer, it makes sense that the mentioned boot loader (lk) is incapable of doing this. So, we boot a custom kernel from fastboot (for testing), which boots, enables OTG functionality and once a valid kernel is found on the OTG device which is connected, chainloads that into memory and passes control to it. This could probably even be integrated into modern custom recoveries like TWRP which have both OTG and (in some cases) MultiROM support.
This has actually been used to boot Ubuntu on a Nexus 9 tablet, using the method:

fastboot boot <otg_chainloader_kernel>
<otg_chainloader_kernel> boots and enables OTG and waits for OTG device to be connected.
Device is disconnected from PC and USB flash drive having bootable Ubuntu image is connected to it via OTG.
<otg_chainloader_kernel> detects a valid Linux kernel on the OTG device and passes control to it after chainloading it into memory.

Now, if you wanted to, you could boot a compatible Android ROM image in a similar way, but remember that the OTG drive would have to be kept connected to the device until you decide to return to the native OS (since all apps would load from, and all data would be written to the USB flash drive, unless the entire Android ROM could be configured as a ramdisk (ever heard of Puppy Linux?), which, given the current memory capacities of common Android devices and the size of the ROM itself is currently impractical). That precludes charging while booted to OTG OS, too, on most devices with unified data/charger ports.
Source: XDA-Developers Nexus 9 subforum

Could it be possible to do this for Android so I can boot the N preview without installing

@SuiciDoga, I guess TWRP MultiROM supports OTG Boot? It uses the above technique AFAIK, just without all the fastboots. The kexec-hardboot patch for the kernel used by TWRP MultiROM is basically the OTG-Chainloader-Kernel I talk about.

Now that also depends on what device you might want to try this exercise on. The Nexus 9 and Nexus Player do have TWRP, but the MultiROM thing doesn't work on them (x64/ARM64 issues?). IDK about the current Nexii, too.

its posible and i did it on my acer iconia tablet!!!!
connect a flash drive to your pc and format to fat32
use rufus to port the iso/dd to your flash drive
connect it to otg and into your phone/tablet..
hold the power key and tap volume down
if it doesnt boot try holding the power key and tap the volume up
then using volume keys move over to UDisk (your flash drive brand) or SATA; UDISK (it doesnt have to be your usb brand, it can say usb storage) and click the power key to confirm
well, i had sevior trouble with booting into the menu, so i somehow managed to avoid the kernel to boot and by that stop the android to boot
i think it was like this : i connected to the pc, then deleted all the assects from the tablet, but copying Android folder
kernel was removed and after boot connected back to the pc with a usb hub
well hope i helped :)

That must be some exceptional SoC, might be supporting UEFI. Not many SoCs used these days in Android devices let you configure boot order.


text:
logcat log loss
I am using android jellybeans. There is a large amount of debug information being dumped by many components. So, I notice that logs from my application are often lost. I have tried dumping logcat log in to a file in the phone and then doing a "adb pull". Still, there is a good amount of logs thar are lost. Is there a way to ensure no logs are lost.

Logging on Android uses a ring buffer with a fixed size (exact size depends on different criteria), see e.g. What is the size limit for Logcat?, so older entries get overwritten once the buffer is "full". You can adjust the size of the buffer (see: How do I increase the log size of dev/log/main?) -- but those adjustments would probably not survive a boot.
If you really want to make sure no log data is lost, you would need to pipe the log to some "external ressource" -- either to some "external storage" or "the cloud".

First the log in android it's a circular log, that means that if you have a lot of logging going out there you're older statements will be overwritten. Why don't you use a custom solution like microlog for android http://code.google.com/p/microlog4android/
You can use command logcat | grep 'YOURTAG', for only showing your apps logs. It can be done through any Terminal Emulator, or using Android Debug Bridge (adb)


text:
Why does my device shows a resolution other than that advertised?
I bought two different cheap android tablets, in the process of buying a dozen for my company. I haven't had much experience with them before and there's one thing that's bugging me.
I downloaded a few simple apps that show the screen resolution, and the values are 768x976 (portrait) and 1024x720 (landscape). The devices are advertised as 1024x768 (4:3) and indeed, they look 4:3.
What's going on here? Are the devices lying in their specs? Are the apps inaccurate? Is this because the apps omit parts of the screen that can't be used for apps?
The devices aren't well known but for reference, they are: Dinosaur Dino 9.97 and a Go On Touch DC97 IPS 9.7.
The apps I tried are: ScreenSpecs, Screen Resolution and Screen Resolution (same name).

"Why?" questions are rarely good here, and often lead to speculations, as most likely in your example. The obvious answer is the manufacturer advertised the wrong values -- but why he did so, and how that happened, etc., is nothing we can answer here.

Thanks for the edit. To clarify, the correct answer can be that the manufacturer advertised the wrong values, I'm not seeking an answer as to why they did so. Since I'm new to android devices, and since I tested two different devices with three different apps, I just assumed there was some known fact about how screen resolution is measured in these apps that would explain this difference. Knowing whether it's more likely that the advertised values are wrong is relevant to me in order to decide whether to return them.

Ah! I see. I recommend then you re-phrase your question (including its title) accordingly. Your comment looks much clearer :) Though I'm not sure if that's really an Android related question, and not a general hardware or a development topic (which both would it make off topic here, see our tiny [FAQ]).

You haven't specified the Android version, but on tablets the difference is generally because the system bar (or "combined bar") is 48px (specifically, 48dpi, but in your case that's 48 real pixels) and the apps are only considering available screen space when they report the resolution:

Portrait = 768 x (976 + 48) = 768 x 1024
Landscape = 1024 x (720 + 48) = 1024 x 768

Some references:

What is the true available resolution of a 10.1 Android tablet?
Asus TF101 tablet status bar steals 48 pixels
Metrics and Grids (from developer.android.com; explains why 48 dpi was chosen for UI components)

That makes a lot of sense, and thanks for the very complete answer!


text:
Is there a multi-protocol chat client that doesn't require a separate account?
I use Pidgin on all my desktop computers because it's completely cross-platform (even Linux) and really like it. Unfortunately they don't have a mobile app. Is there a mobile chat client that allows you to add accounts from multiple protocols (AIM, GTalk, MSN, ICQ, etc.) and DOESN'T require you to create a separate account for their service first? I've tried Trillian and IMO, but both want me to create an account for their service before I can add my other accounts.

IM apps that don't require an additional account tend to be few and far between on Android (in my experience, anyway), but so far I've seen two:

eBuddy - This does have an associated "eBudy ID" account that you can register for, but you're not required to do so in order to use other protocols.
IM+ (free, pro) - Same as eBuddy above. Another potential selling point is that the tablet interface is much nicer, IMHO.

IM+ looks good; didn't ask me to create a new account or ID. Will use the free version for a few days and if there are no issues will buy the pro version. Thanks.

E Buddy as you describe it no longer exists. It's now just another single protocol non standard chat program just like the rest.


text:
Is there any android support for bicycle sensors?
I've seen some Bluetooth Smart (4.0) technology for tracking tire rotation rate (bike speed), peddle rotation rate (cadence) and even heart rate monitors.
Some heart rate monitors are supported by google mytracks now.
Anybody aware of support for cycling sensors?

Not aware, but a quick check in the playstore shows there are several bicycle apps supporting "ANT+ sensors" for speed and other things. Take e.g. a look at IpBike ANT+™ Bike Computer, ANT+ Bike Display Demo, IpBikeKey, and others. Starting point: ANT+ Playstore search :)
Please note that, as Ifor pointed out in his comment, that this requires special support from the Android device's hardware. Details can be found e.g. at the IpBike page.

nice , hadn't heard of ant + before!

Neither did I :)

You will need a phone with built in ANT support or a USB ANT stick and OTG cable.  I have some details on the web page for my app IpBike web page at http://www.iforpowell.com/cms/index.php?page=ipbike

Thank you for this useful details, @Ifor! As you can see above, the entire ANT+ thing is new to both of us, so I suppose we both were not aware of the need for special support from the Android device's hardware -- good thing to know! I hope you don't mind if I include that details with my answer.

Unfortunately USB host mode on my galaxy i9000 would take considerable hacking, but good to know for future in any case. people seem very happy with the USB ANT stick on galaxy s3s.


text:
Nexus 4 Notification bar unresponsive
My notification bar has suddenly become unresponsive. I have been unable to swipe down the bar no matter the orientation of my phone (regular and in landscape). I've played around with chrome to test the touch screen responsiveness and everything works fine. Is there a way I may have accidentally turned my notification bar off? Has anyone had this issue and know how to fix it? Thank you!

Does that unresponsiveness persist after a reboot? Maybe some service went havoc.

@Izzy Even if it does not persist after reboot, that is a relevant bug. I have experienced it with my  3 days old Nexus 4. Maybe it's worth to file a bug report

@mdelolmo Agreed, if you can reproduce it. But here's the wrong place for "bug reports", as we cannot fix them. All we can do is help to figure out, and find possible work-arounds :)

Many owners of Nexus 4 experience this problem. See: https://productforums.google.com/forum/?hl=en#!msg/mobile/3g6ZnYxKl_w/yhGAvDt1uGcJ

I experience it from time to time; quite annoying.

Try doing a hard reboot (Power off the phone and power it back on). I had this problem just two minutes ago and that seemed to resolve it. Cheers!

This solves the problem for some users but not all. My friend who also has a Nexus 4 is able to solve it with a reboot, but it doesn't help on my phone


text:
Optimizing battery life via colour schemes
I have been looking for a way to change everything on my phone to black (and pure green), since the screen is the main power consumer.

"the Green OLEDs provide 10 times more Brightness per watt than Blue OLEDs."

Source
Could someone make a way to do this? A perfect theme, perhaps combined with a filter.
I went through 4 themes so far, and they all fail majorly in some things (not overlapping).


text:
Why is "Android OS" uploading so much data?
After switching from my Nexus S to a Nexus 4 I noticed that my phone was transferring huge amounts of background data.  Like 70 MB in 15 minutes.  As my data plan only allows 300 MB per month I was not amused.  Even when connected to WiFi, it often (but not always!) was uploading tons of data.
According to the "Network Usage" the culprit was "Android OS".  So I tried to limit the background data of it only to find that "Android OS" seems to be the only "app" which doesn't offer this option.  Great.
Well okay, that's what firewalls apps are made for.
I configured AFWall+ but that only cured the symptom not the cause.
Next I redirected the traffic to a laptop with a WiFi card and used the usual tools (tcpdump, wireshark) to analyse the traffic.  Result: many many uploads to some Google servers but SSL encrypted so no chance to see the contents.
I kept investigating and found this very interesting article on Android data usage.
Apparently Google has began expanding its cloud-based backups of the phone settings so that it now also does backups of the data of some apps.  So, I turned off "Back up my settings" in the Privacy settings and whoopiedoo, the sending stopped and the data traffic returned to a normal amount!
There is a post in a Google forum with similar experience: Something within the Android System—maybe Backup—is using up all my data allowance.
I started looking in the Android documentation and found that there is such a thing as "Android Backup Service" which apps can use to backup their application data to the Google cloud: Data Backup
And there is even an CLI utility "bmgr" to interact with the Backup Manager.
But I cannot find any information about how the phone owner can find out which application is backing up which data, or how to influence or stop this.  I'd be happy to use the backup service—it saved me a lot of time when switching to my new phone—but the way it is implemented now it's definitely unusable.
After talking to my former coworker and Android expert Izzy who was clueless too, I decided to post this issue here as—like he said—I will find the best experts here.  Well, let me know if you have any idea about this.  Any hint is welcome!

Related, if not an outright duplicate: http://android.stackexchange.com/questions/28100/android-os-is-continuously-downloading-something-in-the-background-how-can-i?rq=1

Related yes, but not a duplicate: See the hint that for ciberandy it stopped when disabling Google Backup (in the linked question it was a forgotten SIP account).

When you say afwall+ cured the symptom and not the cause, do you mean Android os still consumed data but the consumption wasn't recorded/reported by android?

Vikki: Afwall+ is a iptables frontend to configure the Android firewall, i.e. he forbade internet access to the Android OS. The cause is still there and unknown then, only the symptoms are gone. @izzy / Andy: you might succeed by using VPN + an SSL mitm proxy on a router of yours to dump & analyze unencrypted traffic. You only need to install a mitm root ca on your android + mitm-proxy or burp proxy: http://www.h-online.com/security/news/item/New-Burp-Proxy-cracks-Android-SSL-1663112.html

The list of applications with backups as well as how much space each backup uses is on your Google Account Dashboard under "Android Devices".
Unfortunately, there isn't, I believe, any way to control it other than turning it on or off entirely.

Nope, all I can see there behind the link "Mehr gespeicherte Daten zu diesem Gerät" is the IMEI and date of last backup.  Can you really see more than that?

@ciberandy yes, when I click 'More data stored about this device' I get a listing of IMEI, last seen, registered date, and then a list of each backed up app, its backup date, and the backup size

You are right, after reactivating the cloud backup I just had to wait a day for this information to appear in the dashboard.

Several days later, "Android OS" has uploaded 178 MB but the dashboard
only shows:
Android Wallpaper         05.03.2013 10:52    6,6 MB
Android System Settings   05.03.2013 02:16    3,61 KB
Android Market            03.03.2013 13:27    16 B
AndroRadio                03.03.2013 13:27    8 B
So, that's wrong AND not useful. sigh

@ciberandy indeed, that isn't very useful. You could probably connect the phone to a computer, enable USB debugging, then watch logcat to see what its doing. Well, grep through logcat, it'll spew a lot of lines. Might be useful for a bug report.

I didn't mention above that I had already tried that with the help of ddms (Dalvik Debug Monitor).  I couldn't see anything suspicious, though.

Quite certain that this is a bug in Nexus 4.
Ended up using close to 100 MB for Android OS last month and my current plan is only for 350 MB.
Turning off 'Google backup' did not really have much of an impact as indicated in many forums.
I did notice that 'Android OS' is active only when connected to my mobile network and not when connected to Wifi.
The issue is severe only when connected to my mobile network with "restrict background data " turned ON.
I have used the phone for couple of days with background data unrestricted and Android OS consumed limited data.. less than 1 MB.
now, I restrict data based on individual apps while on mobile networks and this seems to work fine.

That sounds interesting. I found that turning "restrict background data" on/off didn't have any influence. But I didn't experiment too much with it as there is no "local override" for "Android OS" - I still hate Google for that!
I eventually started using "AFWall+" to set necessary restrictions and save on my data plan.

postponing rooting til finding a good reason... now seems a good one as even netguard (at least w/o rooting) cant block the very android os... I think we should impose a personal limit: if the technology is causing more trouble than solving our problems, it is time to find a way to depend less on it or it will control our lives entirely.

It seems that Google doesn't allow us more insight and no way to influence the backed up data.
It's true that the Google Dashboard shows a little more detail about the saved data. But it takes a day or two for the information to appear, and it's definitely not complete.
I reactivated the cloud backup feature about a week ago, it has uploaded 178 MB of data, but the dashboard shows just this:
Android Wallpaper         05.03.2013 10:52    6,6 MB
Android System Settings   05.03.2013 02:16    3,61 KB
Android Market            03.03.2013 13:27    16 B
AndroRadio                03.03.2013 13:27    8 B
That's wrong AND not useful. sigh

You're not doing something like automatically changing the wallpaper every 5 minutes, are you?

Actually I do.  "tasker" changes the wallpaper according to where I am.  But that happens only 2-3 times a day.

@derobert is that a bad thing? I change mine every 30, minutes, can that cause this problem too?

@Goodwine I doubt it's a problem unless it's using too much data.

@ciberandy Does disabling that Tasker profile change the data usage of Android OS?

That could in fact explain the differences then: The Dashboard shows the amount of data stored (not transferred). So if the Wallpaper app uploads the new background image every time it's changed... You get the idea. In that case: restricting background data for "Android OS" might help (and make backups happen on WiFi only).

I have a similar problem and checking on the Dashboard under the Android Devices (as suggested by derobert) I see that I have:
Android Wallpaper
Backup date: 5 Jul 2014 22:33
Backup size: 5.66 MB

I read that ciberandy has similar values so maybe the problem is related to an application I'm using to change my wallpaper every hour: Zedge.
Mendel too reported the wallpaper changing as a possible cause.
So the possible solution, ATM, are:

change the wallpaper less frequently / not automatically;
disable the "backup my data" setting under settings > backup & restore
use a live wallpaper that does that (suggested in the comments by Dan Hulme)
restrict background data (from data usage menu) (suggested in the comments by Izzy)

The last option (restrict background data) is unfortunately not available for the single "Android OS" item and on my phone is activating a permanent (annoying!) notification in the notification drawer.

Hello, my answer is indeed a very likely solution to the problem (solution = disable any app that does change your wallpaper automatically every X hours). I'd have added a comment instead but don't have enough reputation. Please let me know if I should open a new question to gather feedback from other users on wether they are or not using apps like Zedge while having a similar problem. I'm going to update my answer in a few days if that solves the problem to me.

By the way, it looks like yesterday I missed mendel's answer that is suggesting the same solution. So yes I think that the wallpaper changes are the cause of the problem, at least in my case ;)

After your edit, it looks fine (must have escaped me before, sorry for that). Maybe you want to include a third solution: restrict background data to "Android OS". This would disable backups while on mobile data – but still have them enabled while on WiFi. So they no longer affect your mobile data plan, but you don't have to disable those backups altogether. After that, we might clean up our comments here ;)

Alternatively, you could use a "live wallpaper" app to have a changing wallpaper, instead of an app that just changes the wallpaper every so often. That way there won't be changes to back up every hour.

Hello Izzy, no worries... I think you were right and my first message probably looked a little bit too much as a forum post despite I tried to write it properly :p Anyway, thanks for your tips; I'm going update my answer.

@Izzy how does your "third solution" work? I don't see how I can restrict mobile background data of "Android OS" only. Please enlighten me!  (c:

See the screenshot in ciberandy's own answer – oh, hi Andy :) Is "Android OS" not listed in the apps to restrict there? It's dealt like a "separate app" when it comes to battery consumption, so why not here? I must admit I didn't explicitly check – but your screenshot even has it...

The checkbox to disable it for the single app is available for the other apps but not for "Android OS" :p But you can restrict background data for everything and that will restrict it also for Android OS.

I would propose to disable the Android built-in Google Cloud Backup in the settings and use another app to backup your phone.
For example, Carbon supports backing up apps online to different cloud storage providers, and allows to restrict backups to times when you're connected with a Wifi network. Carbon also has the advantage that it can backup apps that are not backed up by Google Cloud Backup.
TitaniumBackup also supports backing up your data online, but requires root.
Both apps also support that they only back-up when your phone is connected to a charger, so that they don't suck your battery empty when you need it for other purposes.
The disadvantage of this solution would be that they both only support scheduled backups, so if you back-up only once a week, you might lose a week of your backed up data if you lose or destroy your phone just before the backup would run. However, I don't know exactly which schedule is used by the Google Backup solution, so this could suffer a similar problem.

Actually I do use TitaniumBackup.  This question is more of a technical kind though.  And I'm thinking about the tons of android users who have no idea how to turn off the Google Cloud Backup.

I don't know if this answers the original question, but I think this will explain data usage at least in some cases.
I was having issues with excessive usage by the Android OS and I have discovered that
on my phone (Sprint GS3 running Android 4.1.2) manually changing the wallpaper causes the android system to upload aprox 15MB of data (on one occasion it uploaded close to 60MB but I have been unable to duplicate that), so if you have an app changing the wallpaper several times a day that could explain Android OS data usage - at least in some cases.

I had this problem a few days ago on my Samsung Galaxy S7 running Android 6.0.1. The application "Android OS" used about 8 GB during two consecutive nights effectively using up my monthly data capacity.
In order to find the cause for this, I did the following: go to Settings > Applications > Application Manager > More - Show System Apps and then click through each application (maybe beginning with the most likely suspects) and checking the data usage value for each.
In my case, the data usage was caused by the "Samsung Cloud" v2.2.08 (which of course is not available on a Nexus device) and a misconfiguration under Settings > Samsung Cloud > More > Network settings where all items need to be switched ON in order to prevent synchronization over mobile data networks.

Android OS also includes the YouTube data or any video data which you have viewed online using browser/YouTube. You must have watched equally that much amount of videos online from your device. When you browse in the YouTube app or browser only browsing data is recorded by respective apps the actual data streamed for video is recorded under Android OS

Source? I don't think this is correct.


text:
How to get Jelly Bean Camera to use external SD card?
I just purchased a 32 GB SD card for use with my Galaxy S3 which is running a 4.2.1 rom. Certain apps like Titanium Backup I was able to switch to start using the SD card just fine, but I can't for the life of me find a setting anywhere for the camera to start storing videos/photos there. Is this possible?
I've googled lots, but all I can find is directions for older versions of Android, which aren't applicable to my setup.

Have you checked the settings in the camera app? In several versions, it has a "storage" option where you can define that.

Unfortunately on this version of Android, the only things in the settings menu are picture/video quality options depending on the mode I'm in. Hitting the actual Android settings button while in the application doesn't bring up any menu at all.

Here's how I did it:

Go into Camera as if you were taking a picture
Go into Settings (gear) on top left
Scroll down to Storage
Change to Memory Card

The poster already commented that they lack this particular setting.

Honestly this option wasn't there for the longest time, and I've been running 4.2.2 for a while. It must have been a bug with the rom I was using, it's there now and works fine.

Just in case you haven't found the setting for this, I stumbled upon it tonight on my 4.2.1 phone. I'd previously set it without realising (only just made the move over to Android) and after removing my SD card the other day, I found after I re-inserted it into the phone it would only save to the internal flash memory... I couldn't for the life of me figure out what I'd done!
Finally figured it out:-
Go to the main Android system settings menu and select Storage. The very top option is to select the default write disk - set this to SD card and back out of the menus.
Job done. :)
Cheers,
Nick

So weird, I don't have that option. Can you post a screenshot? I've still got about 20GB sitting around doing nothing  :(
Here's the top of my storage screen https://www.dropbox.com/s/agxhshsxzdb9cqf/2013-05-07%2000.11.37.png

Long press the screen when in camera, this will popup a menu, within there u can select settings, and change storage to sdcard. You can also press the flashlight button on the right to get that menu.

Change the Default Write Disk from Phone storage to SD card.
Android Setting->Storage->Change the Default Write Disk


text:
Unlock bootloader using fastboot using Ubuntu/Linux
I am trying to unlock bootloader for my HTC Legend.
I have ADT (Android SDK according to release 21.1) on my Ubuntu/Linux box.
While following the HTCDev instructions to unlock bootloader of HTC Legend.
I can adb devices that results as under
List of devices attached
HTXXXXXXXXXX    device

But fastboot devices does not result any thing.
When I reboot my phone to FASTBOOT USB mode and plug in the USB cable to phone and connect to PC/Ubuntu.
fastboot oem get_identifier_token
results as following and sit idle.
< waiting for device >
I have cross checked for certain things:

The default USB mode is Charge Only
The USB Debugging is enabled

But on my ubuntu box there are no drivers and no HTC Sync installed.
What am I missing here?
Can I do it from Ubuntu, as I don't have windows?

UPDATE: My device's HBOOT is 1.00.0000

UPDATE2: I just tried with sudo fastboot devices and returned.
HTXXXXXXXXXX    fastboot

Now when I do sudo fastboot oem get_identifier_token it returns:
...
(bootloader) [ERR] Command error !!!
OKAY [  0.010s]
finished. total time: 0.010s

Often you just need to add a udev rule for the device. Do you see it under lsusb when it's in fastboot mode? My guess is that if you compare the device/vendor IDs in fastboot mode to the normal ones that they'll be different (the poor-man's solution in some cases is to use sudo fastboot to get around the udev rule, but I don't know if that's entirely recommended).

Yes I can see my device in lsusb when it is fastboot mode. (Bus 004 Device 042: ID 0bb4:0fff HTC (High Tech Computer Corp.) Android Fastboot Bootloader)I have no idea about udev rules :(

Take a look at this answer and see if it helps you solve the problem. If not, then your situation may be something different (e.g. not a udev thing). The question is for the N4, but the process is the same; you'll just need to use your device IDs.

I just tried and found that sudo fastboot devices lists  my device and without sudo it waits for the device.

It looks like your HBOOT needs to be upgraded to v1.02.0000 in order to use the HTCdev unlock method. The reason for this is that the Legend's bootloader did not originally ship with unlocking capabilities, so you need to upgrade to the version that added it.
Unfortunately, the HTCdev site will give you an RUU to run, but since it's an .exe file it won't do you much good on Linux (even with wine it probably will balk). However, you can perform a manual flash instead:

Download this LEGEIMG.zip1 file. This is the new 1.02 bootloader packaged as a zip.
Copy the zip file to the root of your SD card (as in, not in any subfolders)
Reboot to your bootloader however you like (adb reboot bootloader works, for example)
When HBOOT starts up it should tell you that it found an upgrade package on the SD card. Check the on-screen prompt and select "Yes" to let it flash the zip.
Reboot your phone into your bootloader again and verify that it's been updated to version 1.02. At this point you can follow the HTCdev unlocking instructions.

1Regarding this file: "eldarerathis", you say, "I'm sure you're a trustworthy chap and all, but how do I know that this Mediafire download is legit?" Well, since your bootloader is currently locked, it will only flash images that have been digitally signed by HTC. Since modifying the contents of the zip file would invalidate the signature, you can rest assured that it is genuine and has not been tampered with.
For complete instructions, including how to actually get the zip from the RUU yourself (which requires Windows), refer to this XDA post.

Linux users: If you're stuck in "waiting for device", make sure you run fastboot as root, such as:
$ sudo ./fastboot oem get_identifier_token
...
(bootloader)
(bootloader) < Please cut following message >
(bootloader) <<<< Identifier Token Start >>>>
(bootloader) C8750A7847621A009AAC7949E9B41A52
...
(bootloader) 7206C18600834B50AB6FA9F4A9AFC71C
(bootloader) <<<<< Identifier Token End >>>>>
OKAY [  0.004s]
finished. total time: 0.005s

or run those commands: sudo chmod 644 /etc/udev/rules.d/51-android.rules && sudo chown root /etc/udev/rules.d/51-android.rules && sudo service udev restart

The rules Jakub is referring to are available here. They are also packaged as android-udev on Arch's AUR.

Here a example to flash TWRP and LineageOS on a HTC One M8:
adb reboot bootloader
fastboot oem get_identifier_token

# Download Unlock_code.bin from htcdev.com
https://www.htcdev.com/bootloader/token-submitted

fastboot flash unlocktoken Unlock_code.bin
fastboot flash recovery twrp-3.4.0-1-m8.img
adb sideload lineage-17.1-20201009-nightly-m8-signed.zip
adb sideload open_gapps-arm-10.0-micro-20201010.zip

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


text:
Phone connected to wireless but does not respond to pings
I have here two phones that both exhibit the same symptoms.  One is a samsung GT-S5570 running the stock ROM, the other is a Galaxy S2 running an AOSP-based custom ROM.  The problem I have is that while they are connected to the wifi and are able to browse web sites, etc, they periodically stop accepting incoming connections and/or responding to pings.  In order to get them to start responding again I have to disconnect and reconnect the wireless connection.  Yet they are still able to make outbound connections.
Any ideas what may be causing this (somewhat bizarre) behaviour or how I can stop it?

Are you trying to ping your phones from some other devices connected to same wifi network?

Yes.  Fortunately, I believe I may have found the cause to the problem -- there were two DHCP servers on the network which were handing out potentially-conflicting IP addresses.  I think this may have been causing my router to get confused over which devices were connected wirelessly or over the wired connection, and it must have been attempting to switch the packets intelligently.  At least, on removing the extra DHCP server the problem went away; the rest is just my only working theory as to how this could happen...

See my comment above; appears to have been caused by a broken DHCP configuration.


text:
How to pull only newer files with “adb pull”? (Android SDK utility)
With the command adb pull /sdcard/ I can copy all the contents of the internal memory of my Android phone into my current local directory.
And adb pull /mnt/extSdCard/ does the same with the external SD card. But that command always copies everything, even files I already have stored locally.
Is there any way to copy only new and modified files? (files with a newer date)

adb-sync - small, yet powerfull python script that can do all your asked and more...
https://github.com/google/adb-sync

Thanks for the mention. I had to make several changes to the source code to get it working for my use-case (invalid paths for Windows causing crash, Python version mismatch apparently, etc -- for details, see issues I commented in), but it ended up being the only way I was able to retrieve my files from a corrupted data partition. (the adb pull of the whole directory would crash on various files, and I didn't want to manually have to delete each one then restart the whole transfer -- with adb-sync [+my modifications] it would just fail that one file then continue)

Also note that project has been deprecated and one should rather use its successor: better-adb-sync

As described by ss-3-1415926535897932384626433 there is no flag, but you have to get a list of files first and then check if your local files match. I wrote a little script for it:
#!/bin/sh

rfolder=/sdcard/DCIM/Camera
lfolder=Camera

adb shell ls "$rfolder" > android.files

ls -1 "$lfolder" > local.files

rm -f update.files
touch update.files

while IFS=  read -r q; do
  # Remove non-printable characters (are not visible on console)
  l=$(echo ${q} | sed 's/[^[:print:]]//')
  # Populate files to update
  if ! grep -q "$l" local.files; then
    echo "$l" >> update.files
  fi
done < android.files

script_dir=$(pwd)
cd $lfolder

while IFS=  read -r q; do
  # Remove non-printable characters (are not visible on console)
  l=$(echo ${q} | sed 's/[^[:print:]]//')
  echo "Get file: $l"
  adb pull "$rfolder/$l"
done < "${script_dir}"/update.files

Adjust the remote folder rfolder and the local folder lfolder to locations of your own choice.

This looks pretty good. Does it also work recursively or just in a single directory and no subdirectories?

This is non-recursive indeed, but feel free to improve. :-)

Also note that I don't compare dates here yet, so if you have altered files they won't get updated.

adb pull doesn't seem to provide a flag to pull selected files.
As a workaround, you can do this: Use adb shell [Unix shell command] to copy selected files to a temporary location and then pull all files from that location.
Update:
You can use cp -u [source] [destination] unix shell command to copy only modified files on subsequent run. You can also use -r flag to use it on subdirectories recursive, if its required.

Thanks for your answer. Copying all files to another location to then maybe update just one changed file is pretty slow. Too bad that adb doesn't provice in way to copy only newer files.

@OMA You can use the shell to get a list of new files, and then use adb pull on that list.

@MatthewRead Any hints on how to do that? Thanks!

@OMA I am unable to understand your problem with this. Use both commands in one line or create alias (also add a command to purge temp location after operation). If there was a flag of adb pull for that, it'd work the same way.

Though not fully documented, starting with 27.0.1 aka platform tools r27 (not before) the following can be used:
adb push --sync local/ device/
# adb pull --sync -a device/. local/

(note the trailing dot on adb pull; without that you'd end up with local/device/*, see here; also the -a is needed only here to keep the timestamps of the files intact)
Not directly related to adb push: file permissions are not kept, which is probably due to the file system used. Files pushed to the internal SD card will always be set to 0660 and on the external card to 0771, which I could not even change using adb shell chmod on the device itself (though I received no error either on trying).
If you need more options as you might know them from rsync (e.g. --delete or --exclude), you can also take a look at the Python script better-adb-sync.
Update: running a few tests it seems --sync is simply ignored with adb pull even if no error is thrown: newer files on target have been overwritten! Not sure if implementation is planned, but with r27 being released in 2018 I'd not place a bet on that. With push it works as advertized, though.

Because google's official adb pull was slow to support --sync, I found a big guy to modify the aosp adb source code. Add --sync option to adb pull, pulling only newer files. Compiled for windows.
Self-testing logic on win10 is no problem. Only pull updated files on the android phone, and do not delete win files that are not on the android phone.
https://github.com/freemedom/adb-pull-sync/raw/main/adb.zip

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


text:
Sony Xperia Play CDMA to GSM
I have an Xperia Play that was originally with Verizon and therefore using CDMA. I want to use it with the Rogers network now.
I've read that the Qualcomm chip inside supports both types of networks by default. Is it possible to change it to GSM?

Not going to happen. Sorry. While MSM8655 supports GSM - Play Verizon's version of radio software makes no use of it. You can not reflash the radio software because the bootloader is locked. And even if you could - the GSM bands are not "phased" in your phone. "Phasing" is a process of calibrating the phone during manufacturing - without it you would get no 3G, at best you could probably get very poor 2G performance if any at all.

Well that's unfortunate. Thanks for the help.

I also have an Xperia Play GSM and flashing a CDMA firmware will convert the radio to CDMA. But it looks like CDMA versions dont have the same privilege because it does not have a sim slot.

Xperia Play GSM has an unlockable bootloader - so it allows flashing the different radio image. But I do not think it is functional. Do you have any proof of a successful conversion?


text:
Only give access to one application(full screen)
I am considering using tablets for use with clients at my job and I was just wondering if there is anyway to lock users into one application. Just for theoretical purposes the application could be as simple as a sign in sheet where people would check in when they come into the buildings. what I want to disable is people's abilities to get out of the application(hitting the home button, et cetera). Basically I don't want people to have access to anything besides the sign-in application.
Everything I've read points to this not being possible but I figure this is the best place to ask.
Thanks in advance.

It sounds like what you're asking about is "kiosk mode".

How to make run only a single application with all other application stopped?

I re-tagged your question. Simply follow the kiosk-mode tag :)


text:
Password Protect for Andorid mobile
I lost my android mobile, but I haven't logged out of gmail account, since using the device, I must log on. So if someone take it, he/she may access my gmail account. What should I do now?

Try AndroidLost and PlanB. I prefer the former as it seems to have more features.

Log-in to your gmail account. Change your password first. Then, on the page where you see mails, down in the bottom, Click on the link "Details" in the right bottom corner. Click on "Sign-out all other sessions". You will sign-out of all the sessions. It will be effective on logged-in mobile once user tries to do any action on your gmail.
Hope it helps...

Doing that as the first step robs you of the chance do interact with the device using apps like AndroidLost or PlanB, as mentioned by Narayanan in his above comment, and thus minimizes chances to find it.

As suggested by Narayanan in his above comment, I would go with Android Lost. You can directly push this app to your phone via Google Playstore's website (logging into it with your Google Account). Doing so, you can then have your device report its location -- maybe you just have misplaced it and can easily pick it up. Knowing its "round about location" and being near it, you can even have it make noises to better locate it. Finding it "wandering around" in an unusual area (suggesting someone picked it for himself), you even can issue a "remote wipe", so everything will be cleaned from the phone.
Watch the video on the app's Playstore page to see more!
As a second step it could be useful to change your passwords etc., as described by shubansh's answer. However, disconnecting your device from your account should not be done before you evaluated my above suggestion -- because doing that first will rob you of the chance to use things like Android Lost or Plan B.


text:
Hotmail option "Display as HTML" no longer works on my Galaxy SIII. Error message: "Connection failed"
Recently, emails arriving via my Hotmail account have ceased to open when using the "Display as HTML" button option provided at the top right of the message. I just get an error message saying "Connection Failed", with the not too useful facility of being able to acknowledge this by pressing "OK"! This did not occur for the previous 7 months or so I have owned the phone. Is it a result of the latest update?

What was the update?

From memory, a firmware update about 10-12 days ago. Interestingly, I've received a request to update Samsung Push this morning. I wonder if this glitch has been more widespread and this includes a repair patch? Will check shortly. Thanks for responding.

No, doesn't fix it, unfortunately


text:
running app is shut down when screen powers on
I recently updated my Samsung S3 (T-Mobile) with the OTA update to Android 4.1.  Ever since the update, after the phone screen powers down (manually or on timer), turning the screen back on closes the running app.  I don't know if this is some new default behavior with Android 4.1, or if this is a T-Mobile customization ("feature"), or a bug (with Android or T-Mobile's customization).
I can find no information on this behavior, nor any setting addressing it.  What do your phones do?  I prefer having the app running when I power the screen back on.  I especially hate it when I lose the backstack of other apps that launched the current application.
Note: I did not wipe data after upgrade, and no task killers are installed on the device.
Thanks ahead,

It's for sure no "Android 4.1 feature". I have two devices running 4.1.1, and never noticed that (it wouldn't even make sense). I'd rather say it's either a bug, or a "special configured feature" (i.e. something configured wrongly) -- though in the latter case I'm at a loss of what to check. Maybe your provider can tell you more (reporting back can't hurt).

Same here: Opening browser, turning off screen and on again would end in the browser being visible (on Android 4.1.1). I could think of two scenarios: T-Mobile's fault while tweaking the ROM or the apps fault if its just one or a couple (but not all). Also, did you wipe data / factory reset your phone when upgrading from 4.0.4?

Just my guess but could you check if you have task killers installed. My guess is it could be set to kill apps when screen goes off.

Thanks for the replies, stackexchange just informed my account of this activity.
No, no task killers installed.
So I did not wipe data after performing the upgrade.  Didn't expect to have to do so, and likely would not have upgraded if that were required.


text:
How to block all phone calls, but only allow SMS and networking?
It's kinda disturbing when people keep calling me during work or meetings, but to me it's okay if I receive short messages or Whatsapp message because I can reply them few minutes later in a short break. I'm new Android user and wonder if my phone could do that for me.

Maybe just suppress the ringtone, so you at least know who has tried to call you?

@Abed maybe there is any app for that but I am able create this tiny apk for you

@Lumma: if it's useful, it will be much appreciated.

@Abed, put here your android version and give me some time

The  updates solutions: 1 and 2

You can use the tried and tested Call Barring method

Go to Settings
Select Call Settings
Look for Call barring
Now select All Incoming
Enter your default PIN (1234)

There, all incoming calls will be blocked. You may still be able to place calls unless you barred that too.
This feature is carrier network dependent and it already exists in the dumbphone era. Still useful though.

I am unable to find call barring option in Nexus 5. Can you please help. I want to block all incoming call.

This won't work without proper support from the carrier, as you mentioned. And there are surprisingly many carriers which don't support this.

Try this:

Go to Contact list
Select contact
Open menu, and press the "Block" button (or "Add to blocklist")

I also found Call Guard in the Play Store. Maybe you take a look at it.

You need 50 REP to comment. :)

(At least in some phones, for example LG G3) there's an option for this:
Settings / Networks / Call / (select Common if this is dual SIM device) / Call reject. You can select Reject all calls in Call reject mode to reject all calls automatically.

This is standard in Android now, should work in all phones. Settings > Call > Call Reject.

Go to call forwarding menu and forward all calls to voicemail

Not everyone has a voicemail...


text:
Android 4.2 for Asus Transformer tf300t
I bought an Asus Transformer tf300t tablet. It runs on Android 4.1.
I really need the multi-user feature of the Android 4.2.
I read that Asus will provide an upgrade for all the Transformer series to Android 4.2, but there isn't any official announcement.
Should I wait for this hypothetical upgrade or install a CyanogenMod ROM right now?

FYI from the future: the stock ROM is now at 4.2.1

You can install Cyanogen now, and in the event of an official update, go back to the stock Rom.
Steps to install CyanogenMod in Asus TF300t: http://wiki.cyanogenmod.org/w/Install_CM_for_tf300t

I never install cyanogen, is there any risk ?

I installed Cyanogen myself many times, and it's very simple. Just follow the steps they provide and remember to backup all the appData you can (Games and other apps).


text:
Storing Apps on internal storage
I have recently bought Karbonn A15, i am facing 2 problems in it.

How to Store images taken from the camera to SD Card, currently its storing in Internal Storage, i have 8GB of External Storage, but just have 2.5GB of internal
How to store apps in internal storage, currently it by default stores on system space, i have 2.5GB of internal storage but just have 581MB of system space.

Can anyone tell me how can i do the settings for the above things.

Short answer to your questions:

In many cases, the camera app itself offers to chose the storage for images/videos. Check its settings for an item called "storage". If it's not there, you could try to use a symlink of the DCIM folder to the sdcard.
That's a case for App2SD -- but depends on whether the apps support it or not. You can check this e.g. in Settings→Apps→Manage Apps. If supported by the app, you should be able to move it out of the "system space" from here.

As for where an app is installed by default, mostly depends on two things:

what the developer specified in his apps Manifest for the install location (see App Install Location in the developer's documentation)
what the user defined in the Android settings as default install location (see e.g. How to Install Android Apps to the SD Card by Default & Move Almost Any App to the SD Card)

Related information:

Install apps to sd card by default
Setting default install path in android (xda-developers)
Set The Storage Card As The Default Install Location In Android (socialtimes.com)

thanks for the prompt reply, just wanted to know that if there is internal storage available, why its storing apps in system space... i am not asking on SD card but atleast it should store on internal storage by default. because even if i move the app it does not totally move to internal storage, it still have some portion in system space.

That has to do with two things: a) default settings on your device, and b) default definitions in the Manifest of the app. I will add some details to my answer.


text:
Why my Nexus 4 keeps blinking the notification LED?
The notification LED in my device is always blinking. There's nothing in the notification area and it keeps blinking.
Sometimes its a dark blue / violet and sometimes it changes to a white light.
I Don't understand if this is an expected or unexpected behavior. I presume the notification light should be related to the notification area and should stop when it is cleaned.
I read here LED wont turn off that I should try reseting it. I'll try it if works I post here again.

Resetting it into Safe Mode and resetting again stopped it.

For what it is about, you might want to check What's the default Nexus 4 indicator LED behavior?

I read here LED wont turn off that I should try reseting it. And that's all I needed to fix this problem.
LED wont turn off

If your device is no more in an area where it can reach GSM network, the notification LED will blink (in white if you installed LightFlow).
Still with LightFlow installed, the dark blie/violet blinking is the notification of a new SMS.


text:
How can I use the JXD S7300 game controller with RetroArch?
I want to use my JXD S7300 controllers with the Android RetroArch game emulator. But It seems not to be possible. Anyone has info?

Ok I think that I've fixed this deficiencies of info. The app support so many controller devices but the JXD S7300 is like a PSP, have buttons and joysticks and I don't know how to configure it, I think that is not possible

Ok, I've edited the question to improve the quality and removed my downvote. Please also add the info why the controller is not working: Is it not detected by Android? Or by RetroArch? etc.

I've solved it!!!
It's easy when you see someone using this tablet.
In this video, JDX S7300 testing with ShadowGun, you can see how to set the controls in the 1:30


text:
Does the device/charger consume power after charging is complete?
I'm a bit OCD about efficiency and I have noticed that at least one of my two Android devices tells me to unplug it after charging is complete to save energy. My questions are:

Is it true that a chargeable USB device may or will continue to consume similar amounts of power if it remains plugged in after fully charging?
Does this vary based on hardware and/or software (Is it possible my LG Optimus T phone continues to consume similar power after it is charged, but my Nexus 7 doesn't)?
If a device continues to "consume" power after it is charged, where does it go (laws of thermodynamics and all)?

In searching for my answer, I have found the following questions relevant but not entirely applicable to my question:

Does constant charging harm my Android cellphone?
AC-USB Charging Device Makes Sounds when Device Fully Charged
What component of my phone charger produces chirps and how does it do that?

A number of interesting points to consider, more electronics orientated in nature, than Android..

@Simon yes, it was hard to pick the most suitable forum for this question, but since it was partly specific to a warning message specific to my android device, I decided here would be appropriate. And I'm sure (seeing the rating on this question) many Android users have a similar question.

Perfectly fine by me

Like any other device, regardless if the battery is full or need charging it consumes energy all the time. When your device is fully charged and still plugged in then the charger replenishes the energy used by the phone. It uses less energy than when charging but still. This is called Trickle charging
It is advised to unplug device because keeping you battery fully charged all the time will reduce its capacity and make your battery die faster. Battery needs to be partially discharged and then be fully charged on a semi-regular basis in order to prolong its life.
The following sentence is from  Article on prolonging battery life

Let’s look at real-life situations and examine what stresses lithium-ion batteries encounter. Most packs last three to five years. Environmental conditions, and not cycling alone, are a key ingredient to longevity, and the worst situation is keeping a fully charged battery at elevated temperatures. This is the case when running a laptop off the power grid. Under these conditions, a battery will typically last for about two years, whether cycled or not. The pack does not die suddenly but will give lower runtimes with aging.

You can also read about partial discharging and charging here:
Techrepublic - Five tips for extending lithium-ion battery life

Reading the headlines of the linked article I don't see anything about it being bad to keep the battery fully charged. In fact (for Lithium ion batteries) it seems to be preferred not to discharge the battery much. Can you reconcile that with your comment? Is your comment about avoiding trickle charging specific to non Li batteries?

Lithium ion batteries should not be discharged below the safe voltage rate because it may damage the cell. If you read the full article you will see that:
"A continuous trickle charge would cause plating of metallic lithium, and this could compromise safety. To minimize stress, keep the lithium-ion battery at the 4.20V/cell peak voltage as short a time as possible."
And lots more about parasitic load and stress for the battery.

Lithium batteries can NOT be trickle charged. What actually happens is the phone will cycle between charging and discharging fairly quickly, draining the battery maybe 5% per cycle.

During the times when the battery is draining in that quick cycle, is the power consumption less, or is power being used to drain the battery? (My original question: is it wasteful or not?)

The only thing which drains you battery is the phone itself while it's being used.
Again constant charging and prolonging battery life have been already discussed here:
http://android.stackexchange.com/questions/1020/does-constant-charging-harm-my-android-cellphone
"As for battery life, temperature is apparently a factor -- the hotter the environment, the more capacity loss over time. And storing the battery at 100% charge is actually unhealthy for Lithium Ion batteries!"

@Sephiroth, Yes, my question is not about the effect on the battery, but rather about the effectiveness of the power being drawn from the charger. Is the power drawn from the charger after the device is fully charged wasted, diminished/negligible, or used only to prevent battery discharge (relatively efficient).

Hi, I have tested that for you at home. Normal charging 4,5 Watts of energy drain from the socket, then when fully charged my meter shows 0 for 2-4 minutes, then it starts charging and it takes 2.9 Watt from the socket. Charging lasts for 2-3 minutes and then it stops again to wait until the battery goes down a bit. Depending on condition of you phone (screen turned on, on call etc.)  the charing process is more frequent but every time it uses slightly less energy then normal charging.

@BlueMonkMN Quoting the quote, but with the correct emphasis: the worst situation is keeping a fully charged battery at elevated temperatures. I fully agree with you, as many resources also underline: what kills LiIo batteries, is deep discharge. Not frequent charging, not "prolonged charging".

"keeping you battery fully charged all the time will reduce its capacity" does the capacity reduce only because it will then inevitably get some heat or high temperature eventually?


text:
HTC ONE X Custom ROM Issue
I tried to install a custom ROM on my htc one X without making any backup. My new custom ROM did not installed correctly. It is just showing X type logo of custom ROM after htc splash screen. I can go to hboot, fastboot and recovery menus. I can also access the memory card. My problem is that I do not know how can I add new custom ROM on memory card so I can install it. Please help.

Please post the exact steps you've taken to install the ROM.

In most cases you can simply copy the corresponding ZIP file to the card (e.g. using a card reader attached to your PC), and install it from within the recovery menu. To find different ROMs, please check with Where can I find stock or custom ROMs for my Android device?, or e.g. directly on CyanogenMod.com which I know works this way.

@Izzy : I am using htc one x. It has no external memory card. When I connect my device with PC, it do not show device. So I am stuck on how to add ZIP file in card. :(

@Chahk I followed that ROM and tutorial http://wccftech.com/root-htc-one-x-endeavoru-to-aosp-android-4-2-2/

If you can boot into recovery, adb should recognize your phone. Verify this by issuing the following command in command prompt: adb devices It should return the serial # of your phone. If it doesn't - you need to install USB drivers. Now using the "adb push" command you can copy the necessary files to the phone: adb push <path-to-zip> /sdcard Now you can try flashing the phone again as per instructions.

@Chak thank you. When I wrote command adb devices. It shows my device but with offline status. When I try to execute push command it says  " device is offline". I don't know why it is showing my device offline. You have any idea about that? Thanks

please see my answer below...

yesterday I had the same problem,and finally I found the solution.

Flash TWRP recovery on your one X, and power off.
Then Connect your phone to your PC by using usb cable
Boot into twrp recovery select mount & storage on twrp menu and the
select Mount USB Storage,after doing this your PC should see your phone as USB storage.
Copy your rom file into sdcard on your PC.
Disconnect the phone from PC,reboot your phone into bootloader and
then run twrp recovery.
Before flashing rom full wipe is recommended to avoid problems, so full wipe by twrp recovery or by fastboot commands (fastboot erase cache)
Flash compatible boot.img by using fastboot commands (fastboot flash boot bootfile.img)
Full wipe your device
Then flash the rom.zip by using twrp,that's all.