text:
Power Saving Option in Samsung Galaxy S3
I see there is a Power Saving switch in the Galaxy S3.
What makes the Galaxy S3 save power when it is turned on?
Is there a difference this and using JuiceDefender?
Can using JuiceDefender and turning on the Power Saving switch help or hinder performance?

Please avoid placing several question onto the same post. Provided answers get hard to be accurate or complete as to satisfy the multiple topics presented.

Well, Samsung's Power Saving Mode consists of 4 features:

CPU Power Saving: Limits the maximum performance of the processor (may also disable some cores).

Screen Power Saving: Uses a low power level for the screen.

Background Color: Uses a dark background color for some apps, which might reduce power consumption on some screens (see here).

Turn off haptic feedback: It's the vibrating if you use the hardware keys or type something on the virtual keyboard.

JuiceDefender consists of several other features which might save some battery, if correctly configured:

It lets you control when to use WLAN/2G/3G connection, so you don't need to change them manually (It can be configured to disable all 3G and WLAN at night for example).

It has location aware WLAN control, so it can automatically enable/disable WLAN when it's available in this location.

It can also do CPU-Scaling, limiting your CPU power when your phone is in idle state.
* Some features might not work because they need a specific ROM.

So JuiceDefender can save a lot of battery life if properly configured and will only slow down your phone when it's not in use (only if configured properly). (CPU) Power Saving will definitely reduce your performance.

tasker or llama can also automate your wifi / 3g connections based on location as well as switching profiles etc.

Keep in mind tools like JuiceDefender might also cause a lot of wake locks and can also drain your battery a lot. More about wake locks: http://forum.xda-developers.com/showthread.php?t=1179809


text:
Build Image for emulator
I have Android source code. I make some changes in framework code. Now I want to see my changes in emulator. Can anybody tell me how I can make Image for emulator...???
Thanks in Advance

You'll need to build the whole source using
source build/envsetup.sh
lunch
make -j4 # change 4 to the number of cores+1

and then make a SD card image, detailed instructions for example here: http://nilvec.com/testing-an-android-image-built-from-source/

source: Stack Exchange

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

sort: votes


text:
Can Applications With Root Access Modify Their Own Permissions?
For rooted phones, there are several apps which require root privileges. Knowing this, the user does allow the app to get root. Now, the app would have been installed with a set of x permissions, say INTERNET, LOCATION. Now, on gaining root, is it possible for the app to secretly (or not) give itself extra permissions eg. BLUETOOTH ? I read somewhere that the Apps requiring INTERNET or BLUETOOTH permissions are added to a user group which has access to these device files. So, can a rooted app associate itself to that group and gain the permission ?

Yes, all rooted apps theoretically can use the entire system, including all facilities that otherwise need app permissions. They could also modify the permissions database "under the radar" to grant its non-root part more permissions than were requested at install time.
You have to trust root-using apps not to violate their given permissions.

interesting. So is there a permission database for every app ? It would be great if you could point me to some documentation regarding the same.

Each app's permissions are store authoritatively in its (compiled and signed) AndroidManifest.xml inside its APK file.  Current Android implementations cache the permissions in /data/system/packages.xml, but as that is an implementation detail, you'll find little documentation on it.  Anyway, changing this file as root (and quickly rebooting before the package manager overwrites it again) makes permission changes persistent across reboots.

nice ! am assuming most Android 'malware' try to do this

They can't -- unless they have root permissions. Luckily.

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


text:
Force all WiFi traffic through VPN?
Is there any way to force Android to route all (but only) public WiFi traffic through a PPTP VPN?
My phone basically has three connectivity scenarios:

AT&T's HSPA+ or LTE. I don't want to use a VPN with this.
Public WiFi. I don't ever want to send anything that isn't tunneled through a VPN over public WiFi. If I just connected to WiFi right now, I don't want Android to instantly launch into all of its pent-up WiFi tasks until I'm connected to the VPN. Ideally, I'd prefer that Android not even broadcast the notification that I'm now WiFi-connected until after the VPN is up. If the VPN drops, I want the traffic to be blocked (or routed over AT&T) until the VPN is re-established.
My home WiFi. I could live with VPN'ing this if it's impossible to distinguish between "my WiFi" and "all other WiFi", but I'd prefer to not VPN it either.

I know that Tasker can theoretically achieve most of these goals, except for one problem: AFAIK, nobody has written a Tasker VPN plugin that works with ICS. Does one exist yet that I've overlooked?
That leaves the second problem -- leaked traffic during the interval between the time the WiFi connects and the VPN is established, and traffic leaked if the VPN dies for some reason while the WiFi remains connected. Is there any way to fix this problem?

Unfortunately there are no new answers since my bounty started. I believe this means the bounty will not be awarded to anyone.

I'm using the Private Internet Access app for the same situation. It has a "kill switch" to prevent the leaking. It only works with the private internet access vpn service though.


text:
How does Android obtain battery temperature?
I am curious about the way Android phones obtain the battery temperature. Android has an API called BatteryManager which provides the value of instant battery temperature, but is there an actual temperature sensor inside the battery? Or is this value purely calculated by a certain equation, using the value the current, the voltage and the elapsed time? If it is calculated not measured, is there anyway that we can know how hot the phone really is?

Every mobile battery has an inbuilt thermistor, (which is a transducer which varies its resistance with respect to its temperature) with which the charging circuit constantly measures the battery temperature. It can even prevent charging the battery if the temperature reaches dangerous level and by controlling its temperature, the life of battery is increased.
Mobile battery has more than two terminals, one of which is for this thermistor. See the image in my question asked in this site.

Thanks a lot, Narayanan! Your answer helped clear my confusion. Do you happen to know whether other components (such as CPU) in the phone have thermistors? Also, do you think the battery temperature can be a sign of showing the temperature of the phone (as a whole)?

To my best knowledge no other components of Android phone have any temperature measuring device other than battery. Of course, in some high end Android phone, ambient temperature sensor is available to measure the room temperature (as the word ambient indicates)

@spica: Some Android devices do seem to have CPU temperature sensor. However, I guess due to SOC design, and due to the size of a phone being much smaller than a desktop, any heat spreads quickly and makes monitoring each components individually less useful.

Thanks @LieRyan! I understand that it's impossible for all the components to have a temperature sensor. I just  hope there is a way to tell where the heat comes from. Sometimes we makes a long phone call and the phone gets pretty hot, but the battery is not that hot (although the battery temperature is also increasing). I guess in this case, the heat mainly comes from the radio module (because it's using a lot of power).

Adding what @LieRyan had said, the rapid heat spread is an intentional aspect, achieved with help of pyrolytic grahphite sheet.


text:
Play store icon in App drawer disabled in Nexus 7
i use the stock rom JB 4.1 on Nexus 7 8G.
There is a small play store icon in the top-right corner in app drawer(not app icons in ap drawer).
i found that the icon in my cm10 version phone and my friend's nexus 7 can be clicked and open play store directly, but mine wont work.
just as it is disabled.
why? how to enable it?

Seen this issue before, did you try rebooting your device?

@rnh16, thanks! i will try it later, and reply as soon as possible.

@rnh16, great, that works for me! will u post an answer and then i could mark it as the solution?

glad I could help :)

From previous experience, rebooting the device should fix the issue.


text:
Completing HTTP POST request when wireless network connects

Possible Duplicate:
Can I automatically log in to open WiFi that requires web login/password?

My school requires that students using the wireless sign in using an HTTP POST prompt each time they connect. It's a very simple username and password at a set IP address. I'm wondering  if there's some way to automatically login to this when my tablet connects to the network. If not, how hard would it be to code an app that accomplishes this.

It's possible that Tasker will do this.

You could do this using onx.ms. You'll need to know a bit of scripting, but it's not that hard. onx.ms is basically an automation tool much like Tasker.
onx.ms has the ability to automatically run the script you made at specific triggers (like Wi-Fi on/off). These triggers itself are to be defined within the script you make.
Have a look at this for the HTTPClient object you can use in the script to make this happen.
Though not a perfect app as it requires some internet action initially I presume and the fact that you'll need to have a facebook account to use it. But the whole javascript like scripting and not-so-bad documentation, makes it more fun to use.

Unfortunately, it's not compatible with the nexus 7. (Yet?) Any other ideas? By the way, I know java and am all for learning a new language.

@Zonedabone Have you tried Tasker? I've seen it having modules like "http POST/GET" that can fire up on certain triggers..much like onx.ms itself.


text:
How to change the boot animation in Galaxy Tab 2 GT-P3100?
I tried changing the boot animation in my Galaxy Tab 10.1  by this tutorial:
http://mobilecon.info/how-to-change-android-bootanimation.html
and it worked too but when I tried doing the same in Galaxy Tab 2 ICS it doesn't work the files are in different places..
Can anyone help me with a way to change the boot animation?

Provided you're rooted and your ROM supports changing the boot animation, there are a number of apps in the Play Store.
Here's one - https://play.google.com/store/apps/details?id=com.jrummy.apps.boot.animations

thats fine but i wanna know what files are being changed while changing the boot animation in Tab-2. and thanks for the answer too.


