text:
How to switch keyboard layout for external keyboard
How do I switch the keyboard layout for an external USB keyboard on Android 2.1? I've connected a German USB keyboard to my Android Tablet (Easypix 1000). Altough the language is set to German, the external keyboard is wrongly read as an english keyboard. Thanks!

There is hope.
I coded a proof-of-concept app that does exactly this (and using it as my everyday keyboard).
Starting from cupcake, the system has a InputMethodService that allows to override keypresses on the fly. This allows applications to change keycodes on the fly without requiring root.
The source-code is available here (for the most curious only)

If you are rooted, you may be able to modify the keyboard layout files defined here: http://source.android.com/porting/keymaps_keyboard_input.html
WARNING: I have not tried this myself, so I don't know if it will work. Modifying system files may brick your Android.

This is a much more useful answer, but as Ryan says modifying system files is risky.  If you do give this method a shot please be sure to post your results here as I'd be interested to find out how it went.  And make a backup!

This link no longer works

With desktop OS's keyboard layouts are held in the software of the OS, and I can't imagine Android is much different.  Since the only devices that are designed for Android and that have a physical keyboard (that I can think of) are phones I doubt there's even an option in the Android stack to change the keyboard layout since you obviously can't just pull the keyboard off your Droid and swap it with another one.
There might be some way of intercepting the input from the keyboard before it hits your device and remapping the data, but it would require a specialized app (if the option does in fact exist in the Android stack) or for you to plug something in between your keyboard and tablet.

Press Shift + Ctrl + Space
Or
Press Alt + Ctrl + Space

Funny, but this isn't even related to the question


text:
Search result scrolling / paging on Android Market?
I am confused: if I use search on the Market app on Android 2.2, it tells me often that there are hundreds or even thousands of matches, but shows exactly 10, no more. Is there a way to scroll / page / whatever that I've overlooked? 8-}

What device are you using?  What Matt says is correct, but for instance, my rooted NookColor I have to rotate landscape in order for the paging to work.

It seems this really was a bug: after updating Android it just works.

When you scroll to thr bottom of the list it should automatically load more results. Mine sometimes gets hung up and shows the "thinking" symbol for a few seconds, but then loads more.

That's what I expected, but what usually does not happen. Probably a bug. :-{

Based on your question here, I see you're using a tablet.  You may need to rotate your device to landscape mode in order for the paging in the Market to work correctly.  I have to do this with my rooted Nook Color.

source: Stack Exchange

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

sort: votes


text:
Weight tracking app
I'm looking for an app to help me track my weight. Ideally, I would tell it my weight each day (and perhaps my age and height), and after a while I could use it so plot a graph of my progress but also get extra informative statistics.
I've seen a lot of health related apps on the market, but a lot of them are payed and come with tons of extra features. I don't need diet guidance, exercise reminders, etc. I just need something to track my weight, preferably free.
Thanks

What apps have you already tried?

@aleveret: simple weight loss resolution (which is too simple), and diet 2go (which has a lot of stuff I don't use and doesn't seem to have graphing).

See this:
http://www.appbrain.com/app/lifetracking/com.lifetracking
LifeTracking application allows you to track any value that is important to you like your weight, blood pressure, or number of pushups you do a day, as well as any time-consuming activities like sleeping, working, watching TV, etc. You can also graph the data to see it visually and use the application to analyze it.
The goal of the application is to help you know yourself and your schedule better. Hopefully, when you graph things side-by-side you'll understand yourself and your life bette

Took me a while to test it, but it's exactly what I was looking for.

Weigh Weight Lite did the trick for me.

MyWeigth is a promising app for that purpose, but not yet released to android.

myWeight puts the retina display to work with beatuiful hi-resolution graphics. Interactive controls and dials will have you looking forward to tracking your weight each day. Our elegant Sync feature will guarantee your data is safe and accessable anywhere. Available now in the iTunes App Store and soon to the Android market.

FatSecret has a Calorie Counter App that keeps track of your weight.  You can also use it to keep track of calories consumed and exercise on a daily basis.  Information can be backed up to the FatSecret site online if you choose to do so.

And the reason for a downvote is?

Maybe they don't like that app.

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


text:
How do I see my sent SMS messages?
How do I see my sent SMS messages? I can search my text messages, but it's not obvious how to simply see a list of my sent messages ordered by time.

Check out SMS Composer - it has non-threaded Inbox and sent message views which I believe is what you're looking for.
Also, it's freeware.

One way to do this would be to use something like SMS Backup+ which syncs your SMS and MMS messages to a particular tag in Gmail. You could then use normal gmail filtering to see your outgoing messages.


text:
What Android Tablets are compatible with 5 GHz 802.11 networks?
All too often, I've seen manufacturers go the "cheap route" when putting out products that they can call "802.11n compatible".  Most of the time, what they aren't telling you is that the "compatible" device only works on 2.4 GHz networks.
As I'm potentially going to be in the market for a new Android-based Tablet in the near future, and I have an 802.11n 5 GHz network at home, I'm wondering which of the devices currently available will be able to operate on that network?

I have a Galaxy Tab which works perfectly with my Belkin PlayMax on 5GHZ.


text:
Can you run Android in a VM on PC?
I came across a how-to guide for running Android 1.7 in a virtual machine (VirtualBox), but 1.7 is old. I haven't been able to find a Android 2.2 or 2.3 image anywhere, does anyone have any ideas on how to virtualize newer Android OS's? Preferably a free virtualization solution like VirtualBox.
Here is the link about virtualizing 1.7:
http://osxdaily.com/2010/12/14/run-android-using-a-virtual-machine-on-a-mac-or-windows-pc/
They send you to here to download Android disk images:
http://virtualboxes.org/images/android-x86/
But I can't find anything newer than 1.7, anyone have any ideas?

Thanks for the tips! I will check out the nightly builds and the SDK

Regarding legal questions, Android is open source software, so it would be completely legal for you to run it in a VM. It'll be tricky figuring out how, but Google won't be upset with you for it. Good question, +1!

You may find this useful: http://androidspin.com/2011/01/24/howto-install-android-x86-2-2-in-virtualbox/

Android-x86 seems to be the most current project, with nightly builds available at http://android-x86.moonman.dk/
I think the lack of activity one sees isn't so much a licensing/warez problem, it's just that the OS simply doesn't work too well with desktop systems yet, being highly phone & touch-centric.  That and there's simply not a lot of interest for it yet.
I don't know if this project has the Google Apps (particularly Market) baked in or not.  If not, that's another major piece that significantly reduces the usefulness of this OS.
Finally, there'd be the problem of getting drivers for all the various hardware made available.  Considering Android's Linux base, I'm not sure how easy or difficult it is to do.

The easiest way of running android and testing android application on x86 machines appears to be using the android virtual machine that comes with the latest SDK.
With reference to a recent question, https://superuser.com/q/221944/39248 , there may be a problem with the latest android sdk .exe installer. you can try to download the zip version of the installer, then run "sdk manager.exe"
Place to download the SDK:
Link: http://developer.android.com/sdk/index.html
Note that you need JDK to run the android SDK
Link: http://www.oracle.com/technetwork/java/javase/downloads/index.html
And as @afrazier mentioned, android-x86 is a definite option but the lack of drivers make it difficult for most of us to use the OS properly...

Here's a link to to Android 2.3 (Froyo) Live CD: http://android-x86.googlecode.com/files/froyo-vm-20100812.iso. It's a small image (53.6 MB), I ran the live CD on VMWare Workstation and it worked like a charm.

I think its easier to get arm processor images than it is to get the x86 ones. I've been able to use the android virtual machine that comes with the software development kit.

You can also Download the already done Virtual Machine from Bash Blog, they created a Froyo VMWare image... http://www.bash.ch/2011/04/android-22-froyo-in-einer-vmware.html
The Virtual Machine has only 100MB

The link seems to be dead. Can you update the link?

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

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


text:
The installation steps of android package
I just want to know the full steps.
Does Android just copy the application package to another location?
when to run the application, the android unzip app package every times?

I don't understand your question. Can you clarify?

I think this is what he's trying to say: "How does Android handle an apk file when it's installed?  Is the apk just copied to the file system whole or does it go through a more complex installation process that unpacks the apk file?  When Android runs the app, does it unpack the apk file every time?"

yes! Matt. The process

No, it does not unzip the package every time. The dalvik-cache is where is stores the cache of the the dex (The dalvik executables) files.
I know system apps are cached when the device is first booted, if the cache does not exist. User apps, if I had to guess, would be done when installed or first launched.
After it is cached, it will not have to update that cache until the application is updated, which is why I think it happens in the install process. But it is also possible to just read the Manifest from from the APK and see what version it is when it is launched. If the version is different then the version in the cache, it could re-cache it.
edit
I want to build on this a little.
I just cleared my dalvik-cache and rebooted my device. Watching the device logcat through DDMS while it booted shows that it does system apps and "users" apps at boot up.
The PackageManager "collects" the certs of the apk. then it unpacks the apk. The PackageParser stores any permissions that the APK has.
So these steps are done when the device boots (if the apks changed since the last boot, or the dalvik-cache was cleared). But this same process would be completed when the APK is installed, since the PackageManager & PackageParser are the ones that handle the process.
edit2
This isn't just the "run" process, this is what happens when the app is installed. The dalvik-cache acts as sort of the "registration" of the application. But during install, the app also registers with the system any "receivers" that it has. These are like the listeners for specific actions that happen, what type of links it handles, things like that. There is not a registry like the windows registry, but yes, the OS keeps track of the applications that are installed, and the actions that can launch the application.

thank you, now i know the process to RUN an app. then what' the installation process? Does it like windows that copy files and update system reg? Is there a system reg in android?


text:
How to mount a ext2 partition in sdcard
I don't want to use fat32, I want use the more stable ext2.

You cannot use anything but FAT for the external SDCard. Android will not mount the card if it is not FAT.

And the internal memory what uses, that depends on the ROM?

Internal SDCard? I believe that is also FAT. as for the other areas of the internal storage, like /system and such is ext4 starting with 2.3. Prior to that it used yaffs2.

I've managed to do it on Harmony developer board using adb shell:
adb shell "mount -t ext2 /dev/block/mmcblk3p1 /mnt/sdcard"


