# Question
Title: How can I disable auto-dimming of the screen?
**What I'd like to see:**

* When idling, the screen turns off after the configured amount of time.

**What I see:**

* When I don't do anything, the screen dims a bit after ~23 seconds, then at 30 seconds it turns off as expected.

I have no idea why this dimming short before the screen timeout happens and where to disable it.

**My settings:**

* *Automatic Brightness* disabled, brightness set to the lowest level.
* *Screen time-out* at 30 seconds.
* *Auto adjust screen power* disabled.
* *Timeout* for lock screen is zero (*Immediately*).
* *Use Power saving mode* is enabled (it sets the screen brightness to 10% at less than 20% battery power left). Disabling it had no effect.

This happens with Android 2.3.6 (no idea if it worked before the update).

# Answer
It's to alert you that the screen's about to turn off. It's more useful when your timeout is longer than 30 seconds, certainly. I would assume you'd need a custom kernel or at least to root and edit some config files in order to prevent this, I don't believe there's anything in Settings for it.
> 6 votes

# Answer
I suggest the Screen On app. I use it when I don't want the screen to dim or turn off, because I want to be able to instantly pause the playback on my audiobook without having to first hit the power button,then swiping the screen.

When you want it to revert to a more power-saving mode, you can turn the app off again from the notification bar. It isn't customizable to allow it to dim after a specified time, but it will keep it from dimming at all. Better than nothing!
> -2 votes

---
Tags: 2.3-gingerbread, screen-brightness
---


# Question
Title: My phone is giving inaccurate readings of battery level
I have a Huawei u8160 running Cyanogenmod 7.2 .

my phone is giving inaccurate readings of the battery charge level (e.g one day morning it was 33 that day evening it became 34 without touching the phone)

is that an indicator of malfunctioning battery,or the sensor is reporting false readings?

# Answer
> 2 votes
It is not very uncommon for Cyanogen to have some problem with battery status reading. Things you can try:

* Turn off the phone and take off the battery for a while;
* Let the battery fully drain and then reset the battery calibration on clockwork recovery;
* Try an app like this.

**Note:** I'm not sure why, but when I changed my battery visualization to a percentage view instead of the default (in the Cyanogen configuratons), the battery lectures of my smartphone started to give me wrong readings. When I switched back, it got back to normal *after a fully recharging*.

---
Tags: cyanogenmod, battery, sensors, huawei-u8160
---


# Question
Title: Possibility of monitoring internet traffic in case where galaxy tab is used as a mobile access point?
My employer gave me the Galaxy Tab. I am using it as a mobile access point (Wi-Fi) connection for my home computer. I do not have other internet access.

I would like to know if my employer can monitor my internet activity (see my email, visit sites I have visited, etc.) ?

# Answer
This depends completely on their mobile plan and how they have set up the tablet. AFAIK, *most* internet tethering apps **do not** collect activity, but *theoretically* their mobile provider could be monitoring the activity on their connection and reporting it back to your employer. However, there are too many factors here to give you a definitive answer.
> 1 votes

# Answer
AFAIK, from the employer side, he can know the amount of traffic you've spend, if your using a data plan, but not where you spend it.

A data plan provider would have to violate some privacy rules/laws to collect such information.
> 0 votes

# Answer
Most probably there's no surveillance.
Android's corporate device management support is still in its infancy.

In case you got it pre-setup'ed for you you can wipe/factory reset it. You're then sure you got rid of whatever setup was done by anyone after the tablet has been bought.

But before you do this:

* Check for device management software.
Settings -\> Security -\> Device administrators.
You could look for stuff like mobile iron (used to enforce policies and monitor installed apps and such on company owned or BYOD phones/tablets).
* Check for a configured VPN connection.
Settings -\> wireless&networks -\> more -\> VPN.
Your company might have set up a VPN that routes **all** traffic including tethered traffic through company servers. Monitoring could be done there then.
* Check for a Microsoft Exchange profile.
This can only be used to remote-wipe your tablet, there are however no further options for device management and monitoring.
> 0 votes

---
Tags: wi-fi, wifi-tethering, data-monitoring
---


# Question
Title: How can I merge contacts in CyanogenMod?
Can I merge contacts in CyanogenMod 7 like I was able to do in HTC Sense?

Let's that I have my contact 'John Smith', then I import contacts from Facebook and a new John Smith appeared. I want these two contacts to be merged under one single contact.

Can I do that somehow in CyanogenMod 7?

# Answer
Merge exists in CM 6 - edit the contact, select "join" - if it's not in 7, it's a regression.
> 7 votes

# Answer
It's also available in CM9: If you have selected "edit" for a contact, the overflow/context menu will show the "join" option.
> 6 votes

---
Tags: contacts, cyanogenmod
---


# Question
Title: Running out of Memory while installing SPB Shell 3D APK
I am using LG P500 phone, running Android 2.3 (Gingerbread).

I am installing SPB Shell 3D APK file which I got from internet.

After some time it shows error that **Memory Full, Please Uninstall Some Apps to Free Memory**

Though I have 50 MB Free memory.