text:
My internal storage capacity is running low,  what can I do?
Currently, my internal storage is running low on space.
What can I do besides moving applications to the external memory, as to free up more space, but preserve my current applications and avoid uninstalling?
(Some of them won't be moved)

Take a look at the FAQ of our internal-storage tag.

Your right (I searched for "memory", not storage)

Then I assume the ram tag is incorrect

More related questions/answers: Not enough storage on android device, Why does my phone keep telling me it has low storage ?, What will be faster when moving to sd-ext via A2SD+ Data or Dalvik-cache? (or can I move both with no extra-penalty), and Something is secretly eating up my tablet memory and I need help finding it.

The only way to do this is linking apps to SD card.

First : Rooting.

How do I root my Android device?

Disclaimer : I'm NOT responsible to any damage you do to your phone ,Although it is very rare for someone to damage his phone while rooting (or a myth), and Rooting might void your warranty , some warranty policies void if rooted and some other void when unlocking bootloader (i.e installing custom mod) ,I did both actually.

Second : Partitioning SD card.
Linking apps to SD card requires a second partition on SD card.

XDA Developers - Partitioning SD card

Third : Activating Link2SD or S2E.
You can use one of these apps to link apps to SD card(I prefer Link2SD) :

Link2SD
S2E

If you use link2sd you must choose the type of your ext partition at the first open of the app ,then restart ,if you restart and the app tells you the same message see BONUS section of my answer.

Fourth : Linking apps to SD card.
This is using Link2SD (I didn't experience with S2E) :
After activating Second Partition of your SD card you should now link apps to SD card.
NOTE : an app must be on internal memory before it can be linked , if you try to link an app while it's on SD card it will be moved to internal then linked ,so make sure there is enough space to move it.
when you long press on an app ,a context menu appears ,press Create Link to link the app.

Bonus : Manually mounting second partition :
first you must install this app to mount it:

Terminal Emulator

then open the terminal emulator(and make sure you give it root access),and type the following (each line standalone):
su
mount -t ext2 /dev/block/mmcblk0p2 /data/sdext2

now open link2SD and Menu > More > Quick Restart it will restart your android system (not your phone),However you must do these steps every time you restart the phone (not via Link2SD)

Cant the restart that is mentioned in bonus section be avoided or automated by any means?

unfortunately not,but when I installed usb host mode zip (cm7.2) ,it does it by itself(without even writing anything).

Works :-)
Something else i should do?

I don't quite understand why you would manually mount?  And why a reboot is a problem?  (It should be only once?)

One useful additional technique is to backup and uninstall apps with Titanium (Then they can quickly be re-installed)

Removing the contents of /data/log/ worked very nicely for me. It was around 1.5 GB.

is there some way to make it automatic? or may be use su command to link that folder to sdcard (is it safe)? or tweak the logs to have a quota or just do not generate logs?

for me it was /data/log_other_mode for some reason

If you have an Acer A-series tablet (like this Iconia A500 description), it may be the Acer GPS-log leak:

The bottom line is that when the GPS is used, the GPS driver for ICS
  4.0.3 on the Acer a-series tablets apparently writes numerous gl-YYYY-MM-DD-HHMMSS.txt files into the /data/gps directory. The files
  are apparently not automatically deleted, and so over time will
  consume most of the internal storage space.

There is a patch to clear the GPS log data, which you download from the Acer drivers site.
You can download it and copy the Update.zip from it to an empty, FAT32 formatted microSD card.  My card wasn't empty, and it still worked.
Restart the tablet while holding the “Volume Down” key until an message (something like Erasing cache before SD update...) appears in the upper left corner of the screen.  (I interpret this as: "erase and update", so it should cure the symptom and the cause.) It will continue to start up afterwards, and you will be good to go.  (No root access needed.)
There is a nice .pdf in the download, describing the above steps in detail with screenshots. (It talks about an accompanying user_cleanGPSlog text file, but I didn't have it and did not seem to need it.)

Many people have that kind of problem and I have the same one. I finally figured out and it works great. I have a Galaxy Tab 7 but many android devices will experience that. There are 2 important folders. The one called /data is actually not really just data but it is where Android install the application apk and some of the data related to it. If you force the apk to install on SD card, it will still use some of the /data space (small amount) for some data. Be aware that there is a confusing "sdcard" name usage. Most Android devices have a "sdcard" that is an internal flash configured like an SD card but the real external SD card is often name external_sd or something along those line.
the problem I discovered is in /data/tombstone, you will find 10 files named tombstone_0#. These are debugging info collected by android. These files build up over time. You don't need that for a normal user. Delete all of them. These 4 files were using 1.4GB of my 1.89GB internal tablet storage.
To do so, you will need to root your device. Yes, you must. And it won't explode don't worry, I've done it and many others too! Then get a program like "Root Explorer" to browse and delete the junk. It will request and be granted root privilege if you rooted your device before and you will be able to do whatever you want.
To root your device, just google "root android my device model" and you should find quickly how to root your device.
This problem is a design flaw. When there is a low internal storage, Android should start a background task to clean up that junk. (haven't seen such idiot unfriendly behavior on IOS devices yet, except may be the new maps ;-) )

shouldn't it be better to use a memory cleaner app?

Type *#9900# on your dial pad, then go to "dump logcat", which will be the third or second line in the list. Select this and your SD card will then clear and fix the SD card full problem.


text:
Clean way for flashing factory image on Samsung Galaxy Nexus?
Is this the correct and clean way for flashing factory Jelly Bean image on Samsung Galaxy Nexus, without using any external tool (apart from Android SDK)?
I don't want to to break my phone, so I'm asking this. I've collected these informations from various sources, but I need a confirm that all the steps and commands are correct and needed.

Step 1: Download and install Android SDK for Windows. Start Android SDK manager, select Android SDK platform-tools and Google USB Driver (this should be already selected) and install. It will take a while.
After packages installation, add the folder:
C:\Users\<Username>\AppData\Local\Android\android-sdk\platform-tools

to your PATH variable, to make command fastboot available in command prompt.
Step 2: Download a factory image from official Factory Images for Nexus Devices. For me is "yakju" for Galaxy Nexus "maguro" (GSM/HSPA+), file yakju-jro03c-factory-3174c1e5.tgz
Make a new folder, say C:\jro03c. Open yakju-jro03c-factory-3174c1e5.tgz and extract bootloader-maguro-primelc03.img along with radio-maguro-i9250xxlf1.img to C:\jro03c. Folder now contains two image files:
C:\jro03c\bootloader-maguro-primelc03.img
C:\jro03c\radio-maguro-i9250xxlf1.img

Then inside the .tgz file itself, open image-yakju-jro03c.zip and copy all *.img files to C:\jro03c. You will end up with six image files:
C:\jro03c\boot.img
C:\jro03c\bootloader-maguro-primelc03.img
C:\jro03c\radio-maguro-i9250xxlf1.img
C:\jro03c\recovery.img
C:\jro03c\system.img
C:\jro03c\userdata.img

Step 3: Power off your Galaxy Nexus. Press and hold Volume Up and Volume Down then press and hold the Power button; the Galaxy Nexus will now enter "fastboot mode". Connect your phone using the USB cable.
Then open a command prompt (Windows Key + R opens "Run", then type in cmd) type:
cd C:\jro03c
fastboot oem unlock
fastboot reboot-bootloader
fastboot flash bootloader bootloader-maguro-primelc03.img
fastboot reboot-bootloader
fastboot flash radio radio-maguro-i9250xxlf1.img
fastboot reboot-bootloader
fastboot flash system system.img
fastboot flash userdata userdata.img
fastboot flash boot boot.img
fastboot flash recovery recovery.img
fastboot reboot-bootloader
fastboot erase cache
fastboot oem lock
fastboot reboot

You should note that fastboot oem unlock wipes the device, and should be used only if necessary (if you haven't unlocked the bootloader before). For this reason, I'd suggest to leave the bootloader unlocked (i.e. remove fastboot oem lock from the list of commands).

@onik you're perfectly right, but for the warranty to apply I think that bootloader should remain locked. Do you agree?

Yes, that's right, but you can always lock it, but since unlocking wipes the device I prefer to keep it unlocked in case I need to flash the device.

For linux users, the factory image download includes a shell script that includes all the steps necessary for a re-flash. Take a look and see if there is an equivalent batch file for Windows users.

Yes, this is the correct and official way of flashing
Be aware though, that no matter which way you flash, you can still break your phone
For example, you're in the middle of flashing your device, and the USB lead comes out - bricked device.
Or you're flashing, and you have a powercut - bricked device.
So, the moral is that there is no completely 100% safe way of flashing a device.


text:
Getting my data off of a G2 with a broken screen
I have a T-mobile G2 (aka HTC desire Z) with a broken screen. I have not rooted it or ever enabled debugging.
I would like to get the data off of this phone and onto my replacement. Is there any way to do that? The phone doesn't even show up when I run adb devices.
(My pictures are on the sdcard, so they're okay. I'd like to get my other application data off though. Especially SMS history and some notes from a memo application.)
Is there any method I can go about to do this?

Other questions you might want to check: Broken screen while debug mode was disabled. How can I re-enable adb?, Broken Screen + Using adb shell to run vnc server, How do I backup data (sms/contacts) from a device with a broken screen ?. At least one of them should prove helpful ;)

I looked at those questions before. Most of the answers require you to have rooted your phone previously. http://android.stackexchange.com/a/23928/19271 Does not seem to require it, but it presumes more than I understand right now.(CWM recovery image -- Where do I get that? CWM appears to require having been previously installed, but that's not entirely clear.)

CWM stands for ClockworkMod, and usually is installed via the ROM Manager (.apk available on that site or via playstore). While you could probably install this .apk via ADB, you run into the chicken-and-egg problem trying to install CWM with it. There should be flashable images available (see CyanogenMod Wiki for download and full instructions).

chicken-egg is right. Right now, I can't even get the phone to show up under adb devices.


text:
How is filing a contact under "Phone (Google)" different from the others?
I thought managing contacts in Android would be the easiest of tasks, but I have found myself in doubt now that I have an Android phone running Android OS 2.3.6 (Gingerbread).
If I file a contact under "Phone", I can search it and group it, but it is not synced to Google.
If I file a contact under "Google", its synced but it is not groupable (from the phone) and sometimes searches skip it (depends on whether it is in Google+ Circles or filed under "My Contacts").
How is filing a contact under "Phone (Google)" different from the others?

It is possible to group google contacts

Adding a Contact under Google lets you sync it with your Google account. I'm also able to add a group to a Contact, which is also synced with the Google account.
However, I'm no longer using the stock Contact app. Instead, I'm using TouchPal Contacts, which allows me to hide contacts without a phone number, something the stock app doesn't have.

I am able to hide contacts without phone number in the stock app, perhaps you should recheck?

Which version of Android is this? I see no such menu in my phone. There's only SIM storage, which should never be used except to import old contacts, phone storage which should only be used when you don't want your phone to be linked to an online address book, and synced storage which is usually Google account but other apps that are installed on the phone might also provide facility for their address book.
Phone storage, Google Contact synced storage, and Google+ synced storage provides grouping ability. Availability of grouping for third party synced storage depends on their implementation. Contacts from multiple address book providers can be joined into a single entry, so it can be used as a workaround to group contacts when the third party address book provider doesn't provide grouping facility of their own.
Yes, contact management in Android can be a bit complicated, but that's because it's trying to solve a bigger problem, which is that most people have multiple address books with overlapping contacts. For example, I have Google Contacts, Hotmail, Yahoo, Skype, and WhatsApp. The ability to manage them from a single app, and join contacts from different address book providers is just ingenious.

I have now (as per your request) specified the OS my device has installed: Android OS 2.3.6 (Gingerbread)


text:
How can I use Google Latitude's Location History without a constant Internet connection?
I find the Location History part of Google Latitude really useful. Is there any way to make the app (or another) store my location when an Internet connection is not available, and send it to the Latitude servers as soon as a connection is available?

Latify in the Play Store does the trick.

Is the Latify project down? If yes, can you recommend a similar software?


text:
Ice Cream Sandwich for Samsung GT-S6102B?
I have been looking to see if my device (the Samsung GT-S6102B) supports the new Ice Cream Sandwich Android version, but have found nothing. I thought perhaps more knowledgeable people would be able to answer me, so here I ask: Does my device support the OS?

Technically, ICS can be put in Samsung Galaxy Y Duos S6102B. Unfortunately, a ready-made ROM featuring ICS for the device isn't available yet.
So, unless you are a ROM cooker & developer, you can't do this.

Is there an official site where Android ROMs are uploaded? I just want to know if I am running the latest OS I can in my phone.

@WolterHellmund Manufacturers don't officially publish stock ROMs for users to download. However, you can find info on official website. I have found on Samsung.com that latest official OS for your device is Android 2.3 (Gingerbread).

Keep your eyes on trusted news sources to discover ICS update quickly. Sometimes, users get Android updates from non-official projects quicker than official one.


text:
Battery drops 20% after reboot!
Battery on Samsung Galaxy S2 on ICS likes to drop after reboot. Actually it happened when I was on Gingerbread as well. Anyone can help me fix this? Screenshots:

Its likely because there's huge amount of R/W & CPU activity at the time of Reboot..

How do I find the culprit.?

I have the same problem. @SachinShekhar: This is obviously a bug. I've seen drops from 80% to 20% with just a reboot. No matter how R/W intensive boot might be, it doesn't explain this. Strange thing is, in my case reported battery capacity usually increases after the reboot, without being connected to charger. But, though there is actually plenty power left, my phone will switch off Dropbox upload and misc sync, because it thinks battery's almost drained.

There is no easy way in finding which process consumes your battery. The battery monitoring tool in Android is not active during boot, so anyone wanting to know what's happening will have to make deep hackings in the Linux kernel and Android init scripts. I don't even believe you have a rooted phone or have a Android AOSP sources snapshot somewhere to hack into.
Also I believe that the battery estimation mechanism is somehow fooled at startup. Because it has no previous data to compare to (N is estimated depending on the value of N-1). So the level you see right after bootup is probably wrong. That's why you see the level strangely increasing although no power source was connected in the meantime. To what extent is this level wrong? Question without answer I think.
I have an easy solution though: stop installing apps that make your Android crash or need (stupid) reboot :-)


text:
My Google Now App does not speak
I tried out the Google Now feature that comes with Jelly Bean and it's not working as I expected. It answers my questions as a search result but does not show the exact result as a card nor does it speak to me.
I am using a Galaxy Nexus and 4.1.1 Jelly Bean. I checked the audio volume and I enabled Google Now. How can I get it to speak results to me?

Open Google Now. Go to Settings > voice. Change the 'speech output' option.

I had same problem, but after updating it works well. Just update Google Search in the Google Play Store.


text:
Use a wired gamepad on Android 4.0.4 via laptop?
I have a USB-based gamepad that I use on my laptop. I want to use the same controller on my Android phone. The problem is I don't have a USB-to-MicroUSB cable so I can't directly connect it to the phone. However, I discovered Wifi Keyboard. It works neatly if I use my laptop keyboard but I can't find any documentation about the usage of it's "Game Mode". I am trying to get Wifi Keyboard to use my gamepad on an emulator I have on the Android. If I try to set an input key on the emulator and I use my laptop keyboard, it gets detected and set. However, if I use my gamepad, nothing happens.
How do I execute the setup I have in mind?

Another option is to get a USB OTG cable. This is essentially just a microUSB to USB converter which would allow you to plug the USB gamepad directly into the phone.

An OTG cable will only work if the phone supports OTG, of course.


text:
SD can't mount and mmc0: error -110 whilst initialising MMC card dmesg error
My android device (Samsung Galaxy S with cwm) stop mounting properly the internal SD card to /sdcard/ mountpoint: normal boot fails and cwm recovery says "Can't mount sdcard" while trying.
Through adb shell terminal, I've seen that mmc* devices are not recognized at all
shell@android:/ $ cat /proc/partitions
major minor  #blocks  name

  31        0       7680 mtdblock0
  31        1       7680 mtdblock1
  31        2     256000 mtdblock2
  31        3      17920 mtdblock3
  31        4      12800 mtdblock4
  31        5      16384 mtdblock5
  31        6     176128 mtdblock6
  31        7      11264 mtdblock7

shell@android:/ $ dmesg | grep mmc
<6>[    0.000000] sclk_mmc: source is mout_mpll (6), rate is 51307692
<6>[    0.000000] sclk_mmc: source is mout_mpll (6), rate is 47642857
<6>[    0.000000] sclk_mmc: source is mout_mpll (6), rate is 47642857
<6>[    0.000000] sclk_mmc: source is mout_mpll (6), rate is 47642857
<6>[    3.073948] s3c-sdhci s3c-sdhci.0: clock source 0: hsmmc (133400000 Hz)
<6>[    3.074154] s3c-sdhci s3c-sdhci.0: clock source 2: sclk_mmc (51307692 Hz)
<6>[    3.075282] mmc0: SDHCI controller on samsung-hsmmc [s3c-sdhci.0] using ADMA
<6>[    3.075468] s3c-sdhci s3c-sdhci.1: clock source 0: hsmmc (133400000 Hz)
<6>[    3.075675] s3c-sdhci s3c-sdhci.1: clock source 2: sclk_mmc (47642857 Hz)
<6>[    3.075966] mmc1: SDHCI controller on samsung-hsmmc [s3c-sdhci.1] using ADMA
<6>[    3.076208] s3c-sdhci s3c-sdhci.2: clock source 0: hsmmc (133400000 Hz)
<6>[    3.076413] s3c-sdhci s3c-sdhci.2: clock source 2: sclk_mmc (47642857 Hz)
<6>[    3.076671] mmc2: SDHCI controller on samsung-hsmmc [s3c-sdhci.2] using ADMA
<3>[    4.682865] mmc0: error -110 whilst initialising MMC card
<3>[    6.288432] mmc0: error -110 whilst initialising MMC card
<3>[    7.897690] mmc0: error -110 whilst initialising MMC card
<4>[    7.959521] mmc1: queuing unknown CIS tuple 0x80 (50 bytes)
<4>[    7.971173] mmc1: queuing unknown CIS tuple 0x80 (7 bytes)
<4>[    8.009624] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
<6>[    8.022843] mmc1: new SDIO card at address 0001
<4>[    8.062894] bcmsdh_sdmmc: probe of mmc1:0001:3 failed with error -110

Is it an hardware problem or can I try to fix? Thanks.

mmc0: error -110 whilst initialising MMC card
This means that the internal SD card has failed.
The common workaround for this is to install Android to an external SD card. I can't comment on the Samsung Galaxy S, but I am currently doing this for a Samsung Galaxy Tab using the following instructions: http://forum.gsmhosting.com/vbb/f606/internal-sdcard-damaged-1471227/
Hopefully you can find some instructions specific to your phone.


text:
App for virtual keyboard for Windows
I am looking for an Android app which provides a virtual keyboard (and mouse) for a Windows PC. These are my requirements:

run in window-less mode, e.g. as a service (nice for HTPC)
provide support for special keys and key combinations

What I tried so far:
RemoteDroid

does not run as service
does not support special keys and key combinations
does not display any connection information

AndroMouse

always displays window (does not run as service)

Gmote

runs as service
no support for key combinations, just translates the usual android keyboard
up/down/left/right keys not working

Mouse and Keyboard Remote

no service, but CurrentVersion/Run

Does anyone have another suggestion?

I finally settled with Unified Remote. It does not provide a real service but can be run without displaying a window as a task bar program. It provides all special key combinations needed and also has a working automatic server detection. And I even haven't tried all the supplied program remotes!

I've been satisfied with All In One Remote so far. It also works with other OSes than Windows. As for run in window-less mode, I can think of a couple of ways to easily hide the server window for All In One Remote. It would just take a few minutes to make in AutoIt. As for provide support for special keys and key combinations, as far as I know, I can do key combinations with it too.


text:
What is *Cell standby* and how can I keep it from eating my battery?
Looking up my battery statistics, I almost always find Cell standby amongst the top consumers:

I never thought that "idle" would use so much energy. I saw that other people encounter similar problems:

Cell standby and Phone idle
Galaxy S3 cell standby is eating my battery

Answers on those questions just give some raw ideas. I would like to know what exactly stands behind this, an whether there are ways to keep this "standby" from eating my battery?

These percentages should not be compared from one time to another; you should only use them as a guide to relative power consumption.  Keep in mind that 100% of battery usage is not always the same.   Just for an example, assume that cell standby consumes 10mw, the display 50mw, and other miscellaneous use consumes 40mw.   In this case, your total use would be 100mw, and cell standby would be consuming 10%.  If you turn the display off without changing anything else, cell standby would still be 10mw, but would show as 20%, since your total consumption is now just 50mw.

I'm aware of that, Tom. But my "usage pattern" is rawly comparable, and at least this gives an idea. I wish they would additionally provide absolute values here, though.

I'm running into the same problem. What made you to solve this? Does Tasker app manages this automatically and solves the problem?

Cell Signal
Some backgrounds as explained by ce4 on the question Does 'poor' reception deplete the battery quicker?:

The transceiver circuit is engineered with power saving in mind and will reduce sending power as much as possible if the reception is good. This also reduces the SAR value which is a measurement for exposure of the human body to radiation.
If the reception is bad sending signal strength has to be adjusted accordingly.

So that's what's really behind it: On poor reception, the device spends a lot of power to find a better/stronger signal (or any signal at all if lost). The following screenshot1 clearly shows those times, when you take a look at the bar titled Phone signal.

"The greener the cleaner": A bright green means "good reception" (the screenshot shows this at the begin and end, that is here: morning and evening -- so at home I have good reception). Getting yellowish: "Moderate reception". This uses more energy: compare it with the graph on top of it (not in the screenshot -- but the same as in the first screenshot), and you see the bar is almost flat where the cell signal  is good -- but falls faster where it's not. See the little red spots: "no reception". And phone will power-up like crazy to find a new cell tower...
How to find out where the dead spots are?
I already showed in my answer on Does 'poor' reception deplete the battery quicker? how one can find out about those "Dead Zones" and where they are:
Apps like No Signal Alert2 and OpenSignalMaps3 monitor the cell signal in background, and record those areas, so they can show you a map of where the dead zones were. OpenSignalMaps has the plus of showing you all cell towers in reach, pointing out which you are connected to. It also offers you a "compass" giving the direction to the strongest signal.

However, my answer on how to automatically deal with those dead zones was not that detailed. So I played around a bit with different solutions -- and here's what I've found out:
How to automatically deal with those dead zones to save energy?
Apps to automatize Airplane Mode
I've reached fairly good results with two apps: Autopilot4 and NoBars Battery Saver5. Both monitor the cell signal and, when it drops to far, switch to Airplane Mode for a predefined time. The user can define how long that would be. After that timeout, Airplane Mode gets disabled, and cell monitoring takes over.

In the second graph of my question, this shows up as "gaps" in the Phone Signal bar: As the cell radio was disabled during Airplane Mode, no colors are shown; the system didn't know anything about signal strength in this time frame. And with the cell radio turned off, it also didn't use additional power (more precisely, it didn't use any power for this radio then) -- which was exactly what was intended.
With Autopilot, the only annoying side-effect was: For each signal check, it flashed on the display for about a second. Aside from that, it gives more options to be configured by the user. However, as the results of both apps where absolutely comparable, those extra options seem not really necessary, while being nice to have. Another plus of Autopilot is the log provided to the user: This way you can see the exact times of mode switches.
Apps to handle data network
I've also tested ShutUpBatterySaver6, which aims to handle the data traffic. Dropping below a certain signal strength the user can define, it disables AutoSync, and below a second definable level switches off mobile internet altogether.

It does, however, never activate (or deactivate) Airplane Mode, so the power used to get a (better) signal will still be the same. Though, with a bad signal data transfer uses more power than with a good signal, as e.g. package loss might be bigger. In the status bar I saw several times that it had AutoSync disabled7, so it seems to work. Not being a heavy data user (as the LBE stats in the same screenshot show), I could however not really tell how much help that brought: Compared to the two Airplane-Mode handling apps above, results in terms of gained battery duration were minimal (if any).
Combined solution
It would probably gain best results to join the two approaches. As I was not in the mood to check all possible combinations, I rather decided for the allmighty 6-letter-solution: T-A-S-K-E-R.
As most of you probably know, Tasker is the automation solution on Android. Guess it could even prepare coffee, if our devices had sensors to detect coffee and water. So I created some profiles for this great app -- and results were magnific!

So basically it's 3 Profiles, communicating via a common variable:

%SIGSTATE < 1: check if the signal falls below ~25%. If so, disable mobile data, set %SIGSTATE to 1.
%SIGSTATE < 2: check if the signal falls below ~15%. If so, switch to airplane mode, set %SIGSTATE to 2.
%SIGSTATE > 0: wait for 5 min, then disable airplane mode, activate mobile data, wait another 15 sec (for the signal to be restored), set %SIGSTATE to 0.

In my global Init profile (which gets executed when Tasker starts monitoring), %SIGSTATE is set to 0 (if it is unset). All 3 above profiles additionally set notifications, as the screenshot above shows9. Each state maintains one notification (which gets replaced when the same state re-occurs), the most up-to-date state is always on the bottom.
Results seemed even better than with the two airplane-mode handling apps above, but that might also be due to slightly different signal conditions. So it should at least be comparable. Using one of these 3 solutions, I came home after about 11 hours with about 20% more charge left then without applying any of them.
Having said this, I will end this answer showing the Tasker profiles I created, so you might use them with your Tasker installation:
Task "InitVars":

Variable -> Variable Set: %SIGSTATE = 0

Task "SigLow":

Net -> Mobile Data: Off
Variable -> Variable Set: %SIGSTATE = 1
Alert -> Notify Vibrate: Title "IzzySignal"; Text: "Signal Low; Mobile data disabled (Signal: %CELLSIG)"

Task "SigLost":

Variable -> Variable Set: %WLANSTATE = 0
Variable -> Variable Set: %WLANSTATE = 1 IF %Wifi ~ on
Net -> Airplane Mode: On
Net -> Wifi: On IF %WLANSTATE ~ 1
Variable -> Variable Set: %SIGSTATE = 2
Alert -> Notify Vibrate: Title "IzzySignal", Text: "Signal Lost; Entering Airplane Mode"

Task "SigReturn":

Task -> Wait: 5 Minutes
Net -> Airplane Mode: Off
Task -> Wait: 15 Seconds
(give the device some time to find a new signal!)
Net -> Mobile Data: On IF %ROAM ~ Off
(prevent bad surprise when returning from vacation abroad!)
Variable -> Variable Set: %SIGSTATE = 0
Alert -> Notify Vibrate: Title "IzzySignal", Text "Signal On; Airplane Mode disabled (Signal: %CELLSIG)"

Now for the profiles:
Profil SigLowCheck:

State -> Variable -> Variable Value: Name "%SIGSTATE", Op "Math: Less Than", Value "1"
State -> Phone -> Signal Strength: From 0 To 2
State -> Tasker -> Profile Active: "SigLost", [x] Invert
(make sure to avoid a conflict: %SIGSTATE~0 && SignalStrength~1 would match both profiles condition)
Task: SigLow

Profil SigLostCheck:

State -> Variable -> Variable Value: Name "%SIGSTATE", Op "Math: Less Than", Value "2"
State -> Phone -> Signal Strength: From 0 To 1
Task: SigLost

Profile SigReturnCheck:

State -> Variable -> Variable Value: Name "%SIGSTATE", Op "Math: Greater Than", Value "0"
Task: SigReturn

Profile Init:

Event -> Tasker -> Monitor Start
Task: InitVars

Now that's just the basic concept, and can be extended with e.g. playing sounds, vibrating, flashing the display, and more. But the energy saving stuff is already in -- and does its job as described. Hope this can help you as well!
Another remark: At least with GSM (I cannot tell for CDMA), returning from Airplane Mode by default forces you to enter the SIM PIN. This can of course be switched off -- but in that case this additional protection is also gone when switching on the phone. No idea why this is not possible selectively, as it was with my pre-Android phones.
However, for some phones there's an alternative to some items in above tasks, which remove this limitation:

In SigLost, instead of Net -> Airplane Mode: On use Phone -> Radio: Off if your phone supports this (my Droid2/Milestone2 does not, unfortunately). If you can do this, the WiFi check becomes obsolete (and your Task cleaner).
The counter-reaction in SigReturn then also needs to be changed: Instead of Net -> Airplane Mode: Off, use Phone -> Radio: On.

Please let me know in the comments if this removes the limitation of the SIM PIN, as I cannot test it (my device does not support it, as described above).
Edit by t0mm13b
The interesting thing I noticed was that there was multiple tasker icons appearing on the Status bar, which made things confusing as to regards the state that the tasker profiles was running as; I discovered that by setting the Title for the 'Notify Vibrate' in each of the above tasks to be the same, the net result is, one singular notification titled 'IzzyTasker' shows up, with the appropriate message used instead.

This must win a prize for the most thoughtful, useful, detailed answer ever.

Thank you! Took me about a week to collect all the statistics, test all the solutions, plus separating the good ones from the, hm, not so good ones ;)

Hehe -- thanks @t0mm13b for the update. Hint: The current state is always the "last one" (farther down than the others). So with different titles you get a little "log" added. But interesting discovery that the title is what makes a notification get replaced -- thanks for that!

This happens even when reception is good, though, it's not due to reception problems.

Awesome research, thanks for sharing!  I'm setting up a llama profile similar to your tasker setup. Do you know what would be a good threshold value for weak and no signal? Afaik -113dbm counts as no signal, but what about weak signal strength?

As Tasker does not deal with dbm values directly, I didn't dig into those very deep. You could observe it for a while (or monitor it with e.g. RF Signal Tracker) to find suitable values. From my monitoring with that app, I agree to -113dbm meaning "out", no useful signal then. So you could start with -110=SigLost, -100=SigLow, better=OK – and from there play with the values until you're satisfied. I'd appreciate to read your results (values) here then :)

The magical value seems to be -105dbm. Everything above is represented by 2 bars signal strength, -105dbm and everything below is one bar or less. This holds true for a Samsung Galaxy S2 i9100.

I don't understand "On poor reception, the device spends a lot of power to find a better/stronger signal (or any signal at all if lost)."  How does it use energy finding a better signal? I can imagine it scans frequencies, listening for a strong one, but unless it transmits, I don't see how that takes much more power than sitting on one frequency, listening. If it transmits...why? Is it to get a handshake?  Wouldn't it be better if masts transmitted heartbeats very frequently so that phones could tell immediately if they had a good signal from one?

@Poldie, a receiver requires energy. If it already sits on a fine connection, it doesn't need to check for others. If it needs to, it must check whether "the other cell" is usable, if it can "get a lock" to the other tower (or gets refused, as it e.g. belongs to a different carrier). For that it also must transmit, of course. It might need to scan additional frequencies as well (2G/3G/LTE, each with different bands) instead of just sticking to the one it has a connection to. For a detailed technological description of this Android independent part, I cannot give an answer (I'm no engineer).

Is this still relevant with Lollipop?

@wizlog Lollipop wasn't installed on the cell towers, and neither changed the GSM/UMTS/LTE protocols – so I assume the topic remains relevant. I don't have an LP device here (and no corresponding test environment or the time to run such a test) to see whether LP handles this more efficiently, but it certainly cannot do anything to signal quality (only react on it).

@Izzy AutoPilot and ShutUpBatterySaver's link seems to be dead.

@Firelord So what? This answer is 3 years old. Still enough other pointers there :)