text:
Is 150 MB / month enough for limited use?
I've been thinking about getting a pre-owned Samsung Fascinate from Verizon for $40. I can't afford a $30/month unlimited data plan, but I was considering the $15/month 150MB data plan.
I'm planning on using it primarily as a phone/PMP, without heavy use of internet-related features. Most of my data usage will probably come from these things:

Downloading apps
Occassionally checking weather, maps, etc.
Texting through Google Voice. I plan all cancelling my texting plan and moving all my texting activities to Google Voice. I only use around ~300 texts (sent and received) per month.

Is it reasonable to expect these activities to remain within 150MB/month? On a related note, I am usually on my university's campus, which has wi-fi. Can I use the wi-fi network to avoid suffering data charges?
Update: Verizon ran a promotion this weekend. For upgrading to a smartphone with unlimited data plan, you got a $10/month credit for the next 24 months. So the $30/unlimited data plan effectively becomes $20/unlimited, and I went with that instead of the $15/150MB plan.

It looks like you might need to make a decision on this soon; Verizon may be doing away with the $15 opotion - http://www.engadget.com/2011/01/24/verizon-tweaking-low-end-data-plans-using-3g-distinction-to-u/

Just an FYI, Google Voice does SMS but no MMS so not photo or video texts.  It also can't receive texts from email gateways, so no texts from websites and services that send you text updates through and email gateway.

Keep in mind that you can shut off data when you aren't using it, so that background processes don't use it.

@shambleh: That's good to know! If I get it before they change the price, will I get to keep the $15 option after they get rid of it?

@Matthew I can't be totally sure, but if you are in a contract I believe that they will at least honor pricing throughout the contract period.  Check with a rep first before committing to anything, of course.

@Matthew you can also use something like Juice Defender to only make data calls once every 15 minutes, etc.

@shambleh: I called Verizon, and they said I can keep the $15 a month plan for the duration of my contract, even if the promotional offer is removed in the meantime.

Yes. I agree with everything that Bryan has said but want to add...
You can use an app like Phone Usage that helps you monitor your network traffic.  The Pro version ($2.35) also allows you to set data limits that will send you a notification if you go over.  So you could set it to 125 MB and you'd know when you are getting close and you can throttle down your usage.  Verizon has a 30 day return policy (although I think they are changing it to 15 days) so you can monitor your traffic and if you find that you are using waaay too much you can always cancel and go back to what ever you had before.
Another useful app (if you've rooted your device) if DroidWall which lets you set which apps can access your 3G connection.  This would be useful if you identify that an app that requires background sync and uses a lot of data.  It would also be good if you are getting close to you 150 MB limit and want to lock down your data usage.
Finally, many apps let you set a wifi only rule.  For example BeyondPod has a setting in the apps that says "Only download podcasts when on Wifi" but if you really want to take control of your phone you can download Tasker and set an almost unlimited set of rules for how your phone operates.

Using wifi == not using your data plan.  So that will help reduce data usage from your provider.
So long as you are not streaming (music/video/youtube/etc) or downloading large amounts of data (podcasts, for example) then you should be fine.  Or at least save those activities for when you are on wifi.
Downloading apps: each app can be anywhere from 100kb to 10mb+ in size.  Save these for your wifi unless it is an update you really need then and there.
Weather/maps: shouldn't be too heavy of data.  Same with Google voice.

NetCounter says I've used 170 MB of data in the past month over cellular, and more than 2 GB over wifi. And I haven't tried to limit anything.

I tend to use around 100-200Mb a month while checking email, weather, Foursquare & maps on 3G.

Get a prepaid and leave your phone with no credit most of the time (if you hunt around, you might be able to find operators that will keep your number for a year after expiry). With no credit, you can still receive calls. Carry a recharge card in your wallet (or in a Notes app in the phone) just in case you really need to make an urgent phone call.
If you're almost always in a Wifi covered area (in home and in school/work), then you can do all your messaging using Google Voice, IM, VoIP, etc. You should not need to download apps over data connection, download them over Wifi. Check your weather before you leave, and if you want to use Google Maps, cache it in the phone before you leave a Wifi-covered area (alternatively, find a mapping software that uses offline maps).
With this, your phone can live off electricity almost exclusively.


text:
Reduce minimum in call volume
I find that the minimum in-call volume on my HTC Desire is still far to loud on some calls.
Since I got the phone, I have flashed several different custom ROMs, radio updates, etc, and have had the issue throughout.
Do you know of any way (setting, hack, app, whatever) to reduce the minimum volume?
My device is rooted and I am currently running one of the CyanogenMod 7 (Gingerbread) nightly builds.

P.S. I have tried asking my wife to speak more quietly but this did not help. Anything. At all. If you are having the same problem, do not try this.

Lol.  Have you tried holding the phone farther from your ear? :P

For what it's worth, this person has the opposite problem: http://android.stackexchange.com/questions/4113/how-to-set-in-call-volume

FWIW I tested the Scotch tape solution and it does the trick.

Asking wife to speak more quietly usually leads to the opposite result...

I was reminded by a friend that the CyanogenMod ROM I am using includes 'DSPManager' which is essentially a graphic equaliser with profiles for Headset, Phone Speaker and Bluetooth Device.
By lowering all the levels for the Phone Speaker profile I have managed to reduce the minimum in call volume (hooray!).
For people using ROMs other than CM on a rooted device, I believe a combination of DSPManager APK and modified audio library can be flashed but people appear to have had mixed results.

Is this still the solution you use or have you found something more elegant and software based?

Place a single layer over the speaker.*
Repeat Step 1 as needed.

*Works with Wii-motes too.

Upvoted for using hardware to help solve what I originally thought to be a software issue!

I was going to suggest duct tape but I doubt @FoleyIsGood's wife talks that loud. ;)

Thanks, have upvoted and will keep as a backup plan, but was definitely looking for a software solution!

I figured it out. You actually have to turn it up.....then turn it down. Doesn't make sense, but it is working.

I'm pretty sure Tasker can do this.  I've seen references to people doing it, but I haven't found a specific profile/recipe for it.  They have a 7-day trial you can get to fool around with it.

I use Tasker and there are lots of ways you can set the in call volume but only within the standard levels.

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


text:
Is there a PDF (or epub) reader that allows to take notes (or at least to copy text)?
I have many PDFs that I would like to read on my Galaxy Tab and then take notes. Preferably the notes would be attached to the document (may be like Skim does), but as a workaround I can also imagine to copy a relevant piece of text into a separate note taking application.
Preferably the reader should handle PDFs directly, but if there is no PDF solution I might also start converting the documents (maybe with Calibre) for an epub reader.
I tried Adobe Reader, ThinkFree Office and Aldiko, all of which have acceptable performance loading the PDFs, but aside from cumbersome zooming they also lack the ability to copy or adding notes.

See also my answer here on a similar question :)

RepliGo Reader ($5) allows you to copy text and to make annotations.
Also, if you convert them to epubs the Nook app allows you to make notes.  It may let you copy text on a non-DRM'd book but I don't have any of those so I'm not able to test it.  (Just note that while the Nook lets you read PDFs the Nook app currently doesnt.

The RepliGo reader is great, it even allows to draw. What it doesn't support is to add bookmarks (probably external to the PDF). Usually you just can add a note instead of a bookmark, but for protected PDFs the only thing you can do is copy text.

I'm glad to hear that you like the app.  It's too bad that it can't create bookmarks or store notes external to the PDF inside the RepliGo app.

ezPDF does bookmarking, multicolor highlighting, has an annotation list, and many more things. It saves to PDF and you can open the saved file later in Skim.

FBReader or CoolReader do read epubs, and you can select text/make bookmarks there.

The Kindle app allows you to highlight and make notes on both books from the Amazon store, and other files like DRm free .Mobi and Txt files, if you copy them into the Kindle folder on the SD card.
These notes won't sync to the web or to other devices, but are stored with that book on your phone, and you can search through the book for your notes and highlights and see them later.


text:
USB debugging on Samsung Galaxy Tab -- How do I prevent it from resetting debug setting?
I have a Samsung Galaxy tab that I'm using for development purposes.  For some reason, when I choose 'Enable USB Debugging' in the settings menu, it turns off after a random period and drops whatever USB connection I have.
I'm debugging on a Macbook Pro, and have one coworker who has similar problems.  Other coworkers don't have this issue.

What Android version?

2.2. Non-rooted device. Kernel - 2.6.32.9

Are you sure it's not the USB connection dropping and causing USB debugging to get disabled? Perhaps USB debugging only make the problem visible?

Its possible, but the USB debug checkbox actually gets unset. Additionally, on other Android devices, this isn't a problem.

I'm seeing the same problem. No obvious reason and/or solution

Hi,
I have the exact same problem.
I'm doing Adobe Air development on my samsung fascinate.
Just like Daniel, my phone automatically drops the usb debugger on my macbook pro.
I'm running android 2.2
This is a little bit better than when I had Android 2.1.  Than the phone wouldn't even connect via USB.
But I only get 5 minute intervals to compile my code and test before the usb connection drops.
Very annoying.
Any help would be great.
Thank you in advance.

I also see this. I doubt it's the USB connection or the rest of the setup because I can develop & debug for hours with a Moto Droid connected to the same system. Galaxy Tab drops out of USB mode spontaneously after about a minute. Only way to get it back is to unplug the cable, re-enable USB debugging, and reconnect.
One way to keep the Galaxy Tab connected is to click the entry with its serial number in the Devices pane in Eclipse whenever it goes grey. That's only a little less annoying than cycling the USB cable and the debug setting on the Tab because if you wait too long, the Tab disconnects and its entry disappears from Devices.

I don't have a powered USB hub, but I heard from a developer may solve the problem. If anyone has one, and can see if that fixed there issue, perhaps post that as an answer.

sucks, but this seems to be the only solution with this particular device

Well, I figured out how to get it to stop unchecking the box, though the solution is hardly much less a pain.
If you activate the debugging mode, plug in the cable, run your test and then as soon as you're done testing (or if you're not actually debugging, as soon as the app is installed), unplug it, the checkbox will stay checked indefinitely.
You're still replugging the device every re-compile, but at least you don't have to keep going back to the settings menu to re-check the box.