# Answer
50 MB is not much. Consider that for installation, the `apk` gets probably temporarily stored there (in `/data/local`(not always sometimes it's in the `/cache/download/` folder) -- at least that's what the playstore app does, I'm not sure about a "local install" where the `.apk` probably is available from your sdcard) for processing, then gets installed (below `/data/app`) and initializes its data (below `/data/data`). And during all that, it should leave enough free space to allow all other apps to work normally: Creating temporary files, log files (at least the latter again being stored below `/data` in many cases, e.g those you can access via `logcat`), and manipulate their data (guess where -- yes, again below `/data/data`).

So you see: Most of these actions take place on the `/data` partition. Now look what size the `.apk` of *SBP Shell 3D* has. Something about 10..15 MB? So when installed, it creates its data structure below `/data/data` as well, which adds to this. And during all that installation process, free space probably falls below 30 MB (if it really requires a copy in `/data/local` for the install, even below 20 MB) -- which is why the system alerts about "free space getting low".

The solution already came with the warning: Uninstall some apps. Or move some bigger ones / rarely used apps to SD, if possible. Or clean up some cache -- but that will only help temporarily.

You might also want to check some other space/installation related questions here:

could be good starting points.
> 5 votes

---
Tags: internal-storage, installation
---


# Question
Title: Install Android apps in Kindle fire with Jelly Bean 4.1
I upgrade my Kindle Fire with Android Jelly Bean 4.1 but i can't install some apps from Google Play site, it mentions that they are not compatible with the device, the only solution now would be install apk's manually? or depends on `AndroidManifest.xml` configuration set in every app?

# Answer
The kindle fire does not support Google Play or Jelly Bean. I would guess that is the root of your problem. You are trying to run an application that doesn't work on a device with an OS that it wasn't meant to run.

Edit: If you are attempting to install them via the market web page front end then you are only doing the latter of the above. Either way though the official Market does not support the Kindle Fire, you have to use amazons app store. Which I suspect also may not work since you installed an unsupported OS on your device.
> 1 votes

# Answer
Kindle fire doesn't have phone support, camera support, maps and also some few hardware support. So when your are trying to install those apps It will show

```
“your device isn't compatible with this version”

```

**Solution:** Look for apps which are supported by the Kindle Fire and then you can download it via Amazon store or Google Play.
> 0 votes

---
Tags: applications, google-play-store, amazon-kindle
---


# Question
Title: Is NTFS file system supported on Huawei u8160?
I have a Huawei u8160 running Cyanogenmod 7.2 .

I have a 500GB portable hard drive which is file system is NTFS , I connected the hard drive using OTG the phone didn't recognize it at all.

So I was wondering if my Android system supports NTFS?

and if it doesn't how can I make it supported?

---

**EDIT:**

I've formatted a flash drive to NTFS ,the phone detected it but it couldn't mount it,how can I mount NTFS file system on my phone?

# Answer
I haven't seen any Android system supporting NTFS out-of-the-box. Could be some CustomROMs do, or there are some "root mods". So without root, it might get hard (though there might be some UserSpace mods as well, technically spoken).

If your device is rooted, you could take a look at NTFS Mounter, which might or might not support your Huawai (take care to have a backup at hand anyway until you can be sure everything works as expected).

Moreover, there was an article at XDA-Developers in June on Full NTFS Read/Write Support for Android you might want to read: *According to the OP, he compiled a generic NTFS-3G driver for Android that should work on all ARM devices with a `fuse.ko` module.* As it involves a kernel module to be loaded, it again requires root. And also again: It might or might not work on your device, take care for backups.

A third source is Paragon's NTFS & HFS+ for Android (also available at Google Play). Paragon is quite well-known with disk utilities on Windows, so I'd trust them to get the NTFS part right. But as you might have guessed: This tool requires root as well, plus the above mentioned fuse module.

If you need more details, try the Google Search for "android ntfs" where I got above results from, all on page 1 ;)
> 4 votes

---
Tags: cyanogenmod, usb-host-mode, compatibility, huawei-u8160
---


# Question
Title: What does ROM Manager consume so much internal storage for
My Nexus S is running out of internal storage. I looked at the space consumed by individual apps in Titanium Backup. ROM Manager is consuming over 200Mb internal storage for "data". That is pretty much from 1Gb of storage. Is there any way to reduce the space consumed by it?

# Answer
This behaviour of ROM Manager was not intended, and according to the maker of the app, it has been fixed now.

The reason for this is the downloading of ROM icons when browsing the ROMs list. Somebody had posted a ROM as the icon causing it to be downloded in the background. I just ended up deleting the big file with Root Explorer. I don't know if I should have, or whether it broke anything, but I really needed the space.

The article on XDA, where this was discussed
> 1 votes

---
Tags: internal-storage, rom-manager
---


title: android video transfer crash

text:
# Question
Title: android video transfer crash
I'm trying to transfer video files to my phone, HTC Google Nexus One (Android 2.3.6), but with this strange behaviour:

* After I copy file to the phone, when I'm opening it with computer it works ok.
* After turning off USB mass storage, I open the video file with my phone's video players and it's not opening.
* When I mount the phone to computer again and try to open it with the computer video players it again can't open.

**I suppose that:**

* The problem is not with video encoding, since it can be opened the first time, from the PC.
* It can be opened from the PC after I transfer it to the phone, so the problem is not with cable or transfer either.

The fact is, that after I unmount phone from my computer, the video crashes and can't be opened either by the phone or the PC!!!!

Can someone help me with this?

I will be very appreciated.

# Answer
This looks like a corrupted file. You most probably pulled the cable before everything was written to disk. Compare original and copied file by calculating both md5sums and see if they match:

Open office' site has a comprehensive guide how to do that on Windows and Linux (same on MacOS). http://www.openoffice.org/dev\_docs/using\_md5sums.html
> 2 votes

# Answer
I solved it by downloading ES File Explorer from the Play Store (it's free), then put the videos that won't copy in a ZIP file - which you copy to your Android device and extract them there.

I successfully played those videos using the VLC beta version.
> 1 votes

---
Tags: video, nexus-one, file-transfer
---


# Question
Title: can sony xperia u(st25i) 's otg be connected to external power?
Can Sony Xperia U be connected to a Y-Cable to provide extra power for OTG to avoid phone battery consumption?

I'm asking this because the phone is already giving power ,will that make a short circuit or it's normal?

# Answer
> 1 votes
You can, but a kernel mod may be required to also keep the host device charging.

However, many devices are already prepared for this, and cables are being manufactured and sold to this specific end, as one can see from this Ebay search, there's already several cables in the market.

To your particular device, the sonic\_boom user at this XDA Developers forum thread made a Dock Station to use OTG cable and charging at the same time:

> My docking station will work with any 2012 maybe 2011 SONY XPERIA DEVICES with OTG SUPPORT.
> I have tested this so far on my XPERIA S and working perfect.

# Dock Station

# Schematics

---
Tags: 2.3-gingerbread, battery, charging, usb-host-mode, sony-xperia-u
---


title: View email previews on lock screen?

text:
# Question
Title: View email previews on lock screen?
I am desperately looking for a way to view a preview of a new email message on the lock screen. I would like the screen to light and preview the email for few seconds.

If it is relevant - I have ICS 4.0.4

# Answer
> 2 votes
Try the widget locker app. It will allow the message preview that scrolls across the notification bar to show. if that isn't enough you could install any widget including mail widgets on the lock screen.

---
Tags: gmail, lock-screens
---


# Question
Title: How do keep all my inbox received emails on my Galaxy 3
When sychronising, all the emails i moved to archive on my pc disappear from my Galaxy S3 inbox. I had a Blackberry previously and it would retain all emails received for a set period, 4 weeks in my case, regardless of what i did on the pc. Is there anyway to set the Galaxy S3 to retain all incoming emails ?

# Answer
> 1 votes
Reading it again: The way you speak of synchronizing, you probably use IMAP. So if you move mails out of one folder on one client, this gets synced to the other clients as well.

If the archive is a local folder, you will thus not find them on your S3 anymore (as for this client, the mails simply got "deleted"). But if it's a subfolder on the IMAP server, you simply need to locate this folder on your SGS3. How this is done, depends on the client used -- so we cannot tell you unless you specify those details requested in the comments.

---
Tags: email
---


title: All emails under K9 -app?

text:
# Question
Title: All emails under K9 -app?
Android requires at least one-working Gmail that is apparently tied to the default email. Now I would like to have that email under K9 but I cannot because Android instructs me to hard-reset my device if I remove the Gmail from the default Gmail. Now the problem is that I get two notification from Default client and from K9. So how can I have all emails under K9?

# Answer
You don't need to remove default Google Account or factory reset to ditch double notifications. Use any one of following methods which suits you best:

* From `Settings` ~\> `Accounts & Sync`, choose the default Google Account & **turn off Gmail Sync**. After that, you'll receive notifications from K-9 Mail, ONLY.
* In some Android versions, if you turn off all sync options listed under a Google Account, a *Sign Out* button is appeared. All you need is to tap it. Go ahead to try it.
* If you are rooted, delete `/data/system/accounts.db` file & restart the system (On Jelly Bean, its `/data/system/users/0/accounts.db` and the location can vary with Android versions). Next time, you'll be asked to add Google Account again.
> 4 votes

---
Tags: k9-mail
---


# Question
Title: Firm Gmail, i.e. Google Apps -email, with K9 -email program?
> *I am struggling with this kind of Google Apps -site, example from Google.com -site here.*

I use two email-clients in Android: default Gmail -client (because it is tied to my Gmail) and K9. I am able to set up all Gmails to K9 but one email i.e. the firm email from the site `https://www.google.com/a/firm.com` (excluding ofc the Android-tied-gmail -account, more here). It means that I am using K9 and default Gmail-Android -program but I would like to have all emails under K9. Is it possible and how can do it here in the case of the Gmails targeted to firms? I think such gmails are called something like Google App or something like that, not sure.

The firm Gmail is not accepted like this in K9:

> Username: forname.surname
>
> Password: correct
>
> IMAP server: mail.myFirm.com
>
> Security type: SSL (always)
>
> Port: 993
>
> Use compression on network: Mobile Wi-Fi Other

If I change the IMAP -server to `mail.gmail.com`, it gets accepted but it won't work correctly -- redirection problem. But now I am stucked why it does not accept the above settings?!

**Perhaps useful to other like-minded**

> 1. All emails under K9 -app?
> 2. Email-client with Sent emails from many emails under IMAP?
> 3. Setting up IMAP over device-swarm that has a Debian Desktop -client, more here.

# Answer
> 5 votes
The default settings by K9 have at least two mistakes:

> 1. use `imap.gmail.com` instead of `mail.gmail.com`.
> 2. use full emails for usernames such as `forname.surname@myFirm.com`, not just `forname.surname`.

**Example settings**

> **Incoming Email settings**
>
> > Username: **forname.surname@myFirm.com**
> >
> > Password: correct
> >
> > IMAP server: **imap.gmail.com**
> >
> > Security type: SSL (always)
> >
> > Port: 993
> >
> > Use compression on network: Mobile Wi-Fi Other
>
> **Outgoing Email settings**
>
> > Outgoing Server Name: **smtp.gmail.com**
> >
> > Use Authentication: Yes
> >
> > Use STARTTLS: Yes (some clients call this SSL)
> >
> > Outgoing Server Port: 465 or 587
> >
> > Username: **forname.surname@myFirm.com**

Some useful information extracted from this blog here.

---
Tags: gmail, imap, google-apps, k9-mail
---


# Question
Title: How is the Gmail password stored in Android - and where?
I have looked around and found no information on how Android manages to store passwords on the device. Especially Gmail passwords. I'm looking to learn how Android encrypts and stores passwords ? What key does it use and where is this key stored, and what encryption algorithm it uses.

# Answer
> 38 votes
Gmail's official app *doesn't* store password in your device. Your password is 100% safe if you use this app.

**This is how it works:** The password is used by Google's authentication servers for the first time ONLY. After first successful authentication, an `Auth Token` is downloaded to device which is stored in `accounts.db` file as plain text. For all subsequent logins, this `Auth Token` is used, NOT your original password.
So, if your device is stolen, all anyone can get is `Auth Token` which becomes invalid once you change your password. So, you'll be in ultimate command.
For ultimate security, I'd recommend you to enable `2-Factor Authentication` & create `Device Specific Password` for your device. After losing device, all you need is to disable that device. You don't even need to change main password.

**Note:** These all aren't true if you use third-party email apps for Gmail viz. Stock Email app, K-9 Mail etc. IMAP or POP protocol needs original password to authenticate users everytime. So, plain password needs to be available to email app before sending it to server. So, most of email apps store passwords in plain text (hashing/encryption is useless because hashing/encryption key needs to be stored locally). In this case, I'd recommend you to enable `2-Factor Authentication` & create `Device Specific Password` for your device. After losing device, all you need is to disable that device.

**Update:**
Technically, its possible to store passwords locally in encrypted/hashed form without keeping encryption key/ hashing key in plain text locally. Thanks to @J.F.Sebastian for pointing it out.  Unfortunately, such implementation for Android isn't available yet.  Starting ICS, Android provides KeyChain API using which an app can store a password locally in secure form. Apps using KeyChain API are rare, but stock email app uses it (Thanks to @wawa for this info). So, your password will be safe with stock email app as long as your screen is locked. Remember, KeyChain isn't safe if device is rooted and its not available on pre-ICS devices.

# Answer
> 13 votes
Android passwords used with the built-in Email application are stored in plain text inside a SQLite Database. This is in contrast to the *Gmail* application, which uses Auth Tokens as described in Sachin Sekhar's answer.

For Jelly Bean, the database location is:

```
/data/system/users/0/accounts.db

```

The above location varies with the Android version

This location on a non-rooted device is secured and protected by the Operating System.
On rooted devices, users have already technically cracked their own security, and even if it wasn't in plain text it would still be trivial to decrypt as the key has to exist somewhere on the device to do it.

A member from the Android Development Team posted an explanation that till today still applies:

> Now, with respect to this particular concern. The first thing to clarify is that the Email app supports four protocols - POP3, IMAP, SMTP, and Exchange ActiveSync - and with very few, very limited exceptions, all of these are older protocols which require that the client present the password to the server on every connection. These protocols require us to retain the password for as long as you wish to use the account on the device. Newer protocols don't do this - this is why some of the articles have been contrasting with Gmail, for example. Newer protocols allow the client to use the password one time to generate a token, save the token, and discard the password.
>
> I urge you to review the article linked to in comment #38, which is well-written and quite informative. It provides some very good background on the difference between "obscuring" passwords, and making them truly "secure". Simply obscuring your password (e.g. base64) or encrypting it with a key stored elsewhere will *not* make your password or your data more secure. An attacker will still be able to retrieve it.
>
> (In particular, some claims have been made about some of the other email clients not storing the password in cleartext. Even where this is true, it does not indicate that the password is more secure. A simple test: if you can boot up the device and it will begin receiving email on your configured accounts, then the passwords are not truly secure. They are either obfuscated, or encrypted with another key stored somewhere else.)

Aditionally, since this issue appears to disturb many Android users, you can also follow this discussion at Slashdot - Android Password Data Stored In Plain Text.

---
Tags: security, gmail, password, google-account
---


# Question
Title: How can I send a file wirelessly without bluetooth or a Wi-Fi network in ICS?
I know that one of the new features is WiFi-direct for ICS (noted at the very bottom of the page in the link). Is there a way to leverage this new feature to transmit files from one ICS device to another?

This would be useful because the WiFi speeds would be greater than bluetooth, and you wouldn't need to be connected to a WiFi network or create a hotspot.

The Samsung Galaxy S II apparently has this feature built in pre-ICS (go Samsung!). Is this same method available in ICS? Or is there an app for it?

**EDIT:** Because the galaxy nexus is made by Samsung, and is the only device out with ICS right now, I'm not sure if this "WiFi Direct" sharing (per the link and Ryan's answer below) is built in to ICS vanilla (Samsung did have WiFi Direct sharing pre-ICS, after all).

As such, I've added a vanilla tag, so I'm asking, **is in the vanilla source code to allow a way for users to share files using WiFi Direct? If not, is there an app for it in the market?** I want to know how to do this on all ICS phones, not necessarily just the galaxy nexus.

# Answer
> 23 votes
Android 4.0 introduces WiFi Direct in to the core of android. it basically creates an adhoc connection between one device and another using WiFi by creating what I guess could be considered an Access Point. You do not need a wifi access point to use WiFi Direct, and actually, if you are connected to wifi when turning on WiFi direct, it will disconnect you. You cannot be connected to both an Access Point and enable wifi direct.

The host device acts as an access point for other devices to connect to, then through other pieces of software, files and other data can be shared or streamed to the client device(s).

To use Wifi Direct, in `settings -> wireless & networks` you have to enable it. Then you should have an option to "share" via wifi. This works a lot like bluetooth sharing, where the other device has to be "ready to accept" your files. You will only be able to do wifi direct with devices that have explicit support for wifi direct. Android 4.0 is the the first version of the OS to have built in support for wifi direct. The Samsung Galaxy S II does have support for wifi direct as well. This was an added feature Samsung put in to their TouchWiz version of Android. While the settings for it are a little different then in Android 4.0, they basically work the same.

There are other devices, like some TVs by Sony, that also have wifi direct support.

Wifi Direct is not hardware specific, its part of the OS. If the device supports wifi then it supports this. It is part of the CORE OS in Android 4.0. Any device that has Wifi and is running ICS, this will work with. Some Samsung devices (I think only the Galaxy S 2) have support for wifi direct even though they are not running ICS. This is because Samsung added the support for it in to their version of Android.

While the Galaxy Nexus is manufactured by Samsung, it does not run the Samsung modified version of Android. It runs a completely "Google Experience" version of Android. The WiFi direct that exists on the Samsung Galaxy S II is different then the one built in to Android 4.0.

Here is the android SDK docs that talks about support.

> Wi-Fi Direct allows Android 4.0 (API level 14) or later devices with the appropriate hardware to connect directly to each other via Wi-Fi without an intermediate access point. Using these APIs, you can discover and connect to other devices when each device supports Wi-Fi Direct, then communicate over a speedy connection across distances much longer than a Bluetooth connection. This is useful for applications that share data among users, such as a multiplayer game or a photo sharing application.

Here is a screen shot (taken from this video) showing wifi direct setting available on a Nook Color running CM9. The video is at the location where it shows wifi direct working.

Here are 2 screenshots from my viewsonic g-tablet that is running ICS (this is not a CM9 Kang, it is vanilla AOSP android). The first shows the setting, the second shows that i turned it on.

To show that WiFi Direct is actually part of the core of android and not just CM9, here is the source code for the WiFi direct settings. This is the github mirror of the AOSP. You can compare it to CM9 source too.

# Answer
> 3 votes
There's a new app on the Android market called FileBeam that lets you Beam DropBox files from Android to Android. Maybe that can help you too ;) https://play.google.com/store/apps/details?id=com.filebeamapp.android

# Answer
> 1 votes
There is a reference to the feature in the source code, but with a different name: WifiP2P. Just did a search in GrepCode and found the package android.net.wiki.p2p.

Wifi Direct itself is located in com.example.android.wifidirect, so I don't think it's necessarily included in vanilla OSs, this is just an example on how to use the Wifi P2P API. Someone with more experience in Android source may know better.

# Answer
> -3 votes
For Samsung G-Note users (possibly SII and SIII users too), go to Settings, then under the Wireless and Networks section select More..., and you will see the option there.

---
Tags: 4.0-ice-cream-sandwich, file-transfer, vanilla-android
---


# Question
Title: Sync to my own server for contacts, sms and notes?
> **Possible Duplicate:**
> Suggestions for syncing data to someone besides Google? Funambol?

Does anyone know any effort on Android which can sync contacts, sms or even notes/todos to my own server? I saw similar function on Samsung GS3 "Add account" settings page but not sure how it works.

All advice are appreciated. Preferably open source projects. Thanks!

# Answer
The most complete solution for private contacts and calendar sync seems to be installing the CalDAV-Sync and CardDAV-Sync apps on your phone and setting up a CalDAV / CardDAV server. Several open-source solutions are available; check the list on Wikipedia. I've been a happy user of a DAViCal installation.
> 3 votes

---
Tags: contacts, sms, sync, notes, to-do-list
---


# Question
Title: Why do I need to remove my battery periodically to fix phone problems?
On my HTC MyTouch 4G (Android 2.3.4), twice now the diagnosis for odd failures was to take the battery out, wait a minute, and replace it. (The first failure was loss of network; the second was web sites only partially working, e.g. I could read SE sites but not log in.) Both times popping the battery fixed it, and my provider told me I should do this every couple months as "preventative maintenance". This violates my mental model. So, clearly, either my mental model is wrong or HTC and the folks at T-Mobile are having fun with me. I'm going to start by assuming it's the former.

I power the phone down at least once a week. I think of this as being like rebooting a laptop computer; when it's powered down I don't expect the battery to be retaining any state. But if that's true, why does performance degrade over time? What is my phone doing with its battery during these times? Does periodically powering down do anything useful, like kill long-running processes?

I tried Google and reviwed the "battery" questions here before asking.

# Answer
It's not the battery retaining state, it's the phone circuitry retaining state. Even when you use a "power off" command and your phone looks powered off some of the circuits will still be connected to the battery so that the phone can be turned on by just pressing the button. So there will be some circuitry powered on even after the phone was "powered off".

This is likely a bug in the circuitry. This actually happens to devices - you sometimes need to "power cycle" them by unplugging them from the power source and then plugging them back. In case of a mobile phone that requires removing and then installing the battery.
> 2 votes

---
Tags: battery, htc-mytouch
---


title: Locating lost android device in home

text:
# Question
Title: Locating lost android device in home
> **Possible Duplicates:**
> An app to locate my Android device around the house?
> My phone was just stolen an hour or so ago. Are there any options for tracking?

Ok so i lost my Samsung Galaxy player 4.0 somewhere in my house. It was connected to Wi-Fi. And i've heard that i can track devices that are connected to my router, how do i do so? Router- Belkin Play N600. Please Help!

# Answer
> 5 votes
Install Plan B using the web version of Google play. Trigger it with a text message to sound an alarm.

# Answer
> 4 votes
I suggest deploying the mk.1 human child.

Tell them if they find it you'll buy them a treat.

...I'm serious. It's alot easier than going technical.

---
Tags: lost-phone
---


# Question
Title: Does Android use a VPN in background when connecting to Exchange?
i use Android 2.3.6 stock. I am new to Android.

At work we have a MS Small Business server, it has Exchange for e-mail. With my laptop (Thunderbird), i can only connect to IMAP if i have a VPN connection to work. But my android phone *can* get my email without a VPN connection. But that is not allowed in our firewall! How can it be? Now the VPN has the same credentials as the email itself. This is probably the way it always works on MS small business server.

I am guessing that Android is so smart that it tries to make VPN connection with the given email credentials when the connection fails initially.

Is that so?

# Answer
Android doesn't do that (nor do iOS and others).

IMHO it's not smart to automatically try to do such a thing. It's just a coincidence that your credentials are the same for both those very different things.

Exchange credentials and VPN credentials should really be not the same to begin with (for obvious security reasons).
> 1 votes

---
Tags: 2.3-gingerbread, vpn, imap
---


# Question
Title: Android 2.2 Galaxy S SGH-T959 kernel update with netfilter
I can't seem to find a kernel update for this phone that would include netfilter. Does anyone know a different way to install netfilter on this phone?

# Answer
The CyanogenMod aftermarket firmware supports netfilter.

You can follow the instructions from CyanogenMod's full update guide for the SGH-959/Samsung Vibrant to install CM7/9/10 (downloads for the vibrantmtd are here).
> 0 votes

---
Tags: wi-fi, kernel, samsung-vibrant
---


# Question
Title: Is there a way to perceive vibrations more effectively when device rings?
I have an HTC Desire HD. I work in a noisy environment as well as ride a motorbike. I often don't hear or feel the vibrations when the phone rings. One of my previous phones had a function where it would ring once every 60 seconds until I attended to the message on my phone.

Is there a way that will provide this service?

Another issue is that sometimes the volume gets reduced. I must accidentally turn it off when I put the phone on my belt clip. One day I had 20 missed calls when checked because the device didn't ring for those calls.

# Answer
You can try MissedReminder. It's free.

> Hate missing txt messages?This will keep notifying of new unread text messages
>
> Do you hate it when you are away from your phone or in a loud place and miss a text message? This app will keep notifying you when you have a new unread text message so you don't miss it. It is customizable to notify as often or as long as you want. The default settings will notify you every 5 minutes.
> 1 votes

# Answer
There's also Notification plus.

It's made for phones that don't have a notification LED to inform the owner of pending (unnoticed) events. From the Play Store description:

> Notification Plus delivers recurring notifications via the phone's vibrator or notification ringtone. This is especially useful for phones which lack a notification LED, such as the Nexus S and Galaxy S variants.
> Because there is no way for the application to receive all notifications in a uniform way, only certain events will trigger the recurring notification. Those events include:
> \- SMS messages
> \- GMail messages
> \- Missed calls
> This application is free software, licensed under the GNU GPL v3. The source code can be found on the project home page:
> http://code.google.com/p/notification-plus/
> 0 votes

---
Tags: vibration
---


# Question
Title: Is my phone's GPS limited by US regulations?
Apparently any GPS module made in the US and exported is classified as a munition if it is:

> Capable of providing navigation information under the following operational condition:
>
> 1. At speeds in excess of 515 m/sec (1,000 nautical miles/hour);
> 2. At altitudes in excess of 18 km (60,000 feet).

http://www.armscontrol.org/documents/mtcr

**Would the GPS still be usable above 18 km or while travelling more than 515 m/sec?**

I have a Droid Charge.

# Answer
> 9 votes
## No it's not.

Commercial GPS receivers (like the one in your phone) only work below 18 km and below 515 m/sec. The rationale behind this is that this way they can't be used in ballistic missiles (yes, I'm serious.)