Apps suggested in the answer are no longer exist.

@Pandya look at the date. And be welcome to be more precise (e.g. mentioning which ones). Though there might not be a replacement – and I have no time to search for them.


text:
Is cm10 compatible with cwm 5.0.2.8 on huawei u8160 ?
I have a Huawei u8160 with CWM 5.0.2.8 .I have tried to flash cm10 using CWM 5.0.2.8 but it boot loops.I have waited for 20 minutes for it to boot ,but it didn't.
I've seen this discussion about cm10 boot looping and I did flash it using the same way that worked with him ,boot looped.And this discussion too ,but CWM 6 isn't compatible with my phone.
So, I am asking here ,What can I do to make it boot or it's not compatible?


text:
How to know whether my Xperia Ray's bootloader is locked or unlocked one
Title says all, but again a bit background
I would like to know whether the bootloader on my xperia ray is locked or unlocked one. I bought it from ebay & with seller warranty (or you can say no warranty). It was a great deal & I didn't need warranty too as I was going to root it.
I haven't done anything to unlock my boot loader till now. Used x-parts (auto CWM installer) to test some roms. How do I know the phone I received, has bootloader locked or unlocked?

Try to flash the original firmware for your phone, then dial *#*#7378423#*#* on your dialer app and navigate to service menu -> service info -> configuration. It should be indicated there.