Have you tried to change the ADB connection time-out value?
You can find it under Eclipse->Preferences->Android->DDMS

The issue isn't just an Eclipse issue; even "adb devices" fails to see the device after it disconnects. Also, the "bug" icon in the title bar goes away, so the disconnect definitely happened at the device side. I'll try changing this preference anyway, just in case.

I run into this same problem with a Galaxy Tab 4 with Eclipse on OSX.
I found that if you select the "use same device to future launches" option, it'll eliminate having to unplug and plug the USB

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


text:
Does MMS support PNG format images?
I'm just wondering if android mms supports png files? I've tried sending an image, a png format, through mms. Sending is successful. However, the recipient recieves an error image. My question is, does android mms supports sending and receiving PNG format images?
Samsung Galaxy 5

I've heard some MMS implementations will rename PNG files to .jpg while leaving the MIME type intact, which confuses/breaks some messaging apps.  Not sure if this is the case with Android however.

What was the model phone you were trying to send the .png format picture to? my friend has my old lg motion and cant accept the .png screenshots my gs3 makes and we cant figure this out either. im going to have to try a new messaging service.

Yes MMS can send png files. Even if they change the extension, it shouldn't matter as long as the mime type is in tact. and even if that is different, the image has a specific "header" that should be read by the MMS app. AFAIK, android does not change the extension, or the mime type. (at least the stock MMS app, and the Galaxy S app)
But that doesn't mean it will work with other phones. They might not have the ability to view the file type.


text:
How feasible is it to use Google Voice for all calls and texts?
I'm considering getting an Android phone, and one thing that I'd like to do is drop my texting plan, and do all texting over wifi/data using Google Voice. If I do this, I need the following things to be true:

It must be easy to send texts over Google Voice.
It must be easy to receive texts (and notifications of new texts) over Google Voice, without them actually coming to me by SMS (so I don't get charged for them).
It must be easy to place calls using my Google Voice number (it doesn't have to be VOIP, but the person I'm calling has to see the call as originating from the Google Voice number, so that I don't have to get them two numbers).
It must be easy to receive calls using my Google Voice number (again, I only want to give out one number).

Are all these things possible with Android?

Yes!
I use Google Voice for texting.  It's great.  Notifications are reliable, there have been no delays in receiving messages (or others receiving mine), and of course you can access it from your computer as well.  Super handy, and no SMS charge.
As for voice calls, I also used to use it for that.  The app manages everything nicely for outgoing calls -- you can set it to make every call "from" (show up as) your Google Voice number.  And you can set it up to forward all calls to it to your "real" number -- so no one needs to know it except Google and you can give everyone your GVoice number.  Plus, every call to the U.S. and Canada only uses your local minutes (or charges you a local rate if you don't have a plan).
Note: You can't receive texts from services such as Facebook that actually email you via [yournumber]@[yourcarrier].com or something similar, you cannot text short codes such as FBOOK (32665), and you can't send MMS messages (but that's what email's for amirite?).

Note: The app does not support VoIP calls (yet?) but the web interface does. To use it for VoIP on Android is somewhat complicated (you need to get a SIP number from somewhere else and run a SIP client on your phone, then forward GVoice to that number) and the call quality is terrible with about a 2 second delay.  But you said it didn't have to do VoIP anyways, so that shouldn't be an issue :)

this answer is right on the money.

One other disadvantage to GV is that it's its own client. All these nifty little SMS extension apps ("SMS Popup", etc.) don't work with the GV client. Other than that, I use GV exclusively for my voice and texting.

Perhaps the biggest thing about Google Voice is that you must be able to fully commit to using your Google Voice number as your main number if you wish to use all of its features effectively

For what it's worth, I only give out my GV number. No one has the direct number to my phone (except perhaps my wife). A pleasant side effect is that any calls to that number are almost certainly robocalls, so I can safely ignore those.

I use Google Voice for all SMS communication but I don't use it for outgoing calls unless I'm calling Canada or something. I don't like the delay of "double calling" where Google Voice calls a local number and then calls the number you want to call from there.
I can't turn SMS off with my carrier and that's okay because most people get it when I respond to there text from my GV number.
To me, the best feature of GV is how it also sends the message to my email account and I can write responses in email that go to their SMS number.


text:
MP3 tags in Hebrew show up in gibberish on my phone
I have some songs on my computer with Hebrew files names and Hebrew tags.
When I copy them to my phone, the file names appear OK, but the tags appear in gibberish.  This is true both for the default player (I have a Samsung Galaxy S, so that's the default) and for Winamp.
Is there any way to change the font for the tags so that it appears correctly?

I face same problem with Arabic

It seems that the problem was the encoding that Windows Media Player used.  It uses the Windows Hebrew code-page (1255).  I used foobar2000 with the Chacon plugin to change it to the Mac Hebrew code-page (10005) which seems to be supported by my phone.

So are you aware of a program (or a .NET way) to run a routine that will rename all the file-names and tags to compatible Hebrew, so it doesn't show up in my native MP3 player as gibberish?

No, I only know how to do it manually using the method above.  Note that this affects Google Music as well, so maybe somebody has addressed this in a forum relevant for that as well.

This might be useful here. https://superuser.com/questions/1063195/how-to-convert-hebrew-id3-metadata-tags-from-cp1255-to-utf-8


text:
Can video recording on an Android smartphone be paused?
I've got an HTC Wildfire with Android Froyo 2.2.
When I record videos with it, I want to be able to pause the recording, in order to pick up recording at the exact place where I paused.
This is not supported by the built in video recorder. Is this common for Android phones, or are there phones out there that support pause in video recording?

It looks like this is either specific to the hardware of the camera or even the software the manufacture using on the device.
I have a samsung galaxy s (Vibrant) and I can pause and resume video recording. My previous device, the HTC Dream (ADP1/G1) could also pause and resume (from what i can remember).


text:
Deleting emails in the online GMail list, does not delete them on my Android 2.2 Samsung Galaxy S, is this normal?
This morning I decided to clean up my emails list in my gmail account using the Windows wb browser.
However when I opened the gmail application on my Samsung Galaxy S running Froyo 2.2, the emails I deleted online where still present.
Is this normal behavior or is there a setting which controls this.
I looked around for some setting, but found none. I also looked at the help on Gmail where is explained that you can clear the gmail's application data, but was just wondering whether there wasn't an easier way. All in all, this seems to be a logical operation no?

How soon after you deleted them on the web did you look in the GMail app? Do you have background sync turned on on your phone, and does your phone have a data connection at the moment?

@GATHrawn: Yes to all questions: I have background sync on, I had a data connection, and a mail just received in gmail for the web, was also there in the gmail for the android. anyway, regardless whether background syncing is on, if I press 'refresh', the data should be synced write than and there , no ? I just checked again, and the deleted items are still there on the phone.

Aha I have found it : the emails were still in the trash. Once I viewed the trash, highlighted them all, and than choose the 'Delete permanently', than when syncing on the device, the 'deleted' mails were gone too.
GAThrawn was so convincing in his reply that they should have been deleted, I investigated some more ... thanks.
I will keep my answer here, since it might help others in the future.

It shouldn't matter whether they're in the Trash, or not. I've never emptied the trash folder in Gmail, just let it auto-empty. At the moment I've got over 250 messages in trash. Pretty sure that GMail sets priorities on what it syncs and how often, so new emails are synced almost instantly, whereas I've seen deletions take up to 15 minutes (hence my question about how soon you looked). I just tested with a message I reported as spam on the web, and it was just over five minutes before it disappeared from my phone even pressing refresh.

Wait, people actually delete emails from GMail besides spam? :)  Yes, I agree with GAThrawn, it can take a couple minutes for gmail app to sync up with gmail.

I agree that it shouldn't matter, but I can only tell (and ask) about things I notice on my phone. I will do some further testing ...


text:
SD Card not working
I have bought a new samsung 16 GB yesterday. and installed Froyo. I plug my 4 Gb SD card which I was using in my previous Nokia Cell Phone. but SGS is not picking it up. I detached it and put it back in Nokia its working. can anyone tell me whats the problem. any difference in file system.??
Thanks & Regards
Imran Zaidi

As Ryan asked, are you getting any errors upon inserting the card?  Is reformatting the card an option?

Does it say that it does not recognize the sdcard? Where are you looking to see if it detects the sdcard?
for froyo on the SGS, i believe the sdcard is mounted to /sdcard/external_sd (that's where mine is anyhow)

Don't know what file system your old phone used as Nokia use a few different phone OS (Linux, Symbian Series 40, 60 & 80 and possibly others), but Android will read a standard FAT32 file system on an SD card, which is what most phones use.
A lot of Nokia phones have the option to password protect or encrypt the SD card, it's very easy to forget you've done that, and Android won't be able to read the card if you've done that. I can remember swapping an SD between my ancient non-feature-phone Nokia and a friend's almost identical model and not being able to work out why it wouldn't work in his phone, until I remembered that I'd set a PIN number on the card.
The easiest way round this is probably to put the card in the Nokia phone, copy the entire contents on to a PC, then plug it into your Android phone, format it, and then copy the contents back (if you want to keep the contents).


text:
How do I Switch off NFC?
My Nexus S alerts me when it is close to my Oyster season ticket.
It says New Tag Collected. Unknown tag type.
Can I stop it doing this.

According to the Gingerbread User Guide, under Settings -> Wireless & networks, you should have an NFC option that you can remove the tick from to turn this on or off.


text:
How to install the application in SDcard (android phone)?

Possible Duplicate:
How to install APK files on SDCARD.

I would like to install the .apk file into the SD card. Can I do this? If yes then how could I able to perform this in my HTC hero android phone?

Possible duplicate: http://android.stackexchange.com/questions/3436/how-to-install-apk-files-on-sdcard

This can "officially" only be done if you are running android-2.2-froyo and you set the app to install on the sdcard.
If you are not running android-2.2-froyo then the only way to do it is with some "hackery", which involves partitioning your sdcard, symbolic links and some other things. There are some custom ROMs that would have this built in
The non-froyo methods also involve having your phone rooted.

Officially, the app also needs to support install to SD card.  Widgets and live backgrounds should never be installed to the SD card.


text:
How do I stop getting reminders form a deleted Exchange account?
I have an HTC Desire phone which is great apart from the incessant recurring meeting calendar reminders from my former company. I have deleted the Exchange account and these recurring meetings no longer show up in my regular calendar, but the reminders keep coming!
How do I clear out these reminders?

+1 - I searched a number of sites and found requests for a solution to this going back to August.  There was not a single response on how to resolve this.

Assuming the reminders are coming from the Calendar app, have you cleared the data for it?

Try clearing your calendar data (Settings -> Applications -> Calendar -> Clear Data).
If that doesn't work then you might have to resort to a factory reset.
(If you have to go this route then there are lots of options for backing up your data before hand to minimize the pain)


text:
Wifi goes off on screen lock?

Possible Duplicate:
How do I keep my wi-fi on in sleep mode

It seems to me that the wifi on my phone goes off when the screen gets locked. That way it's not syncing and I don't get notifications. Can this be changed so that it stays on all the time except when you manualy turn it off?
(htc hero, android2.2)
thank you

Possible duplicate: http://android.stackexchange.com/questions/16/how-do-i-keep-my-wi-fi-on-in-sleep-mode

Yes.  Settings -> Wireless and network -> WiFi settings -> (menu button) Advanced -> Wifi sleep policy -> Never


text:
About the android recovery mode
Question 1: what's the android recovery mode? Does it run a full linux kernel?
Question 2: where the recovery.img is installed? (/somewhere_in_filesystem)

Recovery mode is used mainly by carriers/manufacturers for replacing bad firmware that causes the phone to be otherwise unbootable.  Users can install signed update.zip packages (such as OTA updates) through it as well.  It does not run a full Linux kernel.  Custom recovery modes such as Clockworkmod exist also, which allow more complex things such as full backup and restore of the device software and data.
I'm not sure where recovery.img is unpacked to, but you can let the system handle that by using the following: adb shell flash_image recovery <path-to-recovery-image>, where the path is normally something like /sdcard/custom_recovery.img (wherever you put the image)

I don't think recovery.img goes into the file system. I'm pretty sure it gets a dedicated partition in storage.

Recovery mode is a minimal OS that boots from another partition.
It does run a Linux kernel without some display/network/3g modules.
On some ROMS you can actually start adb shell while the device is in recovery mode and see the kernel running (adb shell ps)
the recovery.img image is installed in a block device (partition) usually /dev/mmcblk[x]p[y]


text:
How to get root privilege in recovery mode?
I have copyed the 'su' command to /system in adb. but i cannot run the 'su', 'su' says: Permission denied.

I'm not sure what device you are using, but z4root will allow you to root Droid X (as well as Droid I believe).  It should provide temporary and permanent root access.  As always, you use this at your own risk.

Install the Superuser app from the Market and reboot.  Then try running su from adb with your device connected to your computer -- Superuser should pop up a notification on the phone asking if you want to allow it to run.  Then you can use it.  Note your phone must be rooted.


text:
LG-Ally won't charge
My LG Ally is out of battery and won't charge at all.  I know the outlet is working.  It's charged in the past just fine..
I gave it like 30 minutes plugged in, and power wouldn't do anything.  No type of light or indicator.

Try a different USB cable.  Or try plugging it into a computer to check if it's the cable.

Tried a different cable, still didnt work

I wonder if the port is broken :(

I finally got it by pulling out battery and putting it back in!  Thanks for the help im upvoting and counting as answer

Very weird!  Glad you figured it out.


text:
Can i mount loopdevice in Android?
I have rooted my android phone and get a shell thr adb. I wanna mount a ROM image in android. But I always fail:
mount -o loop /sdcard/myimage.img /mnt
mount: can't setup loop device: No such file or directory

Try: mount -o loop /sdcard/myimage.img myimage. "myimage" is where you can view the contents afterward.

You would need to compile a custom kernel that is capable of mounting loop devices, or find a custom kernel for that device that already has that feature built-in.
After a bit of digging, I found this guide on my phone's support forum.  It's a bit dated, but the information is still relevant.  It shows how to boot a Debian .img file.  Unfortunately, it doesn't really detail EXACTLY what's needed for loop support, just that loop support is needed.  But it is definitely possible, as I've personally run this on my phone for a short amount of time.

I was able to use mount on my Galaxy S with a stock ROM ...

Mounting, sure.  Mounting on a stock ROM is not a problem.  But mounting a loop device?  Most of the stock kernels I've seen don't have loop device mounting enabled by default.

@c0mp13371331337 the problem I found in my Android 4.2.1 device was with the mount binary that came with stock ROM. It was simply not capable of mounting a loop device but busybox's mount does.


text:
Copying apk's from phone to tablet
I have a Marketless tablet (Coby Kyros), and I bought a Samsung Captivate (AT&T).
Will I be able to copy the apk's I download from the phone into the tablet?

Note: some apps may not work if they require Google licensing

Another option is to use Dropbox to transfer the apks.  That was how I got them on my Archos tab before I got the market on there.  Dropbox lets you download the dropbox app directly from their website, so there's no market needed.  After that all you have to do is send every apk from your phone that you want onto your tablet to Dropbox, then you can install them directly from there.

Yes -- the easiest method is to put them on the SD card, use a file manager to browse to them, and click each to get the installation prompt.

If they were free applications, then you will be able to copy them over easily. If they are paid applications, you will need to go to Market>(Menu Button)>My Apps to download them. Good thing they're bound to the Google account! Of course, this hinges on whether you get a tablet that has market. I think the Archos tablets and similar devices did not have it, but the Honeycomb tablets do.


text:
What is rooting?

Possible Duplicate:
what does “to root a phone” mean?

Is rooting just copying su onto the phone?  Does it try to get the root user's password?


text:
How do I disable the annoying auto-correction of punctuation on device keyboard?
Here are two examples: (I'm using the '|' as the cursor)
Example #1:
I want to put the next word in quotes |

type '"' followed by a word and closing quote:
I want to put the next word in quotes" |
I want to put the next word in quotes" f|
I want to put the next word in quotes" fa|
I want to put the next word in quotes" fai|
I want to put the next word in quotes" fail|
I want to put the next word in quotes" fail"|

Desired (and expected):
I want to put the next word in quotes "|

Example #2:
I want a space before the question mark |

type '?' multiple times:
I want a space before the question mark? |
I want a space before the question mark? ?|
I want a space before the question mark? ??|

Desired (and expected):
I want a space before the question mark ?|

I have all the auto-correct options unchecked in my Motorola Flipside's settings:

That's annoying.  Some of the soft keyboards do this too, I hate it.  I don't want anything I type to ever be changed, because I typo less often than the software screws it up.

@Matthew I know, it's so frustrating :-(

I believe the stock keyboard on 2.2 does not do that, type the word, space, quote, and another word, and a quote, and they all works just as you'd expect. I've tried reproducing the problem in Samsung keyboard, HTC's, and Swype, none of them seems to mess up with the spaces around ".

OK, I'll add the 2.1 tag, good to know.

I just tries to type in a user id an the b**dy keyboard caps the first character on «.». You have to backspace and type the «.» again several times to correct. Generaly the 2.3.3 keyboard is pretty good but with this I reactivate and suggest “Smart Keyboard PRO”. — I just hate Programs who think to be more clever then me. Of course they are not.

I installed Vlingo and I switched over to that as the input method and I no longer have the above issues.


text:
Does rooting require a custom ROM?
I've noticed that some apps say they require a rooted phone. Is it necessary to install a custom ROM in order to root a phone?
Edit: I should mention that I've seen this answer, but my phone isn't listed.

Apparently you can root the Flipside using z4root (http://forum.xda-developers.com/showthread.php?t=835627), if you do so feel free to add the Flipside to that answer!

Cool I think it worked, I've updated that answer.

Actually it's the other way around, you need rooting to load custom ROM! Happy to see you managed :-) There's an app to check if you're really rooted: https://market.android.com/details?id=com.joeykrim.rootcheck. Once you are permanently rooted you should see a "Superuser" icon among your apps.

No.  For the most part, custom ROMs are just cosmetic changes to official ROMs and may come pre-rooted, but nothing about rooting requires a custom ROM.


text:
How can I view the Android internal partition table?
I've rooted my device, put it in recovery mode, and have linked it to PC by adb shell.
How can I view the list of storage devices and partitions?
Note: fdisk doesn't work.

fdisk works if you pass it a device like fdisk -l /dev/block/mmcblk0

I believe you want: cat /proc/mtd.
Also useful: mount.

cat /proc/partitions shows a list of all the partitions too. I think mount correlates with cat /proc/mounts. Ah, good 'ol /proc

all I get is dev:    size   erasesize  name whether I run as su or not.  http://android.stackexchange.com/q/53225/693

/proc/mtd is not available on all devices, while /proc/partitions should be.

I usually use a combination of the following 4 commands and correlate them, since each of these commands gives a piece of the information that might be needed.
Summarily:

Using df lists the filesystem path alias and size info as seen below (total size, used, free and block size)

Example output:
root@ks01lte:/sdcard # df
df
Filesystem                               Size     Used     Free   Blksize
/dev                                   910.0M    92.0K   909.9M      4.0K
/firmware                               64.0M     8.7M    55.2M     16.0K
/firmware-modem                         64.0M    49.2M    14.8M     16.0K
/system                                  2.2G     2.2G    62.7M      4.0K
/data                                   11.9G     3.0G     8.9G      4.0K
/cache                                  31.5M     4.1M    27.4M      4.0K
/persist                                 7.9M     4.0M     3.8M      4.0K
/efs                                    13.8M     4.4M     9.3M      4.0K
/storage/emulated                      910.0M     0.0K   910.0M      4.0K
/storage/emulated/0                     11.9G     3.0G     8.9G      4.0K
/storage/emulated/0/Android/obb         11.9G     3.0G     8.9G      4.0K
/storage/emulated/legacy                11.9G     3.0G     8.9G      4.0K
/storage/emulated/legacy/Android/obb    11.9G     3.0G     8.9G      4.0K
/mnt/media_rw/extSdCard                 29.7G   251.8M    29.5G     32.0K
/storage/extSdCard                      29.7G   251.8M    29.5G     32.0K

(... cut for space reasons)

Using cat /proc/mounts shows the partition file path, the alias, the filesystem type, the startnig inode, the number of blocks, read/write status (and other parameters of the individual partition that I'm not entirely sure of)

NB: The output of cat /proc/mounts can be a bit messy, but if you read it line by line (entry by entry) carefully you'll get the info
Example output:
root@ks01lte:/sdcard # cat /proc/mounts
cat /proc/mounts
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,seclabel,nosuid,relatime,size=931840k,nr_inodes=124673,mode=755 0 0
devpts /dev/pts devpts rw,seclabel,relatime,mode=600 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,seclabel,relatime 0 0
selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
none /sys/fs/cgroup tmpfs rw,seclabel,relatime,size=931840k,nr_inodes=124673,mode=750,gid=1000 0 0
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,seclabel,relatime,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 rw,seclabel,nosuid,nodev,noatime,discard,journal_checksum,journal_async_commit,noauto_da_alloc,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 rw,seclabel,nosuid,nodev,noatime,discard,journal_checksum,journal_async_commit,noauto_da_alloc,errors=panic,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/persist /persist ext4 rw,seclabel,nosuid,nodev,noatime,discard,journal_checksum,journal_async_commit,noauto_da_alloc,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/efs /efs ext4 rw,seclabel,nosuid,nodev,noatime,discard,journal_checksum,journal_async_commit,noauto_da_alloc,data=ordered 0 0

(... cut for space reasons)

Using cat /proc/partitions you will get the actual partition name identifier and the number of blocks in the partition.

Example output:
root@ks01lte:/sdcard # cat /proc/partitions
cat /proc/partitions
major minor  #blocks  name
 253        0    1048576 vnswap0
 179        0   15388672 mmcblk0
 179        1      15360 mmcblk0p1
 179        2      58816 mmcblk0p2
 179        3        512 mmcblk0p3
 179        4         32 mmcblk0p4
 179        5         32 mmcblk0p5
 179        6       2048 mmcblk0p6
 179        7        512 mmcblk0p7
 179        8        512 mmcblk0p8
 179        9      10240 mmcblk0p9
 179       10      10240 mmcblk0p10
 179       11      14336 mmcblk0p11
 179       12       3072 mmcblk0p12
 179       13       3072 mmcblk0p13
 179       14      20480 mmcblk0p14
 179       15      20480 mmcblk0p15
 179       16      10240 mmcblk0p16
 179       17       7159 mmcblk0p17
 179       18       3072 mmcblk0p18

(... cut for space reasons)

Using ls -al /dev/block/platform/msm_sdcc.1/by-name you get the mapping between the partition alias and the path of actual partition file (you also get the owner, their user group, etc)

Example output:
root@ks01lte:/sdcard # ls -al /dev/block/platform/msm_sdcc.1/by-name
ls -al /dev/block/platform/msm_sdcc.1/by-name
lrwxrwxrwx root     root              2014-01-20 11:29 aboot -> /dev/block/mmcblk0p6
lrwxrwxrwx root     root              2014-01-20 11:29 apnhlos -> /dev/block/mmcblk0p1
lrwxrwxrwx root     root              2014-01-20 11:29 backup -> /dev/block/mmcblk0p17
lrwxrwxrwx root     root              2014-01-20 11:29 boot -> /dev/block/mmcblk0p14
lrwxrwxrwx root     root              2014-01-20 11:29 hidden -> /dev/block/mmcblk0p25
lrwxrwxrwx root     root              2014-01-20 11:29 modem -> /dev/block/mmcblk0p2
lrwxrwxrwx root     root              2014-01-20 11:29 persdata -> /dev/block/mmcblk0p22
lrwxrwxrwx root     root              2014-01-20 11:29 persist -> /dev/block/mmcblk0p21
lrwxrwxrwx root     root              2014-01-20 11:29 recovery -> /dev/block/mmcblk0p15
lrwxrwxrwx root     root              2014-01-20 11:29 system -> /dev/block/mmcblk0p23
lrwxrwxrwx root     root              2014-01-20 11:29 tz -> /dev/block/mmcblk0p8
lrwxrwxrwx root     root              2014-01-20 11:29 userdata -> /dev/block/mmcblk0p26

(... cut for space reasons)

Don't have /dev/block/platform/xxx/by-name. Did have /proc/emmc, which is similar, but doesn't list the boot partitions. Also don't have cat /proc/mounts, but used mount instead.

I m trying to figure out vbmeta partition size & location. Where is that

Old thread but found something nobody else has mentioned... just in case anyone finds it useful.
ls -la /dev/block/bootdevice/by-name
The directory contains named symlinks to all the partitons.

already answered, you just didn't read

@alecxs nobody here has pointed out that specific directory, it can occasionally be useful when other solutions don't have the information you want. I fail to see the purpose of your comment.

so i didn't read. the path makes the difference

if you like, you can improve your answer with ls -l $(find /dev/block -name by-name) this will cover all possible paths (which of course varies for other devices)

@alecxs Confirmed, tested working in termux-v0.79. Celeb solution only worked in my TWRP 3.7.0 terminal.

Even more useful information can be obtained from parted. An example when the block device is /dev/block/mmcblk0:
~ # parted /dev/block/mmcblk0 print
Model: MMC SEM04G (sd/mmc)
Disk /dev/block/mmcblk0: 3959MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name       Flags
10      524kB   1573kB  1049kB               PIT
 6      1573kB  3146kB  1573kB               CSPSA FS
 7      4194kB  14.7MB  10.5MB  ext4         EFS
 2      14.7MB  31.5MB  16.8MB  ext4         Modem FS
14      32.5MB  34.6MB  2097kB               SBL
16      34.6MB  36.7MB  2097kB               SBL_2
 1      36.7MB  53.5MB  16.8MB               PARAM
12      53.5MB  55.6MB  2097kB               IPL Modem
13      55.6MB  72.4MB  16.8MB               Modem
15      72.4MB  89.1MB  16.8MB               Kernel
17      89.1MB  106MB   16.8MB               Kernel2
 3      106MB   748MB   642MB   ext4         SYSTEM
 5      748MB   2056MB  1309MB  ext4         DATAFS
 4      2056MB  2377MB  321MB   ext4         CACHEFS
 9      2377MB  2713MB  336MB   ext4         HIDDEN
11      2713MB  2765MB  52.4MB               Fota
 8      2765MB  3949MB  1184MB               UMS

~ #

parted not installed on my device, so presumably not available by default.

how do you get parted installed?

parted isn't available on android devices by default, solution is not viable

@endolith, e.g. with Termux (in 2023)

You can use fdisk via busybox on a droid.  So, assuming you have the busybox binary on your rom, and it's on your path, the command would simply be:
busybox fdisk [the various fdisk options...]

Example output of an i9305 with TWRP recovery running (v3.5.0_9-0):
~ # busybox fdisk -l /dev/block/mmcblk0
Found valid GPT with protective MBR; using GPT

Disk /dev/block/mmcblk0: 30777344 sectors, 2740M
Logical sector size: 512
Disk identifier (GUID): 52444e41-494f-2044-4d4d-43204449534b
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 30777310

Number  Start (sector)    End (sector)  Size       Code  Name
   1            8192           16383       4096K   0700  BOTA0
   2           16384           24575       4096K   0700  BOTA1
   3           24576           65535       20.0M   0700  EFS
   4           65536           73727       4096K   0700  m9kefs1
   5           73728           81919       4096K   0700  m9kefs2
   6           81920           90111       4096K   0700  m9kefs3
   7           90112          106495       8192K   0700  PARAM
   8          106496          122879       8192K   0700  BOOT
   9          122880          139263       8192K   0700  RECOVERY
  10          139264          319487       88.0M   0700  RADIO
  11          319488          843775        256M   0700  TOMBSTONES
  12          843776         2940927       1024M   0700  CACHE
  13         2940928         6086655       1536M   0700  SYSTEM
  14         6086656         7233535        560M   0700  HIDDEN
  15         7233536         7249919       8192K   0700  OTA
  16         7249920        30769151       11.2G   0700  USERDATA

You can see sizes and usage statistics of all mounted partitions by simply using this command:
df

Note, the typical df -h does not work here and is not needed because the output is already in megabytes. The command works within adb shell and the Android terminal emulator, but not in the Recovery mode terminal because nothing is mounted at that point.

For internal storage only, you can install DiskInfo. But it doesn't show the file system of my SD card.

for listing mmcblk0 partitions:
cat /proc/dumchar_info
Part_Name   Size    StartAddr   Type    MapTo
preloader    0x0000000000600000   0x0000000000000000   2   /dev/misc-sd
mbr          0x0000000000080000   0x0000000000000000   2   /dev/block/mmcblk0
ebr1         0x0000000000080000   0x0000000000080000   2   /dev/block/mmcblk0p1
pro_info     0x0000000000300000   0x0000000000100000   2   /dev/block/mmcblk0
nvram        0x0000000000500000   0x0000000000400000   2   /dev/block/mmcblk0
protect_f    0x0000000000a00000   0x0000000000900000   2   /dev/block/mmcblk0p2
protect_s    0x0000000000a00000   0x0000000001300000   2   /dev/block/mmcblk0p3
seccfg       0x0000000000020000   0x0000000001d00000   2   /dev/block/mmcblk0
uboot        0x0000000000060000   0x0000000001d20000   2   /dev/block/mmcblk0
bootimg      0x0000000000600000   0x0000000001d80000   2   /dev/block/mmcblk0
recovery     0x0000000000600000   0x0000000002380000   2   /dev/block/mmcblk0
sec_ro       0x0000000000600000   0x0000000002980000   2   /dev/block/mmcblk0p4
misc         0x0000000000080000   0x0000000002f80000   2   /dev/block/mmcblk0
logo         0x0000000000300000   0x0000000003000000   2   /dev/block/mmcblk0
expdb        0x0000000000080000   0x0000000003300000   2   /dev/block/mmcblk0
android      0x0000000000a00000   0x0000000003380000   2   /dev/block/mmcblk0p5
cache        0x000000002bc00000   0x0000000003d80000   2   /dev/block/mmcblk0p6
usrdata      0x00000000b6ca0000   0x000000002f980000   2   /dev/block/mmcblk0p7
bmtpool      0x0000000000000000   0x0000000037780000   2   /dev/block/mmcblk0
Part_Name:Partition name you should open;
Size:size of partition
StartAddr:Start Address of partition;
Type:Type of partition(MTD=1,EMMC=2)
MapTo:actual device you operate

cat: /proc/dumchar_info: No such file or directory.

@OhadCohen it is working on some ancient mediatek devices

On my device there is a /proc/diskstats with similar info, though not as pretty formatted. (TWRP recovery)

Try this in the path -
dev/block/platform/******/by-name # ls -al

try out all directory inside dev/block/platform/**/byname


text:
Blocks all calls not going through Google Voice?
Not sure if this is the correct place to ask, but is there a way to prevent anyone from calling my Android phone directly, so they all incoming (and perhaps outgoing, but incoming is most important) calls must be filtered through Google Voice?

I would be interested in the same thing, but for text messages.

Right now, I'm blocking all text messages. I can still send and receive texts via the Google Voice app. It seems to work fairly nicely just playing around with it. I had to set this up with tmobile though. I didn't see an option for blocking calls, so was hoping there was some way to do it.

does anyone have your cell number? If you don't give out that number and use gv to call out, conceivably, no one would ever know your cell number.

No, I will still get occasional wrong numbers though, plus unsolicited calls.

I suppose one way to do this would be with a general call blocking app. I use Mr. Number Call Block on my phone, and you could set it up with the following rules:

Block all calls
Add your GV number as an exception to the blocking rule

That should allow you to basically block all calls that don't originate from you GV number. The downside to this would be that blocked calls wouldn't get forwarded through GV's call service, but rather would get sent to voicemail (or you could choose to have it automatically answer->hang up to block the calls completely).
For outgoing calls you should just be able to use the settings in the GV app. My EVO has an option do use GV for all outgoing calls, though I'm not sure if other phones do, to be honest.

The GVoice app does have the option for outgoing calls in all recent versions as far as I'm aware.

I think that will only work for incoming calls if you have gv show your gv number on the caller id, instead of the incoming caller's number. In this case you wouldn't have caller id anymore. Right?

@Matt: Yeah, you'd lose caller ID if you did this. I can't think of any other way to restrict calls to GV only, though :-/

Thanks, this is an interesting idea, though I do think having caller id is more useful than blocking the wrong numbers and random spam calls that will come to my new unadvertised cell number directly (just ported my old cell to GV).

Not blocking per se, but depending on your carrier you can have your regular number always forward to your Google Voicemail.
Some information here: http://www.google.com/support/voice/bin/answer.py?hl=en&answer=164652
and here: http://www.google.com/support/forum/p/voice/thread?tid=00a93855af6943b4

Will this still allow my calls from Google Voice to get through and ring my phone, or will they be forwarded back directly to voice mail too?

Shouldn't affect your GV at all. (I set this up on my own phone ages ago.)

I just tried this with tmobile, and I can't get calls through to my phone from Google Voice if I switch unconditional call forwarding on. Is there a different type of forwarding you were referring to? I think I was using all of the other forwarding options to use google voice as my voicemail if my phone received any unanswered/busy calls, but this still allows my phone to ring if the phone is called directly (unless I switch unconditional forwarding on).

I expect it varies by carrier. I have Verizon an no experience with T-Mobile.

here's a thought. block all incoming calls, except for ones with your GV number. Set your GV Cid to GV number, then use GV call screen function to tell who is calling. note, though, callers will only be asked for their name, if they call from a number not in your Google Contacts.
As a side note, thinking of setting my fiance phone to this, as her sister won't use GV, thus eating up her minutes.

Eating up her minutes? You have to pay for incoming calls?

Disabling the phone permission of the Phone app might help.
In Android 6.0, go to Settings > Apps > (Gear Icon in right corner) > App permissions > Phone > Disable Phone, then restart the phone.
Afterward, I was able to make and receive all calls with Google Voice only, without losing data functionality
To be more specific, I was using a Motorola G Turbo Edition.


text:
What can I do to my Droid 2 to prevent random calendar irregularities?
I am in recent possession of not only my first Android handset, but my first smartphone, a Motorola Droid 2. As a Computer Science major, I have elected not to immediately go the nuclear route of making drastic modifications to it, but have instead tinkered with it gradually over time. This is not entirely relevant in a material way, but helps put into context that which follows.
The issue I am attempting to explain frustrated me very quickly, rapidly culminating in a factory reset, which has not solved the problem. It is (Android Version 2.2) (System version.2.3.20.A955.Verizon.en.US). There are very few apps currently installed on the phone. I first installed "Pandora Radio" by Pandora, "Droidlight LED Flashlight" by Motorola Inc, and "Easy Profiles (Pro)" by SmartDyne.
The first marginally complex task I required of my phone was for it to keep track of dates and times for my college classes, as well as making note of when I receive advance notice of a class cancellation. In this regard, it seems to have failed me quite spectacularly.
I elected to save my classes in my Google Account's Calendar, which my phone is capable of automatically synchronizing with. I assumed this was a task for which Android would be innately well-suited, but it appeared that the only Home Screen widget available to show Calendar events was a last-mile addition by Motorola, in the form of the "Calendar" app/widget, marginally effectively but very genuinely unimpressive. I access it via ...
(Home Screen) -> [App Tray] -> "Calendar"

... and the correspondingly disappointing widget, accessible via ...
(Home Screen) -> [Menu] -> "Add (+)" -> "Motorola widgets" -> "Calendar"

I elected to initially add all of my events in via my desktop running Firefox, for which Google has a satisfactorily robust interface. It allowed me to quickly and easily add in my classes, which repeat at their characteristic times, such as "Every Monday and Wednesday", which must be specified by hand. I then assumed my Droid 2 would be capable of synchronizing these events, displaying them via the Home Screen widget, and should a professor cancel a class, I presumed I would be able to delete that single occurrence of the repeating event from the calendar. If only that were the case.
I am quite plainly unable to trust my Droid 2's Calendar's ability to remain accurate and up-to-date, an embarrassing shortcoming for a smartphone. When slight modifications to my calendar are made, such as the deletion of a single event from a repeating series, undefined behavior results, such as the disappearance of other events from the series. Deleting Monday's iteration of a class from my desktop will not remove it from my phone at all, while removing Monday's iteration of a class from my Droid 2 may result in Wednesday's corresponding class disappearing as well, only to spontaneously reappear the following Monday.
I first sought to troubleshoot that it wasn't simply the "Calendar" app/widget distributed by Motorola, and installed another third party calendar app/widget, electing to try the "Android Agenda Widget" by "Everybody all the time" from the Market. The two existed side-by-side for a while, and it was interesting to note that the inconsistencies continued in both widgets, and the two calendars always displayed identical data.
I have discovered a way to very plainly view all of these inconsistencies in real-time as they occur. I can access my Google Account's Calendar data through the mobile browser, by navigating to " https://m.google.com/app#~calendar ". This view, while grossly inefficient for any real work, has always remained free of any of the inconsistencies seen elsewhere on the device, and has always remained accurate to the view from a desktop browser.

I have reason to believe, at this point, that the error results in an inconsistency between the way Google delivers my calendar information to the phone, and the data structure my phone currently uses to store the information, and that this single data-structure is the sole source of calendar data for any Calendar app/widget I might install from Market. I believe that the structure was designed very specifically for the then-current iteration of Google's Calendar data, which has since widened. This is, however, purely speculative based on the behavior of the interfaces, and backed by no hard data.

As I've said, the inconsistencies are wild, and the issue, while prevalent, has proven difficult to reliably reproduce. In addition to the issues listed above, using my phone to adjust a classes' start time by 15 minutes once caused the entire repeating series to disappear forever, while another time, using the "Calendar" app by Motorola to add a fifteen minute warning notification for a specific occurrence resulted in every. single. Calendar. event. period. to spontaneously disappear from my phone.
I am at my wit's end as how to bring the behavior of my phone back into line, and appeal to you for help. Before bringing my objections to light, I was willing to try a nuclear option, such as flashing a different ROM, but my inexperienced Google searches have yielded no more than one or two walkthroughs for flashing the Droid 2, and none of the available ROMs seemed particularly impressive, rife with their own bugs and misfeatures, and there is no available distribution of Gingerbread for my hardware, which was exceptionally disappointing. The locked bootloader of the Droid 2 seems to be the primary cause of this unavailability. It is genuinely discouraging to see the open nature of Android compromised by such hostile hardware design.
EDIT: @Matt asked me about my Autosync options. We have ...
(Home) -> [Menu] -> "Settings" -> "Data Manager" -> "Data Delivery":
[x] Background data
[ ] Data Roaming
[x] Data enabled
    -> Social Applications:
    [ ] Sync over WiFi only

and
(Home) -> [Menu] -> "Settings" -> "Battery Manager" -> "Battery mode":
Presets:
[ ] Maximum battery saver
[ ] Nighttime saver
[o] Performance mode
Custom:
[ ] Custom battery saver

This wouldn't explain all the problems, but the discrepancies may be related to syncing. Have you looked at your autosync preferences?

If Matt's suggestion is not the issue, I agree with your assessment.  I think your complaint is best taken to Google, and hopefully you can find a calendar app that does work in the meantime.  Maybe edit the question to ask if anyone knows one that works.

What about this setting: Home > Menu > Setttings > Accounts & Sync "Background Data" and "Auto Sync" should be checked, then drilling down further, at the bottom of that settings screen click on the Google account that's associated with the calendar make sure "Sync Calendar" is synced.  Is all that setup correctly?

Matt, your last comment has left me confused. The "Background Data" option appears, on my phone, to be in a different location than the one you described (covered in the previous edit), and I cannot find the "Auto Sync" option you've described anywhere.

It sounds to me like a syncing problem of some kind.  I have on occasion read examples of people having different sync problems with the Droid 2.  If all your sync settings are set correctly as I outlined in the comments above and you are still having problems you can try the following.  Some of them involve setting up and using another Google account.  Im not recommending that you abandon your Google account, they are just steps to finding the problem.  You can always switch back later:
Clear the calendar's data...
From the home screen:

Menu > Settings > Applications > Manage Applications > Calendar - Click "Clear Data" & "Clear Cache" if it's not grayed out.
Menu > Settings > Applications > Manage Applications > Calendar Storage - Click "Force Stop" then "Clear Data" & "Clear Cache" if it's not grayed out.
Menu > Settings > Applications > Manage Applications > Calendar - Click "Force Stop" then "Clear Data" & "Clear Cache" if it's not grayed out.

Now open the calendar.  You may need to set it up again.  If that doesn't work then move on to...
Add a second Google Account...
From the home screen go to Menu > Setttings > Accounts & Sync and choose "Add New Account" and go through the steps to add another Google account and then sync that accounts calendar.  See if that one can reliably work.  Also, see if your original calendar is working right now.  Now try removing the 2nd account and see if the original is working.  If that doesn't work then...
Reset the primary Google Account...
Check out this post.  First try resetting it and using the same info, then try changing it to a different Google account.  If that doesn't work...
Reset back to the factory state...
Perform a Hard Reset then set everything up from scratch.  I don't really know what else to do if that doesn't work.
Alternative Calendars...
For alternative calendars I have tried Touch Calendar and Pocket Informant.  I haven't tested them extensively but I have not seen any problems.  That being said, I don't have any problems with the native calendar.  Also, I have read that users do experience sync problems with both of those apps so I think it's going to be a matter of trial and error for you to find an alternative that works.


text:
Does flashing a custom ROM require root access?
It was recently brought to my attention that it does not. Can someone confirm this and explain what the determining characteristics are that dictate whether or not root its required to flash a custom ROM?

Methods I know of:

Use a carrier/manufacturer tool such as Odin for some Samsung phones (I've done this -- it's easily the most feasible method).  It connects to the phone and writes to the phone storage when the phone is in Download mode.  A knowledgeable person could probably write their own tool as well.
Sign the update.zip file, so that the recovery/bootloader thinks its an official update.  That's really the only way most phones can distinguish them (not sure if an encrypted bootloader makes it harder).
"Has anyone actually done this?"  That I don't know -- it's probably incredibly difficult to fake, but realistically someone could gain access to the signing software.
Use a jig (an electronic setup that connects directly to parts of the device) to write directly to the storage.  Imagine the phone as a PC where the BIOS prevents writing to the hard drive -- if you don't boot up the computer, the BIOS can't interfere, so you could just take out the drive and write to it with something else.  Chips are just not as removable as drives, hence the jig.  This would probably require custom software to do the writing, again possibly taken from the manufacturer.  And if you don't overwrite the bootloader you might run into problems depending on what checks it does, I'm not sure.

At a previous job (a phone manufacturer) they used a similar tool to Odin to replace the bootloader, sometimes with one that didn't require the ROMs to be signed.  Access to a tool like that makes a lot of problems go away.


text:
Streaming video to Android
Does Android natively support any type of streaming video similar to m3u8 on iPhone? Looking for a solution that handles HTTP Streaming or Progressive download with an option to deliver multiple quality of streams and change between the different quality levels while playback. Thanks.

It sounds like this question should have been asked on StackOverflow instead.

Android supports the RTSP protocol (I believe using VideoView), I'm not sure if this has everything you're looking for.

That's not true VideoView does not support RTSP!

@Ghassen OK, do you know what does? This page states very clearly that Android supports RTSP, so how do you handle it if not via VideoView?

MediaPlayer mentions using RTSP URIs, and the page says "An example on how to use the methods in this class can be found in VideoView."


text:
What is the Practical difference between the Home screen and the Launcher screen?
It seems that on my Nexus One, the home screen and launcher screen essentially serve the same purpose: Host application icons, allowing you to launch them.
Are there any other differences, other than the names and the way to reach these screens?
For example, can the launcher screen include widgets?

I'm not sure what you mean by launcher?

By "Launcher" do you mean the app drawer?

@Bryan @Al I am using the terminology in nexusone-userguide.pdf. I myself am relatively new to Android and so I don't even know what an "app drawer" is. I am in the process of reading the user's manual and I need to understand this issue.

the "app drawer" is the typically the on screen button at the bottom of your home screen.  It pulls up a list of all of your applications installed on your phone

The main difference is that the launcher screen contains all installed apps on your system. You cannot order it nor do anything but using the icons to access any application.
In the main screen you can:

Add shortcuts to applications (icons
like the ones in the launcher
screen), you can place each icon in
the place you want.
Add widgets that provide rich
functionalities like clocks,
calendars or weather access.

If you want to compare your phone with a computer, launcher screen is the equivalent of “start menu” in windows, while the main screen(s) are the equivalent to the desktop.

Hmm, the app list in the TouchWiz UI can be customized, I didn't realize it couldn't be in the AOSP UI.


text:
How to enable real text prediction for android / stock keyboard on LG optimus one?
The title says it all but i will explain a bit more.
I have a LG optimus one phone with android 2.2 froyo. It comes with two keyboards, the LG one with working text prediction and the Android / Stock keyboard (what's the official name?) that does not seem to have access to the language dictionaries because it ONLY predicts my contacts' names!
Is there a way I can fix this? I really want to use the Android/Stock keyboard with working text prediction and voice input. I don't want any alternative like swift or similar.
Thanks a lot
dmeu

My stock Android keyboard works with text prediction.  What's shown as the name in Settings -> Locale and text?

in my menu: 'settings -> language & keyboard' is shown "select language, "lg keyboard", "android keyboard", "user dictionary"... sorry i didnt get notified about the comment

I found this review of the LG Optimus One which includes this quote:

The standard Android keyboard’s text
  prediction is disabled; it doesn’t
  seem to have access to the system’s
  language dictionaries.  So if you want
  word prediction, the LG keyboard it
  is.

Looks like you're going to have to go with a third-party app solution or flash a new ROM to your phone.


text:
RTSP player for Android
I'm curios if there is any RTSP Player for android which allows specify port for I guess A/V communication.
My situation:
I want to stream over my RTSP Proxy, but there is a restrictive company FW, but for our purposes there are few port in DMZ, but I couldn't find any android RTSP player which allows specify these ports.
We can do that on Symbian, because there is Real Player, which allows it.
Any hints or workarounds?

Shouldn't the port be specified by the stream, not the client?

@Matthew Read: I need to go over proxy, which is in DMZ, but only on few specific ports, which can be used for A/V communication, otherwise interleaved mode is requested (I can live also with this solution, but i need to set up proxy for RTSP)

Default video player on Android does support RTSP. You can specify the port in the url (<server>:<port>)

For programmers, VideoView does support rtsp urls

Well, but do not support setting up proxy server, respectively specific ports which shall be used.

Real player has a beta version for Android phones, so maybe it will be the one you are looking for.

Nope, unfortunately Real player for Android does not have this feature.


text:
How to exclude certain folders from getting scanned by music player?
I have some audiobooks on my phone, but I don't want to hear these when I play "All music". Is it possible to exclude some folders from getting added to the library? What are the file types that automatically get added?

You should be able to create a file called ".nomedia" (without quotes) in the folder you don't want scanned. It is supposed to tell the media scanner not to look in there.

umm can I create it from windows? looks like Windows is stopping me from creating a file with no name

does the file need to contain anything?

You can create it using tools like ES FileExplorer for Android or some other file explorer. The file does not need to contain anything; the only thing the media explorer verifies is the existence of the file.

that should be a folder that starts with a "."  This marks folders as hidden in Linux so the media player will not be able to "see" it when it scans.

@shambleh The media player ignores folders with a .nomedia file in them.  He may not want to rename the audiobooks folder or move the files to a new folder.

Good to know @Matthew, that's a new one for me.  Thanks.

agreed...good to know.  I've always prefixed the folder with a dot, but the .nomedia file solution will come in handy.

unfortunately this doesn't seem to exclude subdirectory

no, every folder that you want excluded has to have the ".nomedia" file.

Excluded all subfolders on my phone

Using Astro (available in the market), you should be able to create a folder on your SD card.  Prefix the name of the folder with a dot (".") and the folder will be considered hidden in the Linux/Android file system.  This will keep it from being included in the library.


text:
Why is charging from computer using USB slower than using an outlet?
And what is roughly the ratio of the charging speed in USB vs charger? My phone is Samsung Galaxy S, if that matters.

Not an exact dupe but check out this question http://android.stackexchange.com/questions/1887/charging-from-power-outlet-or-computer-to-save-battery-lifetime/1888#1888

I find that charging from a powered external USB hub goes pretty fast.

A computer USB port is limited to 500 milliamperes (or 900 mA  for a USB 3.0 port). The dedicated wall charger, on the other hand, is usually able to provide 1000 mA or more.
Let's take the case where a connected phone uses 200 mA. Then, the USB port would have 300 mA left to charge the battery while the wall USB charger would have 800 mA left. A typical smart phone battery has a capacity of about 1500 mAh (milliamperes-hour) nowadays. This means that in a perfectly efficient world, a current of 1500 mA would charge the battery in 1 hour. So the same battery would then charge in 5 hours over the USB 2.0 port and in about 1h50 with the wall charger.
Of course in reality power losses would also affect charging times but these numbers are quite close to what I get with my actual phone.

As a side note, if you're plugged into an unpowered USB hub that other devices are sharing, you'll have even less available for charging the phone.

Note that the device needs to comply with the post 2007 BCS spec to actually benefit from using the dedicated charger. Also the perfect charging time is not so much affected by 'power losses' but by non-linear charging when the battery is almost full.

This answer is partially wrong. A computer port is NOT limited to 500 mA. The USB 2.0 specification says that a DEVICE is not allowed to consume more than 500 mA. This is a huge difference. Because of that is allowed that an PORT or HUB delivers more and most of the PCs (except of some small ultrabooks) deliver much more. The problem is that a connected phone decides to use "PC charge" and lowers the amount to 500 mA and this is to respect the USB specification. But you can charge with much more power easily. Just buy an adapter/cable with bridged data pins and it will charge with the maximum.

@mgutt: NO! Exceeding the amperage rating of a USB power source can cause property damage and personal harm (fire, computer damage, and burns). How can we guarantee to the reader that their power source is actually engineered to deliver much more than its rated current?

Is there any way to see how much power a particular USB port is supplying? My mobile discharges faster than it charges when connected to my desktop USB according to Ampere. Fine on the mains based charger which charges at >1000mA

A computer with Charging Downstream Ports (usually with a lightning symbol next to them) can supply more than 900 mA.  Likewise USB-C ports can support 1.5 or 3.0 A, also indicated with a lightning symbol.  Unfortunately the lightning symbol is ambiguous because it doesn't say which current or which standard is being used.

Charging from a USB port of a computer is slower than charging using a charger because the voltage and amperage provided by the computer is considerably lower than in the case of using a normal charger, so the mobile is using “slow charge mode”
I don’t know which is the charging speed ration between USB and normal charger in the case of a SGS, but in my case (HTC Desire) with a normal charger I need approximately 2 to 3 hours for a full charge, but with a USB connection that time only charges 15 to 35 percent.

The voltage is actually the same (5V) its the current (amperage) that's lower.

@ChrisThompson while definitely true for now, the USB org decided to confuse people even further, and added multiple supply voltages to the USB 3.1 spec.  Only after lots of confusing negotiation, of course...

The reason your android device draws less power from your USB connection than from a wall adapter is because of the USB specification. This can be side-stepped by shorting the data wires in in the USB cable, which will switch the phone or tablet into wall mode where it can draw the full available current. The amount of current available will vary considerably from PC to PC.
The reason the specification exists in the first place is that the voltage to the computer's USB ports is usually supplied via the motherboard by a single loop connection which services all of the USB ports at once. Being only a few microns thick, this circuit is not able to deliver the same current as a dedicated charging wire. It is highly improbable that you will 'burn out your motherboard' by trying to draw the full available current through this circuit (although it is theoretically possible if your computer was a total P.O.S. to begin with). What is more likely to happen is that you will exceed the manufacturer's design specification, thereby denying sufficient power to any other USB devices you have connected, and/or other internal circuits which can cause the PC to crash. This is the very same reason it is recommended you use powered USB hubs.

A word of caution, while we all want our batteries to charge fast, be aware that the faster you charge a battery, the warmer it gets, and heat destroys battery life. A battery charge to full each time @ 0.5 amps will last longer than one charged to full each time @ 1.0 amps. I don't know enough to say this small difference is enough to be of concern for a cell phone battery, but I have found out that using an iPad charger (5.2V, 2.4amp) vs the recommended PC USB port (5V, 0.5amp) charge rate will shorten the life of a Bose noise canceling earbud battery. Happy charging.

I've heard the same story.  Did you find any references to back up the answer?

Most of the answers are incomplete so I try to answer it, too.
The USB 2.0 specification defines a minimum of 500 mA for the hub and a maximum of 500 mA for the device and the USB 3.0 spec has the same limits for 900 mA:
http://www.maxrev.de/files/2014/08/usb_3_0_english.pdf

This means a device (the phone) is not allowed to consume more than 900 mA if it is connected to a hub (the pc) but the hub is allowed to provide as much as possible!
In addition you need to know that the USB specification does not cover USB power supplies. This is covered by the power delivery specification. This means they can deliver up to 2A @ 5V and many smartphones make use of higher currents.
Now back to the PC. A PC with three USB ports is defined as a "hub" and to meet the USB specification it will deliver >500 mA per port. And because its much cheaper to use one power supply, all three ports are connected to the same one. And because of that a device can easily consume >1500 mA if it is the only connected device. But the problem is that the device "talks" to the hub (by using 100 mA) and then both arrange the higher current (500 or 900 mA depending on the USB version).
So to answer the question: Charging from the computer is slower because both devices comply to the USB specification.
But if you fool the device so it thinks its connected to a power supply it can consume its maximum from the hub. For that you need an adaptor called "fast charge adaptor" that shortens the data lines (example 1, example 2).
So a computer port is not limited to 500 or 900 mA as stated in other answers. The limitation comes from the spec.
Note: There exist exceptions. For example mobile devices like ultrabooks are allowed to share the one port minimum for all ports. And I had a HP monitor that interpreted the USB specification very strict and limited the current of one of two USB 3.0 ports to 910 mA (avoiding the usage of many USB 3.0 usb drives that consume for a short time a little bit more).

Using a USB data blocker to enable fast charging is interesting, but I'm curious if there's any risk of damage if the device being charged draws more current than the laptop can provide. This answer suggests it's "probably safe"...

Consider that computers often have other things inside of them or connected to them that need the same charge. The power within a computer itself is always lower than direct power from a outlet from a wall. When power is distributed through a computer to your phone, that same amount of power is also being used throughout the whole computer slowing the voltage to your phone, and other things that are plugged up. Always remember, if you want direct power and a quicker charge, its always good to use to wall outlet instead of a computer or labtop.

The USB standard officially limits the current flow to 500mA. Most mainboards can supply more, but today's phones only take 500mA when they sense a PC-USB port.

USB from computer delivers only 500mA. So, a 2100mA battery will take 5 hours to charge from a computer.
The charger outlet delivers 700mA to 1A. So, the battery will charge within 3 to 3.5 Hrs.

Samsung bridges pins 2 and 3 facing the phone. If pins 2 and 3 are open, the phone limits your charging capability to about 350 mA or so.
Check it out:
http://forum.xda-developers.com/showthread.php?t=1384253

Shorting pins 2 and 3 together is the official USB charging spec, but not all phones and chargers follow it.  Sony and HP and Apple have their own proprietary connections.

Most of the answers here are very informative on the battery issue, I don't want to touch on that, though I should let you know that if you have to charge your android with your laptop or desktop, make sure it gets full before you unplug it, otherwise you will be slowly ending the long life of your battery by unplugging every time you have to leave because it kind of takes longer. I take a major precaution when it comes to charging because I changed my phones charging adapter more than thrice due to charging using my laptop. I was finally advised by my techie to use the specified charger and since then, i have no battery issues. Just a precaution.

Completely depends on your motherboard I have a beast of a PSU and top range type motherboard which lets you turn data connection off and the charge up - it charges phone in less than half the time of dedicated charger. As said though most computers will limit this so result in a slow charge


text:
Why does my EVO Android phone screen keep turning on?
I have an HTC EVO and I can be sitting around doing nothing, when all of a sudden the screen comes on and stays on. I try to turn it off, but it keeps turning back on - sometimes after a second, sometimes after a few minutes. If I just leave it, it will not turn off by itself, as it would if I manually turned it on but didn't enter the password. This is killing my already horrendous battery life!
I have killed almost all background processes except some of the ones by HTC that looked important.
I have also turned off application refresh, wifi, blue tooth, tried rebooting ... even put it into Airplane mode. Arghhh! Nothing helps!
I thought I hit pay dirt last week - I replaced the factory 1500mAh battery with a 3500mAh for obvious reasons. For a few days the auto-turn-on seemed to be cured but now it has started happening again.
Any ideas how I can get this paper weight to be more obedient?
Thanks, Victor

First, killing background processes will do nothing; they'll just be restarted.  Instead, focus on apps.  You could use an app like Titanium Backup (requiees root) to "freeze" an app, and see if the problem stops.  If it does you know what app is the problem.  Then uninstall it, or turn off background sync for it or something if that might be the problem.  TB can uninstall system apps, but be careful which ones.
I had this problem when I had SipDroid installed -- every time its connection dropped and came back up, it would turn on the screen.


text:
What is the filename for my contacts?
What is the filename for my contacts on my optimus M running froyo?

This question might be easier to find if you ask the question in the title :-)

It's contacts.db but it's not a normal file or directory, it's a SQLite3 database in the following location which you'll need root to access:
data/data/com.android.providers.contacts/databases/contacts.db

oh, if you meant the app, it's what Matthew Read said

Could go either way ;)

Contacts are stored in a database.  If you mean the filename of the app, it's probably Contacts.apk in /system/apps/.


text:
How can I prevent my phone from using any kind of internet?
I have a weird plan and my phone went over its bandwidth usage this month... mostly just syncing up with Gmail, Twitter etc. So right now, every 5 minutes or so, my phone is telling me that it has spent 40 cents here and 30 cents there using up my prepaid money.
I have done the following:

Turned off Wifi (my phone doesn't see any WiFi spots anyway right now)
Turned off all apps
Turned off syncing of data

However its still dinging me here and there and I need my phone minutes to last until it automatically reloads in two days. I've noticed that I will kill certain apps and then I find out they are turned back on... and syncing even though I told the phone not to.
Short of putting the phone on airplane mode (which I don't want to do because I'm expecting an important phone call - also my phone then becomes totally useless.), I can't seem to keep it from using the 3G network!

n.b. many phones in airplane mode will momentarily connect to cellular at boot time

Just kill the APN Connection settings. Somewhere under settings. And there is actually a switch for mobile internet. Disable that as well. Worked like a charm for me. If you can't find it, add the Power Savings widget to your home screen, it has that option

looking up the exact settings, give me a minute :)

I think that worked. The 3g symbol is gone! :)

On my Galaxy S, you can hold the power button for a second and a menu will come up.  Just hit "Data network mode" to deactivate it.  You can reactivate it the same way.
If you don't have that, you should be able to go to Settings -> Wireless and network -> Mobile networks and uncheck Data enabled or Use packet data or similar.

The Incredible has this feature as well.

I use APNDroid (Also available in the marketplace for free). You can easily turn data on or off with the press of a button.
Add the APNDroid widget to your home screen to easily turn data on or off.

If you want to use data some of the time (sounds like you might if you're running a twitter app), I'd second Jonathan's plug for APNdroid.
Once you've installed it, longpress on your screen and select "widgets" to place the APNdroid widget on your home screen, and you can turn data on and off. The other really handy widget is "Power Control" which is nominally there to give you control over your power consumption but functionally lets you turn bluetooth, wifi, GPS and background syncing on and off.
Wifi shouldn't be using your minutes at all, though. You should be able to use it instead of the 3G network.

https://market.android.com/details?id=com.google.code.apndroid&feature=search_result