In order to circumvent this you'd need to flash a different firmware to your GPS chip, if you didn't do this you're safe. No current android device ships with munitions grade GPS receiver.

---
Tags: gps, samsung-droid-charge
---


# Question
Title: Which hardware sensors are supported by Android?
Which hardware sensors are supported by Android? Are there any imaginable sensors that may be planned to be supported in the future?

For every sensor:

* How is the sensor useful?
* Which devices currently have it? (Only for new sensors)
* What do notable apps use the sensor?

Here is a list of currently supported hardware sensors:

**Environment Sensors**

* ambient humidity
* illuminance
* ambient pressure
* ambient temperature
* Device temperature

**Motion sensors**

* accelerometer
* gyroscope

**Position sensors**

* geomagnetic field sensor
* the proximity sensor

> The orientation sensor is software-based and derives its data from the accelerometer and the geomagnetic field sensor.

# Answer
> 11 votes
AFAIK, these are sensors which Android supports:

**\- Accelerometer**

Measures amount of acceleration which the gravity applies to the device, in 3 dimension. Therefore, the device can detect exactly in which position against the earth it is. Its usefulness is very wide, but mostly in games. Almost all of Android phones have this sensor.

**\- Gyro**

This one is very related to accelerometer and according to Wikipedia: "The integration of the gyroscope has allowed for more accurate recognition of movement within a 3D space than the previous lone accelerometer within a number of smartphones. Gyroscopes in consumer electronics are usually called Accelerometers (Acceleration sensors) and come in 3-axis, 6-axis, etc." Not all of Android phones have this sensor, but most of newer ones have.

Full List of Android phones with Gyro sensor

**\- Compass**