I know that but that means Bootloader can be unlocked or not. isn't it? The menu says Bootloader Unlock allowed

@Web-E, yes. If you have an unlocked bootloader, that should have been replaced with an actual indication that your bootloader is already unlocked. Otherwise, it will just say that the bootloader is unlockable or not. I forgot the exact wordings it used on mine (Xperia owner too).

Ok it just says Bootloader unlock allowed : Yes

Then that means your bootloader is not unlocked but it can be unlocked. :)

It should say, "Bootloader Unlocked: Yes"


text:
Problem partitioning SD

Possible Duplicate:
SD card partitioning? why? how?

I am trying to partition my sd card on my Samsung Galaxy Ace because I want to extend my memory using the app link2sd but I have some problems doing it.
I am following this procedure which I first tried on my HTC Desire with perfect results:
open gparted
search for the filesystem I am interested in
make a first fat32 partition of 3GB for the SD
make a second ext3 partition of 800MB to extend internal memory and use link2sd
apply

At this point I get an error, gparted is unable to do the first partition. If I try to change the orders/types of partition the error is always the same. Now I have a not allocated SD which is working to host data but I'd like it to work as an extension of my internal memory.
What I'm doing wrong? How can I solve it?
Thanks

You didn't provide the error message, so I can only take a good guess: As it already happened at the first partition: Did you first delete the (only) partition on the card? Otherwise: No free space left to create any (new) partition ;)