This one almost works like a normal real compass, but very very tiny! It allows device to detect in which position it is against the poles of earth. So, apps using this sensor can show you the angle which you have hold the phone comparing to the North, South, East or West. It's main usage is in apps to find your way, in companion with GPS, or for example finding Qibla for Muslims, or any other interested direction which you may need.

List of Android phones with Compass

**\- Orientation**

I Think this one is not a real sensor, but a side usage of Accelerometer. Orientation detection is most used for Android UI and most apps to detect portrait or landscape position of the phone, to rotate the UI accordingly. Almost all of Android phones have this feature.

**\- Pressure (Barometer)**

This one is relatively a new sensor, which detects pressure of air in area which device is in, just like a barometer. It's main usage is to detect altitude of current location of device from sea level. This helps GPS to be faster and more accurate because one of 3 main values (Latitude, Longitude, and Altitude) that are detected by GPS, can be faster detected by barometer. So, GPS would work faster in companion with barometer sensor.

List of Android phones with Barometer sensor

**\- Proximity**

This sensor is mostly located beside earphone in top of front face of the phone. It can be seen easily if you put the phone under bright light (unlike above sensors which are inside the phone and not visible). Its main usage is to turn-off screen, when you are calling and phone is near your head. Android turns off the screen, so it prevents accidental touch of screen when you are not supposed to, and also, it reduces battery consumption in calls. Some apps also use this sensor to control phone by your hand gestures, because this sensor has 2 state, On and Off. On for when something is near it (about 1 cm) and Off for when nothing is near. Most Android phones have this sensor.

List of Android phones with Proximity sensor

**\- Ambient Light**

This sensor, as obvious from its name, measures ambient light in environment where the phone is in. Its value is a number between 0..255 (darkest to brightest) and is mainly used by Android internal system to automatically adjust brightness of screen to be properly readable under bright light of the sun, and also in a dark room. Not all Android phones have this sensor, and no usage except adjustment of screen brightness can be considered for it. I couldn't find a list of phones with this sensor, but almost all if high-end Android phones have this sensor. Its favorite location to sit down in your phone, if ever exist, is near earphone at top of front panel, and looks like a tiny and dark front camera placeholder.

---
Tags: sensors
---


# Question
Title: How can I find out the make and model of the chips in my device?
I'm trying to find out what kind of GPS receiver is in my phone. Every spec sheet is vague on this. I can easily find out what kind Soc or CPU it has, but parts like GPS and FM receivers, Bluetooth modules, Gyroscope etc. are not listed anywhere.

Is there **any** way to find it out?

# Answer
For the best resource out there, use PDADB.

This details every comprehensive chip-set used, for the Droid Charge, this is the spec sheet given.

As for Huawei U8160, this is the spec sheet given on that page.

Depending on how open the manufacturer is with the more intimate details, some may be marked proprietary which will be stated clearly.

The other way of doing it, in the case of the Droid Charge which is a Samsung model, might be to hit up on the Samsung's open source site, and look for the appropriate kernel version for that handset and examine the kernel configuration as appropriate.
> 10 votes

# Answer
# http://www.ifixit.com/Teardown/

A good starting point. They usually note also the chip/part numbers in their teardown reports.
> 8 votes

---
Tags: bluetooth, gps, hardware
---


# Question
Title: Changing file permissions with root, will they remain if I unroot?
I currently use the run-as command through adb to be able to access the data folder of an app that I am developing directly on my phone using AIDE.

When connecting to the phone locally, using connectbot, I can find the run-as command in `/system/bin/` but it has no executable permission. There are other programs/scripts in that folder that do have executable permissions and I can run them.

My question is this. If I root my phone, I can change the executable permissions of run-as. If I then remove the root, will these permissions remain?

I'm not totally averse to rooting my phone permanently but if I don't need to, I'd rather not.

This is on a Galaxy Nexus.

---

I'm aware if I leave run-as executable then I'm possibly allowing myself wide open for security risks. But I am willing to risk it, even just to see if its possible.

# Answer
Yes.

There's nothing magical to restore `/system` partition to original state. Many users gain root access temporarily to remove bloatwares from `/system/apps` & then unroot.

But, remember, if un-rooting method involves flashing `/system` image, you'll lose your changes. So, use proper un-rooting method.
> 6 votes

---
Tags: file-permissions
---


# Question
Title: Which directories can I remove in internal SD in Galaxy SII w/ Cyanogenmod?
I used ClockworkMod to wipe my Samsung Galaxy SII and install Cyanogenmod 9.1 on it. However, when I mounted my phone on my computer, I see that lots of folders were left on its internal SD by apps from before I flashed my phone.

I was tempted to just delete everything on the internal HD from my computer (running Mac OS X 10.6.8), but I noticed there seems to be critical directories on it like one for Clockwordmod.

Here is a list of the directories on the internal SD via ls -a:

Are there directories in here that are essential to the normal function of the phone? A related question is: When I flash my phone, how to I completely wipe it so that when Cyanogenmod is installed, there will be no traces of previous activity as shown in the screenshot above?

Thank you!

# Answer
When doing a complete wipe, you can safely delete all directories off the internal storage. Generally, Android OS will re-create any folders on user areas like internal/external storage if it doesn't find them.

You may want to hold onto (or at least back up prior to deletion) media folders like `DCIM` and `Pictures`, for example. Keep in mind that on different devices Camera apps may store photos and videos in other, non-standard directories. And of course do not delete the `clockworkmod` folder if you wish to keep the NANDroid backups you've made previously.

Under normal operation, `.android_secure` is the only directory on either internal or external storage that is absolutely necessary. It contains apps that were "moved to SD" via settings (if external SD card is not present, apps get moved to internal storage instead.) If this folder is deleted, it will cause instabilities where these apps would not start (obviously), but you may also have trouble uninstalling them from Android, and would need to manually remove their left-overs (the caches, for example.)

Another notable directory is `Android` \- it contains data for installed apps.
> 3 votes

---
Tags: cyanogenmod, rom-flashing
---


# Question
Title: Does Android tethering support promiscuous mode?
Because my desktop computer doesn't have a wireless card, I'm tethering to my Android to connect to my Wi-Fi network.

I was wondering if Android supports promiscuous mode, so I can monitor my wireless network traffic?

# Answer
IIRC you can't put an wireless interface in promiscuous mode when it's used. But this may not be true for all interfaces/chipsets/drivers.

You can install Shark for Root, which is a cut-down wireshark for Android. It does sniff on Layer 2 and above without promiscuous mode, so the results are not the same as sniffing with e.g. kismet. On the other hand you will be able to capture traffic even when tethered. It's maybe possible to set promiscuous mode on some android interfaces. Shark for Root should then be able to capture all packets that your W-LAN antenna receives.
> 3 votes

# Answer
You can't monitor your Wi-Fi network using tethering even if Android supports promiscuous mode for the Wi-Fi chipset.

Reason:
Tethering does NAT internally and assigns you an IP in a 192.168.\* private range via a DHCP daemon running on your phone. There's no way you can see pure Wi-Fi traffic this way.

What you **can** do:
Have a custom firmware installed (e.g. CyanogenMod) and do a tcpdump on your phone itself (if it supports both PROMISC mode and tcpdump)
> 2 votes

---
Tags: wifi-tethering, wi-fi
---


# Question
Title: How To Stop Annoying "Cellular Network Not Found" Popup Prompt?
I am annoyed by this popup because if my cellular network service provider is unavailable, i don't want to use any others available. I just want to stop this popup interrupting my activity and only use my cellular network service provider.

How to turn off this popup?

Thanks.

*HTC Desire S*
*Android 2.3.3*
**Don't know my device's firmware**

# Answer
> 2 votes
The popup you're referring to exists as to alert the device user that the cellular service as become unavailable. If you wish to stick to a specific network, there's nothing you can do.

Options for Mobile Networks are located at:

```
Settings → Wireless & networks → Mobile Networks

```

And there's no option to prevent the system from warning you about the lost of network connectivity.

From the above location, under "Network operators", you have an option "Select Automatically", that will allow your device to select another network without disturbing you.

<sup>*But by your question contents, you don't want this.*</sup>

---
Tags: notifications, roaming
---


# Question
Title: Why hasn't my Galaxy Nexus received the latest OTA update?
I have a Galaxy Nexus and I live in Belgium (so my phone is not locked to a specific carrier). The Android version is still 4.0.4 and when I go the system update menu, it doesn't do anything, no OTA update. I thought the version 4.1 or even 4.1.1 was available. How can I update it 'officially'?

Of course, I already searched but I only found update packages that I'm not sure I can trust.

# Answer
My phone was a yakju and I don't know why those ones are updated like 2 months after the takju. I had to flash it manually to turn it into a takju and after reboot the update was directly available.
> 0 votes

# Answer
I have the same problem for about half of a year. I've tried entering "checkin" secret code in phone Dialer many times, many weeks in a row, tried to clear data of Google service framework - no luck.

But yesterday I've finally get updated to Android OS 4.1.1! Here is how I did this:

1. open phone Dialer, enter **\*#\*#2432546#\*#\*** (numbers is representing word "checkin")
2. wait for message "*checkin succeeded*" in status bar (you need active internet connection, WiFi or mobile - doesn't matter)
3. open system *Settings* -\> *Apps* -\> *All* -\> *Google Services Framework*
4. click "**Force stop**" button, wait few seconds
5. next click "**Clear data**" button
6. when open *Settings* -\> *About* -\> *System updates*. You should see something like "*Last checked for update on 1/1/1970*"
7. click "**Check now**" button
8. if you didn't receive update yet, repeat this procedure from first step few more times (I've succeeded after second attempt). You could also try to replace step 7 by step 1.

All this sounds very strange for me, but I've tried some separate parts of this sequence many times before and it didn't work. Yesterday I've repeat all 8 step exactly as them written above, two time in a row - and I've finally get Jelly Bean on my Galaxy Nexus (I have *yakjuxw* firmware).
> 4 votes

# Answer
Two possible reasons:

1. Your carrier hasn't released the update to their customers yet. Check their support website or call their support to ask.
2. If you have ever rooted your phone and removed and of the systems applications, which includes bloatware apps like Facebook that come preinstalled, you cannot get OTA updates as your phone's system won't match the update anymore and so it won't install.
> 2 votes

# Answer
Maybe wait, I had a Nexus One and my phone get OTA three or four month after the Google release, because of my carrier. But you can get the ZIP file of the OTA package and make a manual install. You can find the file on XDA I think.
> 1 votes

---
Tags: samsung-galaxy-nexus, ota-update
---


title: Pin lock screen - avoid pressing ok

text:
# Question
Title: Pin lock screen - avoid pressing ok
Is there any way to avoid pressing ok on the stock Android pin screen? There was an option to do this in cyanogenmod (9?) for my Nexus S 4G but it's not in stock (which I'm using now, unrooted). Is there any way to make it so that pressing the correct code automatically unlocks it, without having to press ok?

# Answer
> 2 votes
There's a reason why pressing OK has to be done and cannot be avoided is this - the PIN number can be of any length of your preference, and by pressing OK that is signalling the intention that *There I have all the PIN digits entered, now Android, please verify!*

If there was a way to avoid pressing OK, that would impose the restriction on the length of the PIN digits used, once the length of digits is reached (for example *the PIN can be four digits long*), then it would be automatic, but unfortunately in this case, no, you do have to press OK.

---
Tags: lock-screens
---


title: Call Encryption

text:
# Question
Title: Call Encryption
Is it possible to encrypt calls on Android OS?

How do I do that?

# Answer
Curently there is no such official support and the SDK does not allow third party apps to encrypt calls, but if you use a SIP client, the call can be encrypted depending on the SIP client\`s features.
> -3 votes

# Answer
Yes with an app called redphone: http://www.appbrain.com/app/redphone-beta/org.thoughtcrime.redphone
> 8 votes

# Answer
Options are limited unfortunately.

* If you want to make calls using your existing phone service with your existing number, then your best option is Red Phone from Whisper Systems. Of course, your calling partner will need to have the app to for the call to be encrypted.
* If you don't mind using another service, take a look at OStel, a secure VOIP provider.
> 3 votes

---
Tags: security, calls, encryption
---


title: Encrypting SMS and calls

text:
# Question
Title: Encrypting SMS and calls
Is it possible to encrypt calls and SMS messages between two Android phones (or even from android to iPhone)?

This firm delivered a beta on Android Market before: http://www.whispersys.com/

# Answer
RedPhone and TextSecure from WhisperSystems are the best way to achieve encrypted voice and SMS on android.

Those two apps Just Work (tm) and are extremely user friendly.
> 3 votes

# Answer
What you want is Zfone on Android. It is currently not native available, but there is a bug report on the offical Android tracker asking for it. Star it, but don't leave a comment *without content.* This is the best chance to raise Googles attentions on this.

Whats currently possible on Android is good described by the guardian project in this blog post. BTW: The Guardian Project is good resource when it comes to to privacy and security on Android.
> 4 votes

---
Tags: sms, calls, encryption, privacy
---


# Question
Title: Is recalibrating the battery after flashing a new ROM really neccessary, and if yes, why?
The description of the app, Battery Calibration, claims that after changing ROMs you should recalibrate your battery gauge. It has good reviews so it seems like the general concept is sound and trying the app at least won't cause harm.

What I'm wondering is what the battery statistics have to do with the ROM. My understanding is that the batterystats file contains a mapping of charge values in mV to %, so why does it need to be regenerated if a new ROM is flashed?

# Answer
**No.**

This App just removes the file "batterystats.bin" in the "data/system" directory. It has nothing to do with your battery life and also not the status indicator of your system.

It only keeps the Infos in the "Battery Usage" screen. It will also be resetted every time you connect to a power source.

Further Information and Sources:
XDA-Developers and Dianne Hackborn (Google employee)
> 6 votes

---
Tags: battery, calibration
---


title: Manually starting wpa_supplicant

text:
# Question
Title: Manually starting wpa_supplicant
I can start wpa\_supplicant just fine through adb shell. The firmware and stuff for my WiFi radio is all loaded before this.

However, I want to start it via execv() in a C program. When I execute execv(), I get the following error:

```
E/wpa_supplicant( 3008): Failed to initialize control interface 'wlan0'.
E/wpa_supplicant( 3008): You may have another wpa_supplicant process already running or the file was
E/wpa_supplicant( 3008): left by an unclean termination of wpa_supplicant in which case you will need
E/wpa_supplicant( 3008): to manually remove this file before starting wpa_supplicant again.
I/wpa_supplicant( 3008): ELOOP: remaining socket: sock=15 eloop_data=0xa5320 user_data=0x0 handler=0x6acd9

```

I also have this in the serial console:

```
mkdir[ctrl_interface]: Permission denied

```

The full strace ouput is here: http://pastebin.com/fuQnqjXK

Here's the strace output snippet of interest:

```
2380  mkdir("wlan0", 0770)              = -1 EACCES (Permission denied)
2380  write(2, "mkdir[ctrl_interface]", 21) = 21
2380  write(2, ": ", 2)                 = 2
2380  write(2, "Permission denied", 17) = 17
2380  write(2, "\n", 1)                 = 1

```

Also, here's the logcat snippet. I've already verified that there's no wpa\_supplicant running in the background, and the file that is created when wpa\_supplicant is successfully run (/data/misc/wifi/wlan0/wlan0) does not exist. Are there other files that wpa\_supplicant is creating?

```
D/wpa_supplicant( 3627): wpa_supplicant v0.8.x
D/wpa_supplicant( 3627): random: Trying to read entropy from /dev/random
D/wpa_supplicant( 3627): Initializing interface 'wlan0' conf '/data/misc/wifi/wpa_supplicant.conf' driver 'nl80211' ctr
_interface 'N/A' bridge 'N/A'
D/wpa_supplicant( 3627): Configuration file '/data/misc/wifi/wpa_supplicant.conf' -> '/data/misc/wifi/wpa_supplicant.co
f'
D/wpa_supplicant( 3627): Reading configuration file '/data/misc/wifi/wpa_supplicant.conf'
D/wpa_supplicant( 3627): update_config=1
D/wpa_supplicant( 3627): ctrl_interface='wlan0'
D/wpa_supplicant( 3627): eapol_version=1
D/wpa_supplicant( 3627): ap_scan=1
D/wpa_supplicant( 3627): fast_reauth=1
D/wpa_supplicant( 3627): config_methods='push_button keypad display'
D/wpa_supplicant( 3627): device_name='U8500'
D/wpa_supplicant( 3627): default_bgscan='learn:60:-70:300:10:20:/data/misc/wifi/wpa_supplicant_bgscan.db'
D/wpa_supplicant( 3627): wmm_enabled=1
D/wpa_supplicant( 3627): uapsd_enabled=1
D/wpa_supplicant( 3627): nl80211: interface wlan0 in phy phy0
I/wpa_supplicant( 3627): rfkill: Cannot open RFKILL control device
D/wpa_supplicant( 3627): nl80211: RFKILL status not available
D/wpa_supplicant( 3627): nl80211: Set mode ifindex 5 iftype 2 (STATION)
D/wpa_supplicant( 3627): netlink: Operstate: linkmode=1, operstate=5
D/wpa_supplicant( 3627): nl80211: Using driver-based off-channel TX
D/wpa_supplicant( 3627): nl80211: driver param='(null)'
D/wpa_supplicant( 3627): wapi_initialization()
D/wpa_supplicant( 3627): wlan0: Own MAC address: 00:80:e1:c2:89:9a
D/wpa_supplicant( 3627): Country: 00
D/wpa_supplicant( 3627): wpa_driver_nl80211_set_key: ifindex=5 alg=0 addr=0x0 key_idx=0 set_tx=0 seq_len=0 key_len=0
D/wpa_supplicant( 3627): wpa_driver_nl80211_set_key: ifindex=5 alg=0 addr=0x0 key_idx=1 set_tx=0 seq_len=0 key_len=0
D/wpa_supplicant( 3627): wpa_driver_nl80211_set_key: ifindex=5 alg=0 addr=0x0 key_idx=2 set_tx=0 seq_len=0 key_len=0
D/wpa_supplicant( 3627): wpa_driver_nl80211_set_key: ifindex=5 alg=0 addr=0x0 key_idx=3 set_tx=0 seq_len=0 key_len=0
D/wpa_supplicant( 3627): wlan0: RSN: flushing PMKID list in the driver
D/wpa_supplicant( 3627): nl80211: Flush PMKIDs
D/wpa_supplicant( 3627): wlan0: State: DISCONNECTED -> INACTIVE
I/wpa_supplicant( 3627): WPS: Converting display to virtual_display for WPS 2.0 compliance
I/wpa_supplicant( 3627): WPS: Converting push_button to virtual_push_button for WPS 2.0 compliance
D/wpa_supplicant( 3627): nl80211: Regulatory information - country=00
D/wpa_supplicant( 3627): nl80211: 2402-2472 @ 40 MHz
D/wpa_supplicant( 3627): nl80211: 2457-2482 @ 20 MHz
D/wpa_supplicant( 3627): nl80211: 2474-2494 @ 20 MHz
D/wpa_supplicant( 3627): nl80211: 5170-5250 @ 40 MHz
D/wpa_supplicant( 3627): nl80211: 5735-5835 @ 40 MHz
D/wpa_supplicant( 3627): nl80211: Added 802.11b mode based on 802.11g information
D/wpa_supplicant( 3627): WPS: Set UUID for interface wlan0
E/wpa_supplicant( 3627): WPS: UUID based on MAC address - hexdump(len=16): b2 15 b7 6a cb d7 55 cf b9 d4 3e 8c 40 ae 2d
30
D/wpa_supplicant( 3627): EAPOL: SUPP_PAE entering state DISCONNECTED
D/wpa_supplicant( 3627): EAPOL: Supplicant port status: Unauthorized
D/wpa_supplicant( 3627): EAPOL: KEY_RX entering state NO_KEY_RECEIVE
D/wpa_supplicant( 3627): EAPOL: SUPP_BE entering state INITIALIZE
D/wpa_supplicant( 3627): EAP: EAP entering state DISABLED
D/wpa_supplicant( 3627): EAPOL: Supplicant port status: Unauthorized
D/wpa_supplicant( 3627): EAPOL: Supplicant port status: Unauthorized
E/wpa_supplicant( 3627): Failed to initialize control interface 'wlan0'.
E/wpa_supplicant( 3627): You may have another wpa_supplicant process already running or the file was
E/wpa_supplicant( 3627): left by an unclean termination of wpa_supplicant in which case you will need
E/wpa_supplicant( 3627): to manually remove this file before starting wpa_supplicant again.
D/wpa_supplicant( 3627): Failed to add interface wlan0
D/wpa_supplicant( 3627): wlan0: No keys have been configured - skip key clearing
D/wpa_supplicant( 3627): wlan0: State: INACTIVE -> DISCONNECTED
D/wpa_supplicant( 3627): wpa_driver_nl80211_set_operstate: operstate 0->0 (DORMANT)
D/wpa_supplicant( 3627): netlink: Operstate: linkmode=-1, operstate=5
D/wpa_supplicant( 3627): EAPOL: External notification - portEnabled=0
D/wpa_supplicant( 3627): EAPOL: Supplicant port status: Unauthorized
D/wpa_supplicant( 3627): EAPOL: External notification - portValid=0
D/wpa_supplicant( 3627): EAPOL: Supplicant port status: Unauthorized
D/wpa_supplicant( 3627): wlan0: No keys have been configured - skip key clearing
D/wpa_supplicant( 3627): wlan0: Cancelling scan request
D/wpa_supplicant( 3627): wlan0: Cancelling authentication timeout
D/wpa_supplicant( 3627): nl80211: Set TX rates failed: ret=-22 (Invalid argument)
D/wpa_supplicant( 3627): netlink: Operstate: linkmode=0, operstate=6
D/wpa_supplicant( 3627): nl80211: Set mode ifindex 5 iftype 2 (STATION)
I/wpa_supplicant( 3627): ELOOP: remaining socket: sock=15 eloop_data=0xa5320 user_data=0x0 handler=0x6acd9