I am sorry you are right. This is a link to a folder where there is the file saved by gparted wuth the errors: https://www.dropbox.com/sh/nea2gor32pwqjcl/nOXnzD67Fc Unfortunately it is formatted in html so not very very easy to read.

I think I first deleted the only partition on the sd card

Yes, you did -- as the "create partition" in your log stated "Success" (btw: Hard to read an HTML file in dropbox -- plain text would have been easier). The error occurs when creating the file system; looks like another process still accesses the partition ("Device or resource busy"). Would be helpful if you explain the steps you performed.

Yes sorry it's quite hard. How could I share the file? By the way, it is pretty difficult to remember the exact steps I performed because I got quite nervous and started to try all the possible combinations between orders and types of partitions. Probably I firstly deleted the existent partition and tried a start over, obviously without success. I can't understand the error though, if the SD card is empty, how can't a new partition work?

It's quite a while since I last used gparted. Maybe the gparted FAQ and manual offer some help?

I didn't find my specific problem there, unfortunately... is there any alternative software that will let me save my sd card (and phone using link2sd)?

On Linux, I normally use cfdisk and mkfs directly. But following the steps of the gparted manual precisely, you should also be able to partition and format your card? Maybe you try in two steps: Start gparted, create the partitions, write your changes, exit gparted. Start gparted again, format your partitions, done. Step-by-Step in gparted manual should also do.

It's not working, I always get the error in the first step, when I create the main partition...


text:
Firefox Beta and Youtube - no play nice
I'm loving Firefox Beta.  My current only problem with it is that when it encounters a resource that needs to be opened with an app, it does not do that.  Instead, it gives me the non-useful error message "This link needs to be opened with an application."  Youtube is a clear example.  The android browser knows to open Youtube videos with the Youtube app, but there don't appear to be any kind of user agent settings in Firefox Beta?
I already tried removing defaults from both Firefox Beta and Browser.  Again, Browser properly interprets the default application for youtube anyway.
I also don't want flash; I don't want to play the videos in the browser but in the youtube app.


text:
Where have the megabytes from my downloaded game gone to?
I downloaded heros call game, about 130 MB. All is fine -- but I can't find the 130 MB anywhere on my phone, just about 300 KB.
Where have all the megabytes I downloaded gone to? Probably something obvious, but it's driving me mad!

You could use DiskUsage to find your files. This app shows you a graph of folders and how much space they are using on your SD Card. It is designed to help you clean out folders that get large, so it would be perfect for your case.

One of my favorite apps and, while I still had my Droid, a "must-have".

Downloaded data for games, mostly are saved in SD-CARD/Android/data under a folder with a name matching to package name of the game. Albeit, it may differ across developers. For example, Gameloft games data are saved in SD-CARD/gameloft. So, you can check those folders with a file explorer app or when your sd card is mounted on pc.

Usually Games are downloaded to the SD card, so check there, for example using a File Manager app.


text:
Would Apple EarPods work on my Android phone?
Apple just launched the iPhone 5; together with that they landed new earphones they call 'EarPods'. I have an HTC Desire HD Android-based phone. It has a 3,5mm jack just as the iPhone. Would the earphones and microphone of the EarPods work on my phone as well? Having good quality earbuds that stick in my ear sounds attractive to me.
I do not care about the controls per se, and I'm pretty sure the sound will also work, but I'm not sure about the microphone. Also, how much of the improved sound and noise reduction is implemented in the software?

Doubt it would work as that is a proprietary connector, and also, the ground and volt is reversed on the apple connector (don't ask me why!)

The mic works only if I hold the volume up remote button on my Sony Xperia Z3 Compact. Volume up and down doesn't work.

Firstly because they use the 3.5mm standard they will transmit sound to Android just as you would expect on the iPhone. All the controls work fine with the exception of the volume up and down. The microphone works currently on Android as well.
Source:
http://www.androidcentral.com/earpods-ear-holes-android

There are four things in Apple EarPod

Speakers
Microphone
Play/Pause Button
Volume Up/Down Buttons

for speaker and microphone
Apple EarPod supports Universal Head-Phone config.
Should work with: HTC, Samsung, LG, Most low-brand phones, some Motorola and some Sony, Audio Players.
Microphone and even speaker will work sometimes, but not well, with: Nokia, Most Sony,  Most Motorola.
for play/pause button
This works for most headsets.
for Volume Up/Down buttons
This is very, very specific and you'll have to do some research on sites like pinouts.ru. People on the Apple store say volume button works well with HTC Wildfire, but I'm not sure.

Nice answer, but I think the link to www.pinout.ru is not the correct one.

Any other than pinout.ru ?

The first link is dead.

Please see the comment by @t0mm13b .
I've tried EarPod with couple of Samsung android phones. The sound works fine as expected. But the mic doesn't work and only gives a constant noise when tried to record audio. Also play, pause, vol. up, vol. down controls are not working with android phones.
If you need only its amazing sound quality (for $29), go for it.
The speakers work in correct volume when the impedance matches with the device out. Most phones are having ~32 ohms output impedance.
Technical specifications:
Frequency Response: 5 Hz - 21 kHz
Sensitivity: 109 dB/mW
Impedance: 23 ohms

#How to convert Iphone 3.5mm pin to standartd Samsung/Nokia 3.5mm pin?#
Update: Apple EarPods' mic works fine in recent android phones.

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


text:
Use Google Now as a Voice Dialer replacement when pushing "call" on car head unit
My Samsung Galaxy S running a CM 10 nightly opens the "Voice Dialer" application when i push the "call" button on my car radio head unit. Both are connected via Bluetooth.
As you might expect the Google Now voice recognition is far superior.
Is there a way to:

Open Google Now when i press the call button
Also use the cars microphone for voice input

Thanks for your help!

Edit
I believe the issue is similar or the same as this http://code.google.com/p/android/issues/detail?id=38566
Unfortunately Google has only given it Priority-Medium.

Go into settings -> apps and click all.  Then find voice dialer and disable it.  That should disable the voice dialer app and Google Now should come up when you press the call button. If that doesn't work you can always reenable voice dialer.

I Disabled "Voice Dialer" and tried again. This time another interface was shown titled "google voice dial". From the quality of voice recognition and its TTS sound its just another frontend for whats behind the "Voice Dialer". Google Now did not show.

@ThomasS I'm not sure if this would work, but you can try finding Voice Dialer in Settings -> Apps and tap on Clear defaults

I can't even see 'Google Voice Dial' in my list of apps. Does it have a different name in 4.3?

I was searching for a fix to this exact problem and came across your post.  I just found
this.
I remembered your thread and thought i would come back to share this with you.
The guide says to:
Open Bluetooth Launch and scroll down to “Voice Search”.
Tap on it to expand it out, then select:
“com.google.android.voicesearch.RecognitionActivity”
but i found it in "Google Search" and then selected "com.google.andoid.googlequicksearchbox.VoiceSearchActivity"
I've got a galaxy nexus on Jelly Bean, which may explain the file tree differences.
Anyways, it works like a charm.  Good Luck

The page states that on android 4.1.1 (which probably means 4.2.1) the software "Bluetooth Launch" can not be used anymore. Can you confirm this claim is wrong?

Bluetooth Launch with the above configuration works for me on a Galaxy Nexus as of today.

I'm not sure if this is true for other phones listed above, but for The Galaxy Note II, I had to make sure S-Voice was disabled (it says Voice Dialer on the first post).
Also, if you have downloaded bluetooth launcher you probably already tried:
"Google Search" and then selected "com.google.android.googlequicksearchbox.VoiceSearchActivity"
and was still launching S-Voice. Once you disable S Voice (note the space) go into Settings > Application manager and scroll to the right to ALL. Then find S Voice and disable it.
Once you disable it and hit the button on the paired bluetooth device, you will get a "Complete Action Using" dialog. Resist the temptation to choose Google search.  I know it's the logical choice, however you will not get Google Now; you will get a Google voice dialer instead.  So make sure you choose "Bluetooth Launch" and select ALWAYS.  Now when you hit the bluetooth button, you should get Google Now.
Note this will only work for the bluetooth.  I had to use a separate app (Home2 Shortcut) for the double tap on the the HOME button.

Go to the Google Play Store, and download the Home2 Shortcut app
Open Home2 Shortcut
Choose "Google Voice Search"
Choose the speed that you would like to double tap thee home button (I left mine at NORMAL)
Choose "TouchWiz home" for home application if you have the default launcher. If using something else chose that one; in my case I was using NOVA Launcher.
Scroll down to the CLOSE button and click it.
Double tap the HOME button.  You should now get a "Complete Action Using" dialog.
Choose Home2 Shortcut and select ALWAYS.  You're done!

FYI:  I don't think it matters but I'm rooted with a basic stock ROM. Again, these were the steps for me on a Galaxy Note II (Sprint).

Try Hint2Search. I helped beta test and it works wonderfully! Simply connect your Bluetooth headset, press the button on the headset, select this app as the default to open on your phone and select always. Now just press your Bluetooth headset button and boom! Google now opens! Should work with cars as well if given the choice to select "default action" on the phone.

I know this thread is a bit old and may have been answered already somewhere, but its the first thing that pops up under a few different Google searches so I thought I would add my two cents..
For anyone still trying to use Google Now Voice Search instead of Google Voice Dialer as the default bluetooth button action, there is a new app called BT GNow by Vibaroo and it can be downloaded in the Play Store for free from here.
I use it with a variety of different bluetooth devices on my Nexus 5 running Lollipop. So, yes, it is compatible with the most recent version of Android (5.0.1) and should be compatible with all other versions as well. Hope that helps.

YOu don't have to install any other apps.  All you have to do is "Reset Preferences" in app manager. Next time you turn on your bluetooth it will ask you if you which default action you want.  Choose Google!


text:
where can I find fuse.ko file for my huawei u8160?
I have a Huawei u8160 running Cyanogenmod 7.2 .
I have been looking for the fuse.ko module for my phone, but whenever I find anything ,terminal emulator tells me that it is incompatible!
I want it to enable NTFS file system support using this tutorial
So I was wondering where I can find the appropriate fuse.ko module?
NOTE : I've already seen this link but I don't think that's what I want.

This was answered in a comment on another question

You can build that module yourself from the source code of the Linux kernel your device is running (presumably some Cyanogenmod kernel).

You can find out which kernel your device is running, and with which compiler it was built, using cat /proc/version.  Try finding the corresponding kernel sources in the Cyanogenmod repositories.
The kernel configuration file used to build your kernel (.config) should come with the kernel sources.  If you're lucky, you can dump it with zcat /proc/config.gz on your device.  Put the .config file into your source tree.
Find a matching compiler.  Typically, one of the compilers coming with the NDK will be fine.
If the kernel uses modversions, you first need to build the kernel to get the Module.symvers file right.  Assuming the NDK's cross compiler is in your path, try:
make -j4 ARCH=arm CROSS_COMPILE=arm-linux-androideabi-

One you have a kernel, add the modules you need to the configuration by using the xconfig (or menuconfig) make targets:
make -j4 ARCH=arm CROSS_COMPILE=arm-linux-androideabi- xconfig

Build the module.
make -j4 ARCH=arm CROSS_COMPILE=arm-linux-androideabi- modules

If insmod'ing the module fails with an error saying that _GLOBAL_OFFSET_TABLE_ was not found, try adding the -fno-pic option:
make -j4 ARCH=arm CROSS_COMPILE=arm-linux-androideabi- XTRA_CFLAGS=-fno-pic modules

Good luck.


text:
How to force browsers not to reload recently seen page after resume?
When I visit a website then switch to another app, then switch back to the browser the page is reloaded which I have just seen. It happens not just with builtin browser - I also tried Opera Mini and Maxthon.
How can I keep the recently seen page after resuming the browser?

You can't prevent that. If the system (or App) reload the content, this is because it has decided to reload it. There is no option to prevent that.
But you can create your own browser that will handle the resume as you want ;)