```

Anyone can hint to me what I might be doing wrong? Permissions?

# Answer
> 3 votes
I managed to find the answer, although I don't really understand why or how. If anyone can add on to why working directory matters, I will greatly appreciate it.

In my C program, I have to do a chdir() to /data/misc/wifi, then do the execvp().

```
if (chdir("/data/misc/wifi") == -1) {
    perror("chdir");
    return;
}

pid = fork();
if (pid == -1) {
    perror("Error forking process");
}
else if (pid != 0) {
    return;
}
execvp("/system/bin/wpa_supplicant", wpaparmlist);

```

where wpaparmlist is the args to wpa\_supplicant.

Thanks for your help ce4!

---
Tags: wi-fi
---


# Question
Title: Examples of application, used Android Backup Services
Do you know any Android applications (with open source, if it's possible), which use Android Backup Service (http://developer.android.com/guide/topics/data/backup.html)

I need examples, how Backup Service can be used in real applications.

# Answer
In your Google account Dashboard view, in the **Andoid device** part you can see which applications stored someting in the Android backup service, for my account, beside the standard *Android Wallpaper*, *Android System Settings* and *Android Market* I have some *"Dragon, Fly! Free"* data (a game).
> 4 votes

---
Tags: applications, backup, restore, backup-manager
---


# Question
Title: Sync Chrome Mobile with Desktop Firefox?
On my desktop computers, I use Firefox with the Firefox Sync service but on my mobile Android device I prefer using Chrome Mobile. Is there any way to sync Chrome Mobile with Firefox Sync? (I thought of syncing at least history, bookmarks and password).

**Comment**: For now, I'll use XMarks and LastPass to synchronize my bookmarks/history (and passwords for Chrome Desktop only). But that's indeed not the ideal solution because I need a running Chrome to have the synchronization with my Chrome Mobile running. Because of this, I plan to write a small tool, that hooks into the web APIs of Firefox Sync and Chrome Sync to sync them against each other.

# Answer
> 6 votes
There's no direct relation between the Chrome Mobile and any Firefox version.

What you can do, is to synchronize the information from your Chrome mobile to the Chrome desktop version, and then, using a desktop application, pass the bookmarks for any other browser.

Xmarks is a FREE Bookmark Sync application that supports among others, synchronization between Google Chrome and Mozilla Firefox:

> Install Xmarks on each computer you use, and it seamlessly integrates with your web browser and keeps your bookmarks safely backed up and in sync.
>
> Xmarks will sync across browsers too. Today we support Firefox, Chrome, Internet Explorer, and Safari (Mac OS).

---

Additionally, you can go Premium and benefit from the Android application to ease the process:

Premium Features Overview

> Xmarks on Android
> The Xmarks mobile app for Android is available in the Google Play Store. You can also install via lastpass.com/xmarks.apk
>
> It lets Xmarks Premium users access all their desktop bookmarks and open tabs on their device.
>
> Supports Google Android 1.5+

Xmarks for Premium Customers by LastPass available from Google Play Store.

> Bookmark Sync and Web Discovery
>
> Application that will allow you to carry your Xmarks (formerly Foxmarks) data around with you.
>
> * Sync bookmarks with Android Browser
> * Add, update, and delete Bookmarks
> * View Open Remote Tabs

---

As for the remaining browser capabilities, like saved passwords, AFAIK you can only pass them to the Google Chrome desktop version.

---
Tags: sync, firefox-for-android, chrome-for-android
---


# Question
Title: Which service provides Facebook notifications and how to disable it to use mobile network
I'm having a bit of a problem trying to disable services from using mobile data connection on my Galaxy Nexus with Jelly Bean.

I've disabled Facebook to use mobile data connection, but I'm still getting Facebook notifications1 which is very odd. I'd like to disable it on mobile network completely and only have it enabled while on wifi.

My main mobile data connection users are:

1. **Google Services** \- is it possible to control individual ones because there are many within this one and I can't even see which ones because they're all truncated
2. **Gmail** \- I want this one enabled on Wifi *and* mobile network
3. **Facebook** (?!?!?!) - should be disabled on mobile
4. **Google Search** \- what do I lose if I disable this one as well? which app uses this one? I'm not using Google Now on mobile network anyway.
5. ...

I don't want to resort to manually disabling/enabling Facebook app every time I go to work which would hopefully disable these notifications as well.

> **1:** Those notifications that display Facebook icon in notification area, not those that get delivered to my Gmail and I'd actually get email notifications about emails related to Facebook.

# Answer
Try installing an app firewall such as DroidWall (needs root) and disallow 3G access for the Facebook app.
> 2 votes

# Answer
It doesn't look like you can control the data connection for your Facebook notifications. You can have notifications on or off.

You might consider increasing your notification interval to reduce the impact of the notifications. (I see no need to receive Fbook notifications every 30 minutes.)

There *may* be a Tasker (et al.) "recipe" which can turn on/off Facebook notifications based on location, existence of wi-fi, etc., but I don't have any knowledge there.
> 0 votes

---
Tags: notifications, samsung-galaxy-nexus, facebook, data-connection
---


# Question
Title: How do I enable USB tethering on a JellyBean device?
Does JellyBean support USB tether?

Is there a way compile the JB source so USB tether is always enabled? I would like to have the support through the OS and not depend on an App.

# Answer
> 2 votes
I successfully got native USB tethering working on the Nexus 7 with Jelly Bean.

Modify the device/asus/grouper/overlay/frameworks/base/core/res/res/values/config.xml to be the following:

```
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
** Copyright 2009, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
**     http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
-->

<!-- These resources are around just to allow their values to be customized
     for different hardware and product builds. -->
<resources>
    <!-- Flag indicating whether we should enable the automatic brightness in Settings.
     config_hardware_automatic_brightness_available is not set, so we will use software implementation -->
    <bool name="config_automatic_brightness_available">true</bool>

    <!-- There is no charging LED. -->
    <bool name="config_unplugTurnsOnScreen">true</bool>

    <!-- Our amoled doesn't animate well. -->
    <bool name="config_animateScreenLights">false</bool>

    <!-- disable menu hard key on Crespo in non-pattern lockscreen -->
    <bool name="config_disableMenuKeyInLockScreen">true</bool>

    <!-- Array of light sensor LUX values to define our levels for auto backlight brightness support.
     The N entries of this array define N + 1 zones as follows:

     Zone 0:        0 <= LUX < array[0]
     Zone 1:        array[0] <= LUX < array[1]
     ...
     Zone N:        array[N - 1] <= LUX < array[N]
     Zone N + 1:    array[N] <= LUX < infinity

     Must be overridden in platform specific overlays -->
    <integer-array name="config_autoBrightnessLevels">
    <item>7</item>
    <item>94</item>
    <item>208</item>
    <item>458</item>
    <item>2223</item>
    </integer-array>

    <!-- Array of output values for LCD backlight corresponding to the LUX values
     in the config_autoBrightnessLevels array.  This array should have size one greater
     than the size of the config_autoBrightnessLevels array.
    -->
    <integer-array name="config_autoBrightnessLcdBacklightValues">
    <item>10</item>
    <item>35</item>
    <item>55</item>
    <item>70</item>
    <item>70</item>
    <item>250</item>
    </integer-array>

    <!-- Array of output values for button backlight corresponding to the LUX values
     in the config_autoBrightnessLevels array.  This array should have size one greater
     than the size of the config_autoBrightnessLevels array.
    -->
    <integer-array name="config_autoBrightnessButtonBacklightValues">
    <item>255</item>
    <item>255</item>
    <item>255</item>
    <item>0</item>
    <item>0</item>
    <item>0</item>
    </integer-array>

    <!-- Array of output values for keyboard backlight corresponding to the LUX values
     in the config_autoBrightnessLevels array.  This array should have size one greater
     than the size of the config_autoBrightnessLevels array.
     Crespo has no keyboard so all values are zero.
    -->
    <integer-array name="config_autoBrightnessKeyboardBacklightValues">
    <item>0</item>
    <item>0</item>
    <item>0</item>
    <item>0</item>
    <item>0</item>
    <item>0</item>
    </integer-array>

    <!-- Minimum screen brightness allowed by the power manager. -->
    <integer name="config_screenBrightnessDim">10</integer>

    <!-- Component name of the default wallpaper. This will be ImageWallpaper if not
     specified -->
    <string name="default_wallpaper_component">com.android.wallpaper/.nexus.NexusWallpaper</string>

    <integer name="config_deskDockKeepsScreenOn">0</integer>
    <integer name="config_carDockKeepsScreenOn">1</integer>

    <!-- Default color for notification LED is white -->
    <color name="config_defaultNotificationColor">#ffffffff</color>

    <!-- Default blink frequency for notification LED is 9 seconds. -->
    <integer name="config_defaultNotificationLedOff">9000</integer>

    <!-- Package name providing network location support. -->
    <string name="config_networkLocationProviderPackageName" translatable="false">com.google.android.location</string>

    <!-- Package name providing geocoder API support. -->
    <string name="config_geocodeProviderPackageName" translatable="false">com.google.android.location</string>

    <!-- XXXXX NOTE THE FOLLOWING RESOURCES USE THE WRONG NAMING CONVENTION.
     Please don't copy them, copy anything else. -->

    <!-- This string array should be overridden by the device to present a list of network
     attributes.  This is used by the connectivity manager to decide which networks can coexist
     based on the hardware -->
    <!-- An Array of "[Connection name],[ConnectivityManager connection type],
     [associated radio-type],[priority],[restoral-timer(ms)],[dependencyMet]  -->
    <!-- the 5th element "resore-time" indicates the number of milliseconds to delay
     before automatically restore the default connection.  Set -1 if the connection
     does not require auto-restore. -->
    <!-- the 6th element indicates boot-time dependency-met value. -->
    <string-array translatable="false" name="networkAttributes">
    <item>"wifi,1,1,1,-1,true"</item>
    <item>"mobile,0,0,0,-1,true"</item>
    <item>"mobile_mms,2,0,2,60000,true"</item>
    <item>"mobile_supl,3,0,2,60000,true"</item>
    <item>"mobile_dun,4,0,4,60000,true"</item>
    <item>"mobile_hipri,5,0,3,60000,true"</item>
    <item>"bluetooth,7,7,0,-1,true"</item>
    </string-array>

    <!-- This string array should be overridden by the device to present a list of radio
     attributes.  This is used by the connectivity manager to decide which networks can coexist
     based on the hardware -->
    <!-- An Array of "[ConnectivityManager connectionType],
                  [# simultaneous connection types]"  -->
    <string-array translatable="false" name="radioAttributes">
    <item>"1,1"</item>
    <item>"0,1"</item>
    <item>"7,1"</item>
    </string-array>

    <!-- List of regexpressions describing the interface (if any) that represent tetherable
     USB interfaces.  If the device doesn't want to support tething over USB this should
     be empty.  An example would be "usb.*" -->
    <string-array translatable="false" name="config_tether_usb_regexs">
    <item>"rndis0"</item>
    </string-array>

    <!-- Array of allowable ConnectivityManager network types for tethering -->
    <!-- Common options are [1, 4] for wifi and dun or [0,1,5,7] for -->
    <!-- mobile, wifi, hipri and bluetooth -->
    <integer-array translatable="false" name="config_tether_upstream_types">
    <item>0</item>
    <item>1</item>
    <item>5</item>
    <item>7</item>
    </integer-array>

    <!-- List of regexpressions describing the interface (if any) that represent tetherable
     Wifi interfaces.  If the device doesn't want to support tethering over Wifi this
     should be empty.  An example would be "softap.*" -->
    <string-array translatable="false" name="config_tether_wifi_regexs">
    <item>"wlan0"</item>
    </string-array>

    <!-- List of regexpressions describing the interface (if any) that represent tetherable
     bluetooth interfaces.  If the device doesn't want to support tethering over bluetooth this
     should be empty. -->
    <string-array translatable="false" name="config_tether_bluetooth_regexs">
    <item>"bnep\\d"</item>
    </string-array>

    <!-- Vibrator pattern for a very short but reliable vibration for soft keyboard tap -->
    <integer-array name="config_keyboardTapVibePattern">
    <item>30</item>
    </integer-array>

    <!-- Vibrator pattern for feedback about booting with safe mode disabled -->
    <integer-array name="config_safeModeDisabledVibePattern">
    <item>1</item>
    </integer-array>

    <!-- crespo doesn't handle this blur effect very quickly. -->
    <bool name="config_sf_slowBlur">true</bool>

    <!-- Boolean indicating if restoring network selection should be skipped -->
    <!-- The restoring is handled by modem if it is true -->
    <bool translatable="false" name="skip_restoring_network_selection">true</bool>

    <!-- Specifies the amount of time to disable virtual keys after the screen is touched
     in order to filter out accidental virtual key presses due to swiping gestures
     or taps near the edge of the display.  May be 0 to disable the feature.
     It is recommended that this value be no more than 250 ms.
     This feature should be disabled for most devices. -->
    <integer name="config_virtualKeyQuietTimeMillis">250</integer>

    <!-- Boolean indicating if current platform supports bluetooth wide band
     speech -->
    <bool name="config_bluetooth_wide_band_speech">false</bool>

    <bool name="config_ui_enableFadingMarquee">false</bool>

    <!-- The attenuation in dB applied to the sound effects played
     through AudioManager.playSoundEffect() when no volume is specified. -->
    <integer name="config_soundEffectVolumeDb">-12</integer>

<string-array name="config_usbHostBlacklist">

    <item>/dev/bus/usb/001</item>

    </string-array>

<bool name="config_showNavigationBar">true</bool>

</resources>

```

Modify out/target/product/grouper/root/init.usb.rc to be the following:

```
# Copyright (C) 2012 The Android Open Source Project
#
# USB configuration common for all android devices
#

on post-fs-data
    chown system system /sys/class/android_usb/android0/f_mass_storage/lun/file
    chmod 0660 /sys/class/android_usb/android0/f_mass_storage/lun/file
    chown system system /sys/class/android_usb/android0/f_rndis/ethaddr
    chmod 0660 /sys/class/android_usb/android0/f_rndis/ethaddr

# Used to disable USB when switching states
on property:sys.usb.config=none
    stop adbd
    write /sys/class/android_usb/android0/enable 0
    write /sys/class/android_usb/android0/bDeviceClass 0
    setprop sys.usb.state ${sys.usb.config}

# adb only USB configuration
# This should only be used during device bringup
# and as a fallback if the USB manager fails to set a standard configuration
on property:sys.usb.config=adb
    write /sys/class/android_usb/android0/enable 0
    write /sys/class/android_usb/android0/idVendor 18d1
    write /sys/class/android_usb/android0/idProduct D002
    write /sys/class/android_usb/android0/functions ${sys.usb.config}
    write /sys/class/android_usb/android0/enable 1
    start adbd
    setprop sys.usb.state ${sys.usb.config}

# USB accessory configuration
on property:sys.usb.config=accessory
    write /sys/class/android_usb/android0/enable 0
    write /sys/class/android_usb/android0/idVendor 18d1
    write /sys/class/android_usb/android0/idProduct 2d00
    write /sys/class/android_usb/android0/functions ${sys.usb.config}
    write /sys/class/android_usb/android0/enable 1
    setprop sys.usb.state ${sys.usb.config}

# USB accessory configuration, with adb
on property:sys.usb.config=accessory,adb
    write /sys/class/android_usb/android0/enable 0
    write /sys/class/android_usb/android0/idVendor 18d1
    write /sys/class/android_usb/android0/idProduct 2d01
    write /sys/class/android_usb/android0/functions ${sys.usb.config}
    write /sys/class/android_usb/android0/enable 1
    start adbd
    setprop sys.usb.state ${sys.usb.config}

# audio accessory configuration
on property:sys.usb.config=audio_source
    write /sys/class/android_usb/android0/enable 0
    write /sys/class/android_usb/android0/idVendor 18d1
    write /sys/class/android_usb/android0/idProduct 2d02
    write /sys/class/android_usb/android0/functions ${sys.usb.config}
    write /sys/class/android_usb/android0/enable 1
    setprop sys.usb.state ${sys.usb.config}

# audio accessory configuration, with adb
on property:sys.usb.config=audio_source,adb
    write /sys/class/android_usb/android0/enable 0
    write /sys/class/android_usb/android0/idVendor 18d1
    write /sys/class/android_usb/android0/idProduct 2d03
    write /sys/class/android_usb/android0/functions ${sys.usb.config}
    write /sys/class/android_usb/android0/enable 1
    start adbd
    setprop sys.usb.state ${sys.usb.config}

# USB and audio accessory configuration
on property:sys.usb.config=accessory,audio_source
    write /sys/class/android_usb/android0/enable 0
    write /sys/class/android_usb/android0/idVendor 18d1
    write /sys/class/android_usb/android0/idProduct 2d04
    write /sys/class/android_usb/android0/functions ${sys.usb.config}
    write /sys/class/android_usb/android0/enable 1
    setprop sys.usb.state ${sys.usb.config}

# USB and audio accessory configuration, with adb
on property:sys.usb.config=accessory,audio_source,adb
    write /sys/class/android_usb/android0/enable 0
    write /sys/class/android_usb/android0/idVendor 18d1
    write /sys/class/android_usb/android0/idProduct 2d05
    write /sys/class/android_usb/android0/functions ${sys.usb.config}
    write /sys/class/android_usb/android0/enable 1
    start adbd
    setprop sys.usb.state ${sys.usb.config}

# Used to set USB configuration at boot and to switch the configuration
# when changing the default configuration
on property:persist.sys.usb.config=*
    setprop sys.usb.config ${persist.sys.usb.config}

on property:sys.usb.config=rndis
    write /sys/class/android_usb/android0/enable 0
    write /sys/class/android_usb/android0/idVendor 18d1
    write /sys/class/android_usb/android0/idProduct 4e23
    write /sys/class/android_usb/android0/functions ${sys.usb.config}
    write /sys/class/android_usb/android0/bDeviceClass 224
    write /sys/class/android_usb/android0/enable 1
    setprop sys.usb.state ${sys.usb.config}

on property:sys.usb.config=rndis,adb
    write /sys/class/android_usb/android0/enable 0
    write /sys/class/android_usb/android0/idVendor 18d1
    write /sys/class/android_usb/android0/idProduct 4e24
    write /sys/class/android_usb/android0/functions ${sys.usb.config}
    write /sys/class/android_usb/android0/bDeviceClass 224
    write /sys/class/android_usb/android0/enable 1
    start adbd
    setprop sys.usb.state ${sys.usb.config}

```

And use a modified tegra kernel that has RNDIS enabled.

Please reference this XDA post

# Answer
> 6 votes
Yes.

On ICS the setting can be found at

`Settings -> Wireless & Networks -> More.. -> Tethering & portable hotspot -> USB tethering`

I think it should be at the same place on Jelly Bean. Note that you need a device with a cellular data chip for this feature. Devices without (e.g. the Nexus 7) won't show this option.

USB tethering support was added with the 2.2 (Froyo) release

---
Tags: 4.1-jelly-bean, usb-tethering
---


# Question
Title: Replying to the original tweeter in a retweet in TweetCaster?
If a friend retweets something nad I attempt to 'reply' to it tweetcaser only shows my friend who retweeted the item as a recipient in the @ thing, is it possible for me to be able to see the original tweet username @ as well so my reply goes to both?

# Answer
> 4 votes
Some Twitter apps allow you to "retweet with comment" or "quote & reply" in which case you can remove the original username before retweeting. If your friend chose to do that before retweeting, you won't be able to see the original username.

TweetCaster Pro has the "retweet with comment" option.

---
Tags: twitter, tweetcaster
---


title: Why can't I have flash_image working?

text:
# Question
Title: Why can't I have flash_image working?
I've rooted my device (Omega T107) and i cannot install any recovery (tried cyanogenmod adn amon\_ra)

When I use flash\_image as root it never ends

Screen link:

# Answer
> 2 votes
Uhhh, you're going about this the wrong way.

You do not `adb push` the flash image onto the handset itself then `adb shell` into it and flash from there.

The two reasons being is that

1. From the `adb shell` it cannot "see" the recovery partition and does not know anything about it!
2. There is limited space within the `/data` mount point which could have contributed to the endless stalling...

The correct way to do this is from the PC side, put the handset into fast-boot mode or boot-loader mode, plug in the cable into handset and use the `fastboot flash recovery recovery.img` then reboot the handset via `fastboot reboot`, holding down the volume down key to get into recovery mode.

The windows equivalent of the `fastboot` command would be `fastboot-windows` IIRC.

---
Tags: rom-flashing, recovery-mode
---


# Question
Title: Private setting in standard calendar from ICS
I switched from 2.3 to 4.0 on my SII and miss an option in the standard calendar app: There used to be a setting for private appointments, which could be seen at the very end during creating a new appointment after selection of extra options. Neither the option, nor the setting seem to exist anymore.

Does anyone know how to set this or has the option been deleted? I need the feature, since I use my synchronized company calendar for both work and other appointments, where privat ones are marked as private in Outlook. I know that there are other calendar apps around, but I like to keep the setup as it was before if possible.

# Answer
I have an SIII on ICS and when I add an event to the calendar I have a "Privacy" option which allows me to choose default, private, or public, however I sync my Calendar with Google Calendar and not with Exchange.
> 1 votes

---
Tags: 4.0-ice-cream-sandwich, calendar
---


# Question
Title: How do I test that proximity sensor on Galaxy Nexus works as expected
I've noticed two days ago that I've initiated some random things while having hands in my pockets and phone was in as well...

And today I just picked up a call and while talking on the phone I realised that I turned on stuff with my face...

It seems that proximity sensor isn't working or working improperly.

How do I test it without placing a call? How can I test proximity sensor anyway? Is it at all possible?

I've read about some proximity sensor light... I don't see any light turning on or anything... I can just locate two *holes* behind glass between front camera and speaker. I suppose one of them (or both) is proximity sensor.

> Galaxy Nexus is 2 weeks old and running Jelly Bean

# Answer
Install a sensor app like AndroSens or AndroSensor.

They both are able to show you the proximity information.

Note:
The sensor only distinguishes between near and far proximity (0-5cm and \>=5cm usually). It is OK that you won't get accurate distance measurements.
> 7 votes

# Answer
Many android phones have a hidden app called **"service menu"** which runs when you call some codes in Phone app.

for example, service menu for Sony (Ericsson) android phones will appear when you call `*#*#7378423#*#*` or `*#*#SERVICE#*#*` and for most of samsung android phones, it appears when you call `*#0*#` or `*#9072641*#`

from "service menu", you can test Screen, Keys, Touch, ... and most importantly, **sensors**. So, test this code in your phone and see if "service menu" appears, then test your **proximity sensor** from there, without any need to install a third-party app.
> 2 votes

---
Tags: samsung-galaxy-nexus, proximity-sensor
---


title: Does a MIUI-Phone work in Europe?

text:
# Question
Title: Does a MIUI-Phone work in Europe?
I've just read about the chinese MIUI Phones (Mi Two), my question is wheter they work in Europe, or might there be some issues because of other phone networks? Might there be some other issues apart from that?

Bonus Question: Does the official MIUI-Rom has any other languages than Chinese?

# Answer
According to GSMArena, the Xiaomi Mi-Two supports the following frequencies:

2G Network: GSM 850 / 900 / 1800 / 1900

3G Network: HSDPA 850 / 1900 / 2100

You can check what frequencies your country uses here. It should work in most if not all EU countries though.

Also, it supports Chinese and English officially but there is unofficial support for other languages, located here.
> 5 votes

---
Tags: hardware, miui
---


# Question
Title: Leave ear-speaker active when using headset (cable/bt)
Is it possible to *just* use a headset's mic but keep the phone's ear-speaker active?

# Answer
After some further research I think it's not possible.
At least on a level where one is not modifying the OS.
> 1 votes

# Answer
Definitely not possible, the audio routing is something of a mutually exclusive/flip-flop principle.

If the headset is plugged in, the routing goes to the headset and is taken away from the in-built ear-piece. Vice-versa, if no headset is plugged in, the in-built-ear piece is used.

Likewise, for when during in-call without headset, audio routing goes to both ear-piece and mouth-piece, no other mp3/music cannot be played. For vice-versa, when no calls are happening, audio is routed to the speakers...

That shows what is actually involved in, what is known as "Audio routing" and is very complicated process hence the emphasis on mutual exclusivity/flip-flip operations of the audio fundamentals.
> 0 votes

---
Tags: audio, microphone, speaker, headset
---


title: Reduce delay when waking up the phone

text:
# Question
Title: Reduce delay when waking up the phone
The delay between me pressing the power button and the phone actually waking up is annoying. Is there any way to optimize this?

# Answer
On a ROM supporting this, setting the CPU governor to "performance" will help a lot. This is not a practical solution though as this means that the CPU will always run at its maximum frequency which wastes a lot of energy.
> 1 votes

---
Tags: performance
---


# Question
Title: What if I don't want my music on the cloud?
I just got my Nexus 7 tablet and I was trying to load some music/videos to it. I have about 10 gigs worth of .mp3 files with no DRM in my computer. Since this is Android, I figured I would not be subject to the pain that is iTunes and I would simply be able to drag the music into a "Music" folder if I plugged in the tablet to my computer. Sure enough, I saw a folder named "Music" and tried dragging a couple of files to it. When I go to my Nexus, however, I don't see the files. I started reading up on this and it seems that the way to do things on Android is to use the Google Music Manager which would then put my songs in "the cloud" and make them playable from any device. That's all nice and everything, but is there any way to simply put a couple songs into my device locally without any of that funny business?

TL;DR: I don't want to use Music Manager, how do I locally upload a song/video to my Nexus 7?

# Answer
> 7 votes
Android uses a so-called *Media Scanner* to index your media files (this also applies to your images and videos). This *Media Scanner* ships with the system, and fires automatically on certain system events -- such as after boot, or when you insert your SD-Card. It does, however, not react on a simple "file-drop" via network. For such cases, it might need a little help to get to know it has to act:

Are two free example apps from the playstore which do exactly that: trigger the *Media Scanner*. Once the *Media Scanner* has indexed your new files, they will immediately show up in the corresponding apps such as the gallery (for images/videos) or your music player.

# Answer
> 3 votes
Copy the files as before but use a music player from the play store. I would suggest a player that supports folder based play so it doesn't force you to sort your music by album/artist, which can be a pain if your music isn't tagged properly. I will not suggest you a particular music player because I don't want to turn this question in to a favorite music player discussion.

If you really have trouble finding one, post a comment here for a suggestion.

# Answer
> 1 votes
My main use of Android MP3 files is to listen to podcasts. My workflow is as follows:

1. Use Google Reader to subscribe to and browse podcast feeds. The MP3 files are linked in each feed, so the ones I decide to listen to get downloaded to my computer. I use DownThemAll for downloading, because it's good at this kind of download and because it preserves modification times on files it downloads. However, I'm moving away from Firefox, so I'm now looking for a similar plugin for Chrome.
2. Periodically plug my phone into a USB port on my computer (use USB3 if you have it, absurdly fast), causing the SD card to be mounted as a removable disk. There's a directory, `listen` that contains all my podcasts.
3. Since I listen to them in the order of the modification times, I sort the directory listing by mod times and delete all the ones I've listened to.
4. I move all of my new downloaded files into the `listen` directory on my phone.
5. I tell Windows Explorer to "eject" the removable drive (this ensures that all file writes are completed) and unplug the phone.
6. I plug in my headphones and run MortPlayer Audio Books. Although not specifically designed for my use case, it has some features I need:

* The ability to be pointed at any directory I want.
    * The ability to automatically sort my files by modification time.
    * The ability to automatically remember where I left off.

Obviously, the way I listen to MP3 files is different from the way most other people do, so you'll need to figure out your own workflow. In particular, you'll probably want a different audio player program. But judging from your prescribed needs, you want one that lets you just copy files directly into an SDCARD directory. Most do.

Ideally, one could use Bluetooth to copy files. I've tried that, but have found that Bluetooth copying software is slow, a pain to use, and doesn't preserve file mod times.

# Answer
> -1 votes
i usually put all my songs into a folder and zip it into a smaller archive with an easy short name. something like mp3files.zip move that folder( or a copy of it) to /android-sdk/platform-tools/ plug the nexus in with a good usb cable and go to settings/developer options set to "usb debug enabled" next i use # ./adb push home/android-sdk/platform-tools/mp3files.zip /sdcard/Music important to notice one space between path to file and path to destination also make sure your capitalization is correct while ./adb is moving your files you wont get any feedback that anything is happening until its finished so be calm and find something else to do i also use the vlc for android beta media player availible from the vlc developers forum--it works PERFECTLY its still a beta .but its not so much a hiccuped EVER for me and plays whatever i throw at it(im not associated with the project in any way i just am passing along some info i have found)

---
Tags: 4.1-jelly-bean, nexus-7, google-play-music, mp3-player
---


title: Install your own software

text:
# Question
Title: Install your own software
> **Possible Duplicate:**
> How can I install an app given only its APK file?

I'm thinking abount getting a smartphone, mainly for tinkering with it. On iOS, in order to install your own code, you need to either root the device, or buy into Apple's developer program. What's the current state of things in the Android world? I see the SDK and developer documentation are readily available, but people talk about Kindle's Fire and Google's Nexus as closed systems.

# Answer
> 1 votes
You can give someone the APK generated when you debug your code, and they can insall it provided that they activate the flag "install from untrusted sources" (or something like that... don't know the exact words because I have the italian localization)

BTW: distribution of APK signed with the SDK-generated debug certificate is a bad thing, you have to sign it with your own key

---
Tags: android-sdk
---


# Question
Title: How can I test my ePub files in Android emulator?
I have installed the Android emulator and everything is going fine. But I don't know how to test my ePub in it. This is actually the main reason I installed Android emulator and SDK, to test out my ePub's.

Target Name: Android 1.4 Platform: 4.1 API Level: 16

Thanks in advance!

# Answer
Install different ebook readers like Aldiko / Moon+ Reader etc and see whether your ePub displays as intended.
> 1 votes

---
Tags: android-emulator, ebook-reader, ebooks, epub
---


title: Information regarding /proc file system

text:
# Question
Title: Information regarding /proc file system
Yesterday I rooted my android phone. By using Es File Explorer when I see the file listing then I find various folders.

For the sake of curiosity I would like to know that what the **proc** file system contains.

# Answer
> 3 votes
You could have a detailled explanation of what is in the /proc directory in the linux man page

---
Tags: file-system
---


# Question
Title: Is there any way to stop Android from changing "I want $5.00" into "I want$ 5.00"?
I don't even know why it does this, tbh, since pretty much everyone writes $xx.xx and not anything else, such as xx.xxUS$ or anything like that.

Note: Turning off Auto-Punctuate does not fix this problem, so this is my hail mary attempt to get rid of this "feature." :P

(Edit: My phone is a Motorola Droid 2 Global. The problem exists no matter if the physical or on-screen keyboard is used.)

# Answer
The problem is with Stock keyboard app/service. It can't be fixed by normal means. Simply, use third-party soft keyboard apps viz. SwiftKey, Go Keyboard EX, A.I. Type Keyboard, Hacker's Keyboard etc.
> 2 votes

---
Tags: languages, auto-correct
---


# Question
Title: How can I create and edit Microsoft Office documents in Android
I'm looking for a way to create and/or edit Microsoft Office compatible documents (.doc/.docx, .xls/.xlsx, .ppt/.pptx...) on my Android device. Are there any free solution that will allow me to do this?

# Answer
> 2 votes
If you are willing to substitute Google Docs for Microsoft Officer there are a number of free options.

If Microsoft Office compatibility is a must there is a free app called OliveOfficePremium. It allows for editing of Word, Excel and Powerpoint documents. It is free but it has somewhat mixed reviews.

Most of the other Office compatible apps offer a free version that usually only allows you to view docs, and a premium version (usually $10 or more) to edit.

# Answer
> 2 votes
Why not google documents?

You can access google documents from your android phone and create and edit any document you want, and as part of the google documents functionality you can export these documents to multiple formats, including but not limited to Microsoft Office formats.

# Answer
> 0 votes
First, check your device. Its likely that your manufacturer/carrier has packaged your device with one full premium office suite.

If there are none, jump to Play Store. Generally, all vendors publish a office viewer for free which could advertise their premium paid app having editing feature. But still, there are some Office Suites which allow editing for free:

---
Tags: ms-office
---