Yeah, just to paraphrase, this is unfortunately due to the Android OS decided it needs to free up memory being used by the Browser by stopping it from being open in the background. Someone may have written a browser app that saves the page data and reshows it, even if the app's activity has been killed, however. Good answer.

I agree with the answer.  I will add some speculation: the browser isn't actually reloading, in the sense of reissuing the HTTP GET request; rather, it's simply re-rendering the existing HTTP response that it presumably has lying around in its cache.  I say this because I've seen this happen without network connectivity; if I then tap the "reload" button, it gives the error you'd expect ("Cannot load page because I cannot connect to the Internet" or whatever.)

If it has decided to reload it, then it would have been a very bad decision since it would be "killed" the the ability to use apps simultanously. But the answer coming from @offby1 is right - there is a re-rendering instead of a reloading - so I would accept this answer

I tried Google Chrome and it was worked as it should be! No rerendering at all - can somebody verify it?

@laplasz: browsers had to rerender if it has been killed by the system (generally when a foreground apps needs more memory). With chrome, rerendering is a bit obvious because chrome displayed a grayscale screenshot of the page while it's rerendering. If you want to prevent rerendering at all, you should avoid switching to a heavy application (e.g. games). How much states are preserved across rerendering depends on the quality of implementation of the browser.

@LieRyan have you tried switching apps? When I am doing the ALT+TAB like app switching from built-in browser to Helloworld app and back, the re-rendering happens all the time. HelloWorld app needs no memory I think. So you think that Chrome makes rerendering but in a smart way?

@laplasz: hmm... by itself switching apps (either by pressing Home key or by the task switcher) shouldn't kill the browser, something is a bit strange with your browser or the page perhaps that makes it have to close the browser and rerender all the time. How many tabs do you have in the built-in browser? Wild guess, but perhaps you have too many tabs open to fit the browser into the memory and that's why the built-in browser got killed as soon as it's no longer a foreground app, while Chrome has less tabs and stays around longer?

@LieRyan have you tried switching apps? i have 2.3.4 and the built-in browser only have 1 tab. please try it yourself with the built-in browser. (when I tried Chrome I tried at my colleges phone)

Update - maybe this rerendering thing only happens before ICS, because now I tried the built-in browser in ICS, and there were no re-rendering at all. Can somebody confirm it, that this thing is depending on OS?

@laplasz: IIRC, the stock browser on 2.3 does not do any rerendering, if the browser gets killed the page will be refreshed, and I think sometimes you may even lose the active tabs. However, even on those older versions, as long as the browser didn't get killed, you should still be able to switch to another application and go back to what you're doing. Since you're consistently getting a refresh every time, your browser must be getting killed for some reason; are you running an automatic task killers?

To be honest I have a custom rom - but i dont have any task killer app. I will try on original 2.3 software and come back with the result. Again, I have no tabs, just one active...

@LieRyan by the way how can I check that browser gets killed or not after switching? and again when there is no data communication the browsers can open the page when I switch back - so no reloading as offby1 said

let us continue this discussion in chat

You may try to use swap memory. It works for certain amount of time and relies on the quantity of apps you've got open at the same time and how heavy they are. Research about it, but you need unlocked bootloader and being root. Other option could be a device with more RAM (>= 1GB RAM).
Cheers.

Just uncheck "Don't keep activities" from the "Developer options" under general Android settings.

Unrelated... It was unchecked already and it still happens. Are you sure that your web pages do not reload when you switch between tabs?


text:
How can I configure an OBD ELM327 cable to work with an ICS tablet?
I bought an OBD ELM327 USB cable in order to use it with Torque Pro since Ice Cream Sandwich USB host capabilities and the Torque website claims that it works. The problem is that when I connect the OBD adapter to my tablet it simply doesnt do anything, but I expected the choose application window to pop up. I downloaded a usb device app and I can see that it is connected, but it doesn't recognize it. How can I configure it so when I connect it the choose app window pops up?

Just a cable? As for the choose-app dialog, it usually doesn't pop up if you have nothing to handle the event.  Do you have an app that is supposed to work with this?

Its not really a cable, it is the OBDII ELM327 usb adapter.It is supposed to work with torque pro an app that specializes on car diagnostics via bluetooth and wifi but it also has the option to work with usb since ICS has the host capability.In the app's manual it says:Plug the usb and when the pop up window comes up for choosing an app to work with, check torque pro.I did this many times including when the engine was on but nothing happened.@MatthewRead

I downloaded an app called USB device info.It has two windows.Android and Linux.When i plug the usb, in the android window nothing comes up but in the linux one it recognizes it and gives me some device info @MatthewRead

It may be that your specific tablet doesn't support the necessary functions through USB OTG. It may only support storage and HID (keyboards & mice). Can you not use the adapter with bluetooth?

I have the kyocera event that also runs Ice Cream Sandwich and in turn is rooted... ...using kernel tuner(very old version) I saw it as well and tired it myself, it did work for about a minute then a portion of the system went bad and restarted. After it restarted the option was no longer visible in the app. In conclusion the option is there but full OTG  support is not. If you still want the support for OTG it may be best to flash a custom kernel.

You need a otg cable to put your android into hostmode, that is if your tablet offers usb otg mode. I have this setup running on my galaxy s2 and my daughters fuhu nabi 2 , works great except for I need better shielded cables to prevent ef interference freezing data.

OP is using an OTG cable with an OTG-capable tablet, since he could connect the cable to his tablet and he has an app that shows the cable is connected. The problem must be that the tablet lacks drivers for the ELM327.

on my Newsmy Carpad NU3001/NU5002 Android unit, i had to use a passive USB splitter hub 'octopus' and plugged it into the USB Host port.  Then I took a mini-USB cable and plugged that into the USB OTG port on the android box.  Then I plugged both the miniUSB cable and the ELM USB OBD2 adapter into the usb hub dongle octopus.  Then and only then was Torque able to see the adapter.  Basically I had to use both USB OTG and USB Host ports to get the USB ELM adapter working.

I don't have this exact combination of equipment, but you probably need to

connect the ELM device to the tablet
connect the ELM device
to the vehicle
turn the vehicle ignition on, but don't start the
engine; in other words turn the key to position II.


text:
Bauhn tablet Bluetooth keyboard not working
My Bauhn tablet runs ICS. It will pair with my Bluetooth keyboard but doesn't actually type anything. I've tested by connecting to my Samsung Galaxy S 3 phone, and the keyboard works fine. But it won't work on the Bauhn.
Am I missing something?

You'll need to download the app BlueInput. Bit of a pain but will allow you to use the keyboard.


text:
Password protected access to phone features
Is it possible to password protect access to certain phone features s.a. ability launch google-play (to install new apps), and certain apps ?
Is it possible to restrict ability of a phone to make phone-calls or send/receive SMS's to/from particular set of numbers, under password control ?
User experience would be that they are prompted to enter a password/secret-PIN to access these features. If user enters the correct password/PIN they get access to the specific application otherwise not.
Edited (Sept 19, 2012):
Looking for solution that does not require flashing custom ROMs. Thus MIUI, Aliyun, Cyanogen-Mod etc. are not feasible, as I require the solution to work on the ultra low-cost Android devices which use Mediatek chipsets.

can you disclose the reason why you need the blocking, is it for cost control, privacy, or security? (different reasons would have different best solution) Many operators have parental control features that allows you to monitor and block phone calls and SMS. That might be suitable for you?

Apps like https://play.google.com/store/apps/details?id=com.sp.protector.free&hl=en does half of your requirements like blocking app without password.

@LieRyan, the reasons are "Parental Control" indeed, but in case where operators currently does not provide such service, or subscriber does not intend to pay a monthly recurring fee for such service, since it could potentially be done on a phone itself.

@roxan, thanks for replying. As you can see below Web-E has already provided that suggestion. Good to have a reinforcement though.

lol, totally didn't see this from review mode. Also totally forgot I had already commented with similar suggestions :D

You can use Smart App protector or similar software. However I haven't tested it personally. I use MIUI rom which have these functions built in.

Thanks @Web-E. Looks like a locking-app that cannot be fooled or circumvented (at least not easily). As for MIUI ROM, I was under the (incorrect) impression that it is UI-only enhancements, but looks like it's more than that. Alas, it is not available on the ultra-low-cost Mediatek chipset based sub $100 phones.

Shall wait a little more, and if there are no better suggestions, will probably accept this an an answer, although it does not address the need to have a black-list or white-list of numbers that I could call.

@icarus74: There are several apps in the market that claims to be able to restrict outgoing calls, you might want to check them out. I don't know how easy they are to subvert though, so I can't give any recommendations.


text:
Export data from Facebook to Google accounts
My Android phone is linked with both my Google and Facebook accounts. Many of my friends' email addresses are available only in Facebook account details. Is there any way (perhaps an app) to copy the account information (like email address) to the contact details in Google?
I am aware that exporting is not allowed from Facebook now, but there is a possibility of having some applications in Google Play Store which can copy details of merged contacts.

I had done a bit of a research on this.
There was a trick until a few months back, by linking the Facebook account to Yahoo account so that the contacts get merged. Later it was possible to export the contact details from Yahoo.
But now even this method doesn't seem to work, as exporting the contacts will only export Yahoo contacts and not the one merged from Facebook. :(


text:
How do I share latitude & longitute of a starred location in Google Maps?
The question title speaks for itself. How the heck do I do that in Google Maps. If I try to share a starred location, I get a link but not the coordinates.

This is bit long, round about and bit approximate way.  Other than this method, I do not know any other way.
In Google maps, press menu, goto Settings->About->Map centre.  The value showed as map center is the coordinate of the place at the centre of the screen.  So, you may have to align the starred place to centre of the screen and do this sequence to get it's coordinates.  This will only be as accurate as you can position the starred place at the centre. The accuracy can be improved by zooming in.
It will be nice if somebody comes up with a better idea.


text:
Cannot change to English UK from English US
I recently updated my HTC Desire S to ICS 4.04 and sense 4.6 via the upgrade available at HTCDEV.COM
Since then my default language is English US and cannot change it to English UK via the setting>Language and Keyboard
It also changed my contact number from 12345677 to 123-45-67 which i am quessing it has to do with the US locale?
Thanks

Did you download the correct ROM? http://www.htcdev.com/devcenter/downloads shows ROM for different carriers and country.

There's only 2 versions  one for chineese and the WWE,,i downloaded the WWE one....i am base din cyprus which is EU.

I have had the same problem. Try downloading Custom Locale from the Play Store and you can select your language. Do a reboot once you have changed the settings in the app and it will have reflected it in the device settings.

am quessing the app needs to be running in the backround for the local to remain throughout?


text:
Upload contacts from Nokia to LG Optimus L5: phone numbers in notes field
I have exported contacts from Nokia to CSV and TXT files and upload to gmail contacts then I set LG to sync gmail contacts.
It worked but all contacts are in comments.
I can't call when I select contact and when someone calls me I do not see contact name.
How do I fix it?

Are the contacts right in GMail?

No. All phone numbers are in comments box on the right. Phone number field is blank.

I had manually exported contacts to Google CSV, uploaded to Google Spreadsheets.
Edited manually table by copying comments column to phone number column, deleted extra text, upload CSV to contacts again


text:
My IMEI was deleted, but I wrote down the number. Can I restore it?

Possible Duplicate:
How can I restore IMEI code after factory reset?

I have an SGS2.  During an OTA update the IMEI was deleted.  I didn't have a backup of the EFS directory, as the phone wasn't rooted.  However, I copied down the IMEI on paper beforehand.
Is there any way to restore the IMEI if I have the number?

Start here with this answer to an exact duplicate of your question.

@zero2cx you should flag it as duplicate :)

I don't think it's a duplicate, because these things are very phone-specific.

It's specific to Samsung Phones because they store the IMEI in the /efs/ folder

I've a Samsung Galaxy S1, but it will probably also work for you...
What I did, I flashed a Stock ROM via ODIN with Re-Partition enabled. (Don't know if it's necesseary) The stock ROM automatically regenerated my EFS-Folder and my IMEI... (See the Thread here)
This worked for me, but this might also help you.
I don't know any way to restore your IMEI, just because you know it. (It's written behind your battery anyways) The EFS-Folder which stores the IMEI is encrypted.


text:
is there a way to know what CPU, GPU, RAM my phone / tablet has?

Possible Duplicate:
How to get hardware specs of Android device?

I have a generic "cheap" tablet, running ICS; but I'd like to know what GPU does it have.
The box says it has an Allwiner A10, Cortex-A8 1.1 Ghz CPU, but doesn't mention anything about GPU.
I think (not sure) that most of the time, GPUs are "associated" with CPUs, since they are SOCs, but i am not sure. Either way, i do not know is those A10 have an specific GPU.
The same goes for the RAM, I'm not sure the OS can tells us directly. I want to know it other than the specs in the box (or manufacturer website, etc).
So is there a way to know within the operating system? Maybe somewhere in the settings, or with an app, or even a command somewhere? Something like in windows, where you can directly know what specs the computer has with simple steps.
In my case, it is an ICS tablet, but I'd like to know if i could find out the specs of any phone or tablet, on any version of Android. Mainly because it would be extremely useful when playing around with the devices in stores, or to find out the specs of friends' androids without even knowing the brand / model but having access to it.

This? https://play.google.com/store/apps/details?id=com.electricsheep.asi&hl=en

Googling the keywords Allwiner A10 yielded this answer by way of this linky. To quote, under the features heading:

Features of the Allwinner A10 include:

1.2ghz Cortex A8 ARM Core
MALI400MP OpenGL ES 2.0 GPU
DDR3 Controller 800MHz 1GB
max 2160p Hardware-accelerated Video playback (4x the resolution of    1080p)
a NAND Flash Controller that is capable of 8-way concurrent DMA (8    NAND ICs)
4 SDIO interfaces (SD 3.0, UHI class)
USB 2.0 Host as well as a 2nd USB-OTG Interface (USB-OTG can be    reconfigured as USB 2.0 Host, automatically)
24-pin RGB/TTL as well as simultaneous HDMI out
SATA-II 3gb/sec 10/100 Ethernet (MII compatible)
a 2nd 24-pin RGB/TTL interface that is multiplexed (shared) on the    same pins for a standard IDE (PATA) interface
GPIO, I2C, PWM, Keyboard Matrix (8x8), built-in Resistive Touchscreen    Controller, and much more.

So it seems, MALI400MP is what's needed to google, yielded this linky
directly on ARM's site. Quoting the first paragraph:

The world's first OpenGL ES 2.0 conformant multi-core GPU provides 2D
  and 3D acceleration with performance scalable up to 1080p resolutions,
  while maintaining ARM® leadership on power and bandwidth efficiency.

Thanks, very useful, but this only covers THAT specific model of CPU, and of course, i could simply google every model i wanted, but what i ask is if there is a way the SO itself tells us that information, without depending on the internet to find out. Something like "system properties" or "device admin" in windows.

Settings > About Phone will give you info on the CPU and RAM, as well as some information about the software on the device. This works on my phone with Cyanogenmod 7.1 (Android 2.3), and I think it should work on all Android devices. For any further info I think you'll have to google it.


text:
How do I know when "adb backup" is finished?
I have a non-rooted Verizon Samsung Galaxy Nexus, and I wanted to try the "adb backup" feature. Possibly in preparation for rooting, but that's not really relevant to the question.
I want to back up everything.
I used this command on a Windows 7 command line:
adb backup -apk -shared -all -f c:\mybackup.ab
My phone prompted me for my password, which I entered, and clicked the button to begin the backup.
I let it run for several minutes, and the cmd window returned to C: prompt.
On the phone, it was still flipping through filenames.
At some point, it stopped flipping through filenames but the back up selection buttons were still greyed out.
C:\mybackup.ab existed, and was about 1GB in size, which is significantly smaller than I thought it should be, especially since I said to back up the apk files and the whole "shared" space (/mnt/sdcard).
What should I see (on the PC and on the phone) when the backup process completes?
How long should I wait, if I estimate I'm using about 10GB of the 32GB of space?
Edit: ... and/or is that the wrong set of command line arguments?

I tried running it a second time, got a different filesize (more like 1.7GB) when it had returned to prompt, and my phone had its screen off and was unresponsive until a few seconds after i hit the power button and saw the boot animation (but not the google logo, like a "soft reboot")

Are you sure that the adb backup command is fully supported on an unrooted device? My only experience is using Galaxy Nexus Toolkit, and that gave me issues with backing up when I was not root. If it tries to backup protected system partitions, it will probably be denied.

I thought that was the whole point of adb backup, from what I read about it on the Googlenet. If I were already rooted, I would use a more robust backup tool like Titanium.  If I can't get adb backup working, then it's not the end of the world; it's just a big pain to reinstall everything (especially where the Amazon appstore is involved) and restore settings manually... and lose "critical" things like my Angry Birds progress.

If adb backup tries to backup things like /system it will fail for sure on an unrooted device.

I will try explicitly excluding /system and see if it makes more progress.

Tried again with -nosystem and it completed. The file size was 7.5GB which definitely sounds closer to correct, and the backup process actually exited on the phone. Can one of you please post your comment as an answer so I can mark it as "best"?

Done! Tried to write as much as I can :)

The adb backup command won't work fully on an unrooted device as it will attempt to backup things like the /system partition, and without root access the phone will deny you this for safety reasons. I'm glad to hear running it with the -nosystem flag worked out for you :)
If you want to do a complete backup you need to be rooted. The /system partition, according to this page:

contains the entire operating system, other than the kernel and the ramdisk. This includes the Android user interface as well as all the system applications that come pre-installed on the device. Wiping this partition will remove Android from the device without rendering it unbootable, and you will still be able to put the phone into recovery or bootloader mode to install a new ROM.

This means that your backup does not include anything related to your operating system, only your apps and their settings. If you decide to root your device, you can create a very solid backup from CWM Recovery where all partitions are backed up to the sdcard on the device, including the system and boot partitions.

Ended up here after trying the steps HERE. I'm linking because this is a key detail for those of us trying to backup a non-rooted phone (like the Verizon Note 4). Should the file size change as backup occurs? I decided to do -shared also and the phone is just sitting there on "Shared storage" with no file change. Wondering if that's expected behavior.

I think the ability to adb backup /system varies on a per ROM basis.

I know this is really old, but I just want to add that the phone should explicitly tell you that the backup is done using a toast notification, in the same way it does to show that the job started.
Also, in my case, with a non-rooted phone, it would get stuck trying to backup a specific app and the shared storage. To solve the first problem, I got a list of packages using this command and simply remove the failing one and the flag -all from the command:
http://www.digitalinternals.com/mobile/android-adb-list-installed-package-names/416/


text:
Disable all mobile data-consuming apps

Possible Duplicate:
Preventing mobile data use for select apps on non-rooted phone?

I'm going overseas tomorrow, with a travel SIM that supports mobile data - but it will be a precious resource. So I basically want to switch every app to "don't use mobile data unless I specifically tell you". Is there a list of steps I should go through?
I know I can simply "deactivate data network mode". But what I'm concerned about is that when I re-enable it, suddenly a lot of apps are going to want to update, or collect email, or refresh a Twitter feed or something.
It's a Samsung Galaxy Note with ICS.

Also check: http://android.stackexchange.com/questions/7976/how-do-i-enable-mobile-data-only-for-select-apps-on-a-rooted-phone?rq=1

They're relevant, but not the same. My question covers all forms of unprompted mobile data usage, such as app auto-update.

Solution should be the same.

I just saw roxans comment and since it links to an answer essentially the same as mine, yeah, that's what you're looking for. Read my answer and you might understand why if you're confused.

To borrow an answer from a previous question I answered, you could use a firewall. By specifying rules for what programs are allowed to access the Internet, even enabling the connection would still block them in the firewall, and they would not access the net. This way, you can block any app except the apps you want to always be allowed (if any), and then unblock apps as needed.

DroidWall - Front-end application for the powerful iptables Linux
  firewall. Allows you to restrict which apps can access the network.

This app does require root however, but I think it's important to understand that what you're asking about requires low-level system access, so managing this without root is probably not possible.

Settings > Accounts & Sync > Uncheck "Background Data"
This will disable data use for all apps which are not your current foreground application, however a few apps might ignore it.
For further peace of mind, try the Onavo Count app, which keeps track of which apps are using your data, and can be set to force close certain apps of your choosing when they try to use data in the background. It can also be set to turn mobile data off completely when you near your data cap.

Are you sure this is enforced on the system level? I thought this option was more of a guideline that certain apps use to decide whether or not to enable push services.

You're right, it's not strictly enforced. I'd start with that, then use Onavo Count to keep track of and disable apps which are ignoring the setting. See my edited answer.

Yeah, I use Onavo Count already. I'm a bit worried that by the time I notice that an app is ignoring that setting, it will have used quite a lot of data. Still, it's a start.

@Steve Fair point. That happened with me just this month with Google Reader. But I figure if you're being frugal then the "Data-Hogging" notification Onavo gives should be enough warning that an app is misbehaving.


text:
Rooting Xperia Play 2.3.4 without unlocking bootloader
After reading many forums, just came across this site. I may sound outdated, but I want to root my Xperia play. After reading many forums. I am confused.
I have an unlocked Xperia Play 2.3.4 build 4.0.2.A.0.42 (not locked to operator). Can I root it with SuperOneClick latest version 2.3.3 ??
I want to root Xperia Play for saving internal space. I don't want to unlock bootloader.
Will I lose all my messages, contacts, settings, etc by rooting?
Please guide me with links to the software for rooting if possible.

After doing a quick search, I found on a thread that you have to downgrade to 2.3.3 to root it. And yes, that could erase your messages. I suggest you make backups of them.

You can backup your contacts, settings etc. with TitaniumBackup. It's a local backup though, you might want to dish out money for the pro version so you can backup to Dropbox/Google Drive etc.

I didn't even realize it was possible to root without unlocking the bootloader.


text:
Internet filterer?
I'm looking for an app that will alert me and ask me whenever an app wants to access an internet connection then prompt me to decide wether to allow it or not. It would also be nice if the application shows what URL the blocked app was trying to access. I'm pretty sure I stumbled across an app like this on the Play Store before but I forgot what its name was and now, I can't seem to find it anymore.
I'm rooted so rooted/unrooted solutions are accepted.
I tried both DroidWall and LBE Privacy Guard. They both don't include the URL or website that an application accesses. :(

I'm pretty sure what you're asking for is a firewall, so by searching for that I've found what seems to be a very popular app that might work for you:

DroidWall - Front-end application for the powerful iptables Linux
  firewall. Allows you to restrict which apps can access the network.

I tried finding some other alternatives for you, but every page I find seem to list this firewall as a recommendation, so it might be either really good or there might not be a lot of firewall apps out there (or both) :)
It does require root. Happy firewalling!

Does DroidWall let me see what URL the application is attempting to access?

You may be thinking of LBE Privacy Guard.  It needs root and can grant or deny other apps various permissions on a case-by-case basis.
Whether you trust a security solution from an otherwise unknown Chinese vendor is for you to decide.

Does LBE Privacy Guard let me see what URL the application is attempting to access?

I honestly do not remember.  (Anyway, showing an URL does not make much sense unless the app in question is making an HTTP request and not any other kind of IP traffic, no?)

I just tried LBE and I thought it worked with the prompting and all, the problem is, it doesn't prompt for internet access. It only prompts for other things like when an app is attempting to send SMS, trying to get GPS, etc. but not if an app is trying to access the internet.

I see.  I'm sorry for misleading you -- seems like I haven't remembered what it does all that well. :(


text:
adb push: sync but not copy
adb push seems to push everything into the dest folder regardless of their changed/unchanged states. So it wastes a lot of time. Is it possible to sync rather than copy (i.e. to rsync rather than cp)?
I see adb has a sync option, but I'm not quite sure whether it's relevant or not.

You would use adb push --sync, for example:
adb push --sync /home/abc/ /sdcard/abc

from adb --help:

file transfer:
 push [--sync] LOCAL... REMOTE
     copy local files/directories to device
     --sync: only push files that are newer on the host than the device

but it seems that this function is available for relative newer ADB version such as version 1.0.40.

While this answer is not exactly an explanation on the usage of adb sync, it may help when your primary goal is to sync files using adb.
You may be interested in adb-sync which is a Python script that uses adb to synchronize files from your computer to your Android device or vice versa.
Example (computer -> device):
adb-sync /home/abc/ /sdcard/abc

Example (computer <- device):
adb-sync --reverse /sdcard/abc /home/abc/

If missing files on the source should be deleted on the target you have to specify --delete.

this python script works for linux only. for windows one can install bash and try winadb-sync

"adb sync" is not relevant in your case. It is used to sync system partition to your connected adb device. It will only work if your phone is rooted and you first need to put system partition into writeable mode. By default it is in read-only mode. Please follow this article for more details:
https://medium.com/@yigitpirildak/syncing-aosp-build-changes-using-adb-sync-885ce12e5cc7

I have made a python script that works like charm for windows.
It copies all the files from the current folder to the device(path can be edited in the code) except the files already present there.
Optionally, -l switch can be used to list the files with copy size before actual copy.
import os
import subprocess
import sys
files=os.listdir('.')
files=set(files)
devPath="/path/on/adb/device"
cmd="adb shell ls -a " + devPath
deviceFiles=subprocess.check_output(cmd,shell=True).decode().split('\r\r\n')
deviceFiles=set(deviceFiles)
filesToCopy=files-deviceFiles
size=0
count=0
justList=False
if (len(sys.argv)>1 and sys.argv[1]=='-l'):
    justList=True
for f in filesToCopy:
    count+=1
    size+=os.path.getsize(f)
    if(not justList):
        cmd="adb push "+str(f)+" "+devPath+str(f)
        os.system(cmd)
    print(str(count) + ' ' + str(f))
if(not justList):
    os.system("adb shell rm "+str(devPath)+"/"+sys.argv[0])
print(str(size/1000000) + " Mb")

When running adb without any commands, you get a list of possible commands, and here it is:
adb sync [ <directory> ]     - copy host->device only if changed
                             (see 'adb help all')

Looks pretty relevant to me :)

Would you please give an example on how to use this? Say if I want to sync /home/abc/ on PC to /sdcard/abc/ on device.

Did you try adb help all?

Yes. It can sync system/data partition. But I just want to sync one folder on sdcard. Do you know how to do that?

It is not implemented in version <= 1.0.31.

While this command looks promising at first, I couldn't get it to work after a quick try. A real example as requested by cyker would be helpful.

This does not answer the question in full, nor it works as the OP wants.

How did that answer get upvoted? It's not relevant at all.


text:
When do Force Closes imply hardware problems?
In general: how do you know if random Force Closes (FC) are due to faulty hardware or not?
I experience a few FC's per day on standard apps (Skype, Facebook, Chrome) using stock Ice Cream Sandwich 4.0.4 (ICS) on my Galaxy Nexus.
If it was another random Android device I would get it, but not on Google's flagship with this much development behind it.

Random force closes are only suspicious if it's truly random (i.e. no plausible causes) and it's only happening on your device. In most other cases, it's simply due to poorly coded third party apps.
There are two kinds of force close dialogs:

Android offers to force close applications that fail to respond to an input event within five seconds. When this happens, the force close dialog offers you to either "wait", "report", or "force close" the app (this is also called the ANR/Application Not Responding dialog).
There is also another force close dialog that happens due to an unrecoverable crash or unhandled exception (e.g. null pointer error, stack overflow, array out of bound, etc). This crash dialog would not offer you to "wait", just to "report" or "force close".

In any case, check the report dialog and see if you can scrap any useful info (most importantly, the traceback) to determine whether it's an application bug. Google the traceback message with the name of the app to see if it's probably a common issue with that particular version of the app.
Make sure you keep your apps up to date.

So, what do you call the kind of force close where it actually just closes, like you would have pressed the home button? I thought that was also called a force close but I guess I got the terminology mixed up.

Never experienced an unprompted force close. Do you have a specific example?

Force-closes are pretty much never related to hardware, only to software. A kernel panic (and a subsequent device reboot) is what happens when the hardware is faulty.

Not to be nit-picky but, kernel panic, does not necessarily apply to faulty hardware, it can also happen if incorrect kernel is used, or wrong boot image applied, or absent driver from kernel, misconfigured kernel... :)