text:
What functionality is only available when syncing to Windows or OS X?
I'm considering buying an android phone (probably a Galaxy S variant).  But I only run Linux (Gentoo if it matters).  So, I'm curious what features work with Linux, and whether there are any features that I'll miss out on by not syncing my phone to a Windows or OS X PC.
(I'm being optimistic in the title and assuming that most things will Just Work -- please correct me if I'm wrong.)

As Trampster said, currently Samsung are only pushing firmware updates through their Windows-only Kies software. Many manufacturers push out the updates wirelessly "OTA" (over-the-air) straight to the phone, so never go near a PC, and some provide a file that you download onto the phone's SD card and then boot the phone into a special update mode, none of these have any desktop OS requirements.
Other than that most of Android is designed to sync with "the cloud" so Mail, Calendar, Contacts, etc all sync with GMail, social networking sites, and some 3rd party mail/calendar/contacts providers straight from the phone to the server.
Music, pictures, videos etc live on the micro-SD card in your phone which can be mounted as a drive on any OS that can normally mount USB drives. See this SuperUser question about mounting a Galaxy S on Ubuntu where it turned out to be much easier than the questioner thought What is the mount point Samsung Galaxy S for Ubuntu Desktop?
Apps either save their data to the SD card, sync to a server on the web, or (in very rare cases, but I do have one app that does this) sync via WiFi to a PC on the local LAN.
So, in general Android phones really don't care what your desktop OS is, as you'll rarely need to do anything other than connect it as a USB drive.

So far Samsung has pushed it's firmware updates via it's Windows only software Kies. You can not get the official updates without windows.
When I purchased my Samsung Galaxy S I to assumed updates would come over the air. They do not.

While I've applied updates via Kies to get them earlier, the other two phones on my account have received those same updates eventually OTA. Samsung Vibrants on T-Mobile. Of course, there are no official "major" updates for our phones yet (Froyo, for instance) so perhaps Kies will be the only recourse at that point.

The phone may not care what OS it's linking to over the USB connection, but apps may very well might. DoubleTwist, for instance, is only available for Windows and Mac.

Community ROMs generally assume Linux; sometimes you'll find people posting Windows-only instructions or "make it simple for me" binaries - but Linux instructions from that are just a matter of finding the "manual, old, hard way" which is typically 5-6 lines entered into a CLI and easily scriptable.


text:
How to disable startup and shutdown sound on Samsung Galaxy S?
Is there a way to disable the sounds on phone startup and shutdown? When I had JF3 firmware, there were no sounds, but now on JM1 the sounds are there :(

Btw, it seems that when I still had the old firmware, I somehow managed to use the way explained in the accepted answer unknowing that it had anything to do with startup/shutdown sounds. I just had forgotten what I did :)

In System -> Sound and Display -> System volume
you can set it, unfortunately the power on/off sound is also tied to the touch feedback sound (ie you press a button, hear a sound). If that's not a problem, turn it all the way down and problem solved..

Oh yeah, this was just what I was looking after! I don't want any touch feedback sounds anyway! :) THX!

If you find this answer unuseful please downvote it

Try Silent Boot from the android market. It automatically mutes your phone when you shutdown.

But it doesnt work all the time.

Does not remove the shutdown sound.  The silent boot documentation mention it.

In this post at Android Central, the suggestion is:

Open a root explorer, go to /system/media/audio/ui
Rename PowerOn.ogg to PowerOn.ogg.disabled, PowerOff.ogg to PowerOff.ogg.disabled

This requires root.

This seems promising, but in my HTC E9 phone (Android 5) these files don't exist :(

Try SGS Tools from the market. It has the option to mute startup and shutdown sounds, or set custom ones.
Note: Works on a rooted device only.

You can also just hit your volume key, and hit the settings button that shows up on the right. You can turn the system volume up and down from right there.

source: Stack Exchange

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

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

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

sort: votes


text:
Musicplayer that shows BPM information and allows sorting according to BPM
Is there an music player that shows the value in the BPM tag? I would also like it to sort according to BPM.

I just checked winamp for droid and it doesn't sort by bpm. ARGH...the search continues

Unfortunately I find almost all of Androids media player apps lacking support for any sort of advanced sorting.

As far as just showing BPM, PowerAMP does that quite nicely while the song is actually playing and in the info section. Sorting is a different story (though lots of other great sort options). and of course this is a paid app. Now that you've mentioned it though, I might email the dev about it.
Neutron MP is also an interesting program that shows everything from BPM to sampling rate to crossfade sliders to a bunch of other advanced dj controls that you'll probably never touch. It's slow as molasses though and while it's uber advanced, it's not particularly user-friendly. Also I could find no sortation options at all.
I tried (unsuccessfully) to find BPM info in the following music apps: 3, WinAmp, BoomBoxoid, Meridian, Zimly, and MixZing. I also tried the tagging programs iTag & Pimp My Music with no luck.

You could try Droid DJ. It says its got a beat countneed I don't think it'll sort by bpm but it may be worth a try if you don't find exactly what you need.

My files are already tagged with BPM data. I need software to simply read the data from the tag. I don't see that Droid DJ does that.

I can't say with perfect certainty, but I've not seen anything like this in any of the major music player apps, which all struggle each in their own way to provide any extra-functionality. However, winamp for android was just released and is supposed to be fairly feature rich. Check there, maybe.

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


text:
Is it possible to use an Android device as a second monitor?
Sort of like this iPad app.  Is there any way to extend your desktop onto your phone or tablet?  Not looking for VNC solutions.

I guess I should clarify: I don't want it to just VNC to another running machine, but to essentially use it as a new monitor. Comparable desktop app would be MaxiVista: http://maxivista.com (which does have an iPad app)

Could be possible, one might need to write a virtual driver for the desktop to interface with the android device and extend it as a extended monitor.. (not VNC)

All the apps below seem to just stream a portion of your desktop to the tablet. I want one that is recognised as a monitor within Windows. :(

iDisplay is now available for Android.
There's a review on androidcommunity.com
US$4.99 in Google Play.

Not to my knowledge.  Both of those solutions you've listed appear to use VNC as the service.

Early this year, arrived for Android:
Air Display by Avatron Software available for 3,79€ in Google Play.
Android 2.3.3 and up.

That's now £6.20, and apparently doesn't work with Win8.


text:
Restricting Web Access to a single domain on Android tablets?
Our sales team came to me earlier with a question about Android OS. I've never used Android, but I do know it is a Linux-based OS.
Frankly, I don't have the time to research for myself the capabilities of the Android OS. What I need to know is:

Is it possible to restrict web access to a single domain (domain.com, .domain.com, domain.com/)?
Is it possible to launch, on boot, the browser with a specific URL or perhaps if the home page is set, have it launch on boot to the home page?
Is there a 'Full Screen' mode for the browser that could be the default for whenever the browser is launched?
Can SMS/MMS/Email be disabled (if the tablet has those capabilities) but still maintain a 3/4G and/or Wifi connection?
Can I use a custom boot screen?

Since it's a Linux-based OS I imagine I could restrict the web access with IPtables or hosts files, but that of course means the OS has to support that, and I'm not sure if it does.
We hope to use a tablet running Android to tie in to our internal systems. The tablets will be in the hands of operators, who we do not want to be able to use the data connection for anything but our web-based application. Hence the need for browser-launch-on-boot, full-screen mode, and restricting web access.

The web access is simpler to accomplish with a firewall/invisible proxy server, but that assumes the tablets are only on wifi.

I was about to say the same thing. Is it a WiFi-only tablet? Just place restrictions in the router. It is far easier than trying to hack up your Android.

Yes all this is possible but you'll have to root the tablet and whether or not that is possible will depend on the tablet.
Here's the answer to each request:

Yes, you have to edit the hosts file for which you'll have to root the device.
Yes, any browser (I recommend Dolphin HD) will let you set the home page, so just set this to the page you want it to launch with.  With the Launch After Boot app (~$1.60) you can set the browser to launch on start-up.
Yes, the aforementioned Dolphin HD Browser has a "Full Screen" mode under settings.
Since you are rooting the device you can just uninstall the messaging (SMS/MMS/Email) apps.
Yes.  This app requires a rooted device (and dropping $2): Boot Animation Changer Pro

All in all this is possible assuming you can root you device, and while it won't be easy, it also wont require you programming any custom solution.
Edit: I should have mentioned that going "Full Screen" on the browser will not prevent people from navigating away from the browser screen to other parts of the device but you can basically uninstall every single app that you don't want your people using, and uninstall the market so they can't install more apps.  You can also Password protect apps that you don't want people using with an app like App Protector Pro ($2).  Any enterprising person will be able to get around anything you do with some work but that can be said about any workplace restrictions.
Edit #2: Don't quote me on this but I'll bet you could use Tasker to furhter restrict access to the device and/or services.  Assuming you guys operate during set business hours and are at one bricks & mortar location, you can set location and time based restrictions so when they are in the store during business hours only certain things are possible. You would just need to password protect Tasker after setting it up.

Perfect, that's what I was looking for. Not worried about anyone getting around our lock-outs; these will be in the hands of people who are generally anti-anything-computer.

You will have to modify the OS to support most of this, since it doesn't incorporate this by default, but since Android is fully open-source this shouldn't be too much of a problem. It's always better to put restrictions like these as near the kernel as possible so they are hard to bypass.


text:
Failure upgrading a rooted stock Nexus One to Android 2.2.1
I have a root Nexus one, that at one point ran a custom ROM, but now has the stock Android 2.2 release. I just got an update to 2.2.1, and it fails with:
Build : RA-nexus-v1.5.3
Finding update package...
Opening update package...
Verifying update package...
E:No signature (188 files)
E:Verification failed
Installation aborted.

What is the problem? Why does it say 1.5.3 in the build?

Installing the stock Android 2.2 FRF91 or newer unroots the phone. I had this same problem.
You can downgrade and root using the directions here: http://forum.xda-developers.com/showthread.php?t=717870

Have you tried installing a stock image from ROM manager and then upgrading from there?  Just to make certain that you are using a clean stock image.
Are you wanting to keep root?  Any OTA updates might remove your root (I don't have a N1, so I don't know how the 2.2.1 update will affect your root status).

I don't need to keep root. When I installed 2.2 I definitely installed a stock image manually.


text:
Any way I could use a USB monitor with my Droid?
The Droid doesn't support video out but I'd like to have a bigger screen sometimes.  The Mimo would be cool but their they don't seem to have Android drivers (or even linux drivers).  Any way to do this?  (Note: I do not want to have to run it through an existing computer)

AFAIK, the original Droid is completely hardware incapable of providing video out via usb. The Droid Incredible does provide this functionality, but it has a USB port specifically designed for it (extra pins).


text:
I want to remotely control my Android device from my PC without rooting it. Is this possible?
Looking for something to remote control my Droid without having to root.  To be clear, I am looking for full control over the computer (view on monitor, use mouse and keyboard for input).

I use scrcpy. It works on Windows, Mac (brew install scrcpy) and on recent Debian-based distributions (apt install scrcpy). You need to enable "adb debugging" on the phone, but it doesn't need to be rooted.

As replied in another related question, Team viewer had recently provided app for Samsung phones. After installing this app in, the phone can be remotely accessed from PC. The following is the screen shot from its site:

This looks very promising.  Unfortunately it's not available on the Samsung Galaxy Nexus!?, which I have at the moment.

"Automatically starting remote control sessions is not supported on this device. Please open this link on a supported device." on SGS5/Android 6

We just released VMLite VNC Server for Android in Google Play Store. It's first vnc server that works on non-rooted Android devices.

Do you run an root exploit every time you start your VNC Service on non-rooted devices? "... However, for non-rooted devices, every time after you reboot, you will have to connect your device to a Windows PC or Mac using a USB cable, then run a free desktop program, VMLite Android App Controller, to start the server on your device. ...."

there is no temp rooting, no system files are changed. Mainly, everytime, to start the server with appropriate permissions.

If there is no rooting going on, either to run the service or to change the permission on the device nodes involved, what exactly is done by "VMLite Android App Controller"?

The lack of response to what @Flow asks brings a shadow of suspicion over this app. Personally, I'd never install it.

It's possible it's just using the extra permissions granted to an ADB shell.

is nice but boring because require usb cable

Matt, have you given TeamViewer a try?
http://www.teamviewer.com/download/mobile.aspx
They just recently released a BETA version for mobile.
I have used TeamViewer in the PC world quite a few times and it's a very good VNC application, never had any problems with it, not to mention it's free of charge for personal use.
I am not sure if it works PC->Android as well. Also, you cannot find it on the Android Market (for reasons I don't understand) and you have to download the APK from their site and allow installations from unknown sources.

I haven't tried that yet, but it looks interesting.  From what I can tell it won't do what I'm looking to do in this question but it definitely appears to be a good VNC app, thanks.

Just tried a demo version of the Team Viewer app. Worked great, but they want $1400 for the full version. Would be nice if My Mobilier came out with a non rooted version of their software. Loved that app.

Gah!  It's not a VNC application, as VNC is a specific protocol, and that's not what TeamViewer uses.

Teamviewer makes an app for android called 'TeamViewer Host'. It lets you connect to your phone from the PC.

Droid VNC Seems to do the job for rooted phones. This allows you to control your phone via your computer, laptop, or other device with Ultra VNC or WinVNC.

...but this question is specifically about unrooted phones, so how is this helpful?

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


text:
Can I make home screen contact icons update their picture?
I was just wondering if anyone knows how to make contact icons on the home screen update their picture when the contact's picture is changed, without needing to delete the shortcut and recreate it. Can this be done? Make the contact-shortcut's picture "live" as it were?
e.g. some of my contacts are linked to Facebook and their pictures on their contact records sync as expected, but the shortcut on the home screen will still show whatever their picture was when the shortcut was created.
I thought maybe rebooting the phone would cause it to refresh the icons, but it didn't.
Running on a non-rooted Galaxy S Captivate.

Good question.  The only way I've known how is removing and re-adding.  Hopefully there is a solution (might have to be a widget?)

Yes, I agree, good question.  I hope someone has an answer.  Like you guys, I have always had to delete and re-add.

Looks like it is logged as an Android bug.  If I'm reading right, there is no current plan for the Android team to address this.

@BCooksey Your comment should be the answer so @eidylon can mark it as answered.

Looks like it is logged as an Android bug. If I'm reading right, there is no current plan for the Android team to address this.


text:
Is it possible to unroot a device?
Once a device has been rooted, is it possible to unroot?
I also want to keep my data, so can I unroot without wiping/re-imaging?  If so, how difficult is this?

This really depends.  What phone are you using and how did you root it?
For example: some phones have an easy "one click" root method to root your phone.  They often have a reverse easy "one click" unroot method.  An example of this is EasyRoot for Droid.
As for doing it via a factory reset, that's not necessarily enough.  Factory resets usually (always?) wipe only the user partitions such as /data without touching the system partition, where su and other evidence of rooting is likely to remain.  Re-flashing the ROM should be enough though, although some devices have flash counters that may also be checked if you send in your phone for warranty purposes.

I'm personally using and EVO and am considering rooting, but my intent in asking was to improve my general understanding.  Thanks!

Usually you would root your phone and make an immediate nandroid backup.  That way you can always get back to the state of when your phone was "just rooted".  Then you can (usually) unroot it and return your phone for warranty reasons, or whatever reason you needed to unroot it for.


text:
How do I secure/encrypt SD card data transparent to apps?
Are there any off-the-shelf options for securing the contents of an SD card so that files written by apps writing to SD are encrypted?  If so, what is the best option?
I'm looking for something for all apps. I would strongly prefer to do it without rooting.

The samsung galaxy S has the ability to support a non standard filesystems. Hacking a filesystem together with encryption should be possible but probably takes a lot of time and as far as I know isnt available off the shelf atm.

SecretVaultPro may be headed in the right direction. It mounts an encrypted file as folder which could be used by apps where data is save to a user-selected folder. I'd prefer to secure the entire card for app data that the user can't select where to store on the SD card.

The Linux kernel uses the dm-crypt subsystem for transparent on-the-fly encryption; I believe app2sd uses dm-crypt, so at least the Linux kernel of Froyo should come with dm-crypt. You might want to look at how to configure vold to mount dm-crypt filesystems.

Ice Cream Sandwich has an "Encrypt Phone" option in settings -> Security, but it's not clear if this includes the SD card, or just the internal memory of the phone.

Android 6.0 (Marshmallow) has a feature called "adoptable storage", which allows the external SD card to be treated as if it were internal storage.  When this is done, everything on the card is encrypted.
More details: https://source.android.com/devices/storage/adoptable.html

For anyone who stumbles upon this topic. Motorola seems to offer a solution for full storage encryption of internal and sd card.
Link: https://motorola-enterprise.custhelp.com/app/answers/detail/a_id/57094

Sounds like just what the poster's after. It isn't available yet, but should be in early 2011. It will be specific to Motorola Android devices.

Here's what I found on that subject: http://android.stackexchange.com/questions/13174/droidx-data-encryption-which-algorithm-and-how-strong

The page says it's no longer available.

As of July 2014, I've found the following options for SD card encryption:

Boxcryptor - not open source; developed by German company; supports sync with cloud storage; unclear if they've received a backdoor request
cryptonite - open source; supports mounting TrueCrypt volumes; no backdoor request yet


text:
How to quit Skype on Android?
I'm using the newly released market version of Skype on my ADP1 running CyanogenMod 6.0.
I can't seem to quit the Skype program. There doesn't seem to be any mechanism for signing out of Skype once signed in. I can kill the task, but the next time anything triggers it it think it has the right to sign in and be online again, bar nothing. The task bar icon just takes you to the program, but the program doesn't seem to have any menus, doesn't respond the the back button etc.
Ideas?

All these solutions are for the previous version of Skype. v2 doesnt allow you to just quit the app. Must be a bug.

Obligatory: http://i.stack.imgur.com/GnFRk.jpg

With version 4.0 (released July 1, 2013), they've changed, once again, how to sign out.
Here's how to do it:

While logged in, tap your avatar in the top right corner
On your account profile, tap the Overflow Menu (three vertical dots) in the lower right corner

If your phone has a physical menu button, you'll use that

You now have the option to sign out

(source)

Skype has recently updated (10-July); one of the changes is to make it easier to sign out.
Skype for Android 4.0 Update: We Heard You

You wanted an easier way to sign out. Now you can find this option by hitting the Menu key or on any of these navigation screens: Recent, Favorites, People and Profile.

I think it's noteworthy that this does not delete the stored credentials. If "Sign in automatically" is enabled, the next time you start Skype you will be signed in instantly.

Go the to MyInfo tab and set your status to Sign Out.
Once you're signed out the back button works as expected and exits Skype.
EDIT: As of v2.9.0.315 (at least) Skype has simplified the log out mechanism:
In the home screen of Skype simply do this:

This no longer works as of Skype 4.0.0.17847 for Android.

Ok, I just found out how you can quit skype.
Go to the main screen in the app and click the left button.
After that click sign out, than you'll be able to quit with the return button.
Some have already posted this but I think it wasn't completely clear to people who are new to android (like me) :P

For me 'Sign Out' behaves exactly as on the PC Skype client. i.e. the client keeps running. If you then force it to quit (see below) you will need to enter your password again next time you sign in.
Here is a generic way to quit Skype that does not require to install a new task manager or some 'stop skype' app:
Go to Settings -> Applications -> Manage applications -> Skype -> Force stop

A few days ago I updated Skype and it used to start by itself even after I logged out properly. I did it several times and finally I used the option 'Force stop' in Settings-Applications and it resolved it. I think it is some bug in Skype or/and in Android (I have 4.0)

They changed it again, it appears (Skype 4.4.0.31835). While previously it could be reached via the Menu button, there is no more option to sign out there.

Instead now you have to press the button with the dashed circle around the avatar, next to the menu button on the main screen of Skype. There you'll see this:

At the very bottom you find the option to sign out, which will also quit the Skype client.
The previous version behaved the way described by the accepted answer (as of this writing). But it didn't get me any further.

Confirmed, the only option to fully "quit" Skype is to manually "sign out". Also see Skype showing me as online - after stopping app and even after device shutdown?

I know how to sign out. When you are signed in, HOLD THE HOME BUTTON FOR A LONG TIME ON YOUR ANDROID PRODUCT, NOT IN SKYPE! You will be able to see a button which is Task Manager. Click it and you will see the active applications on your android product. Then press the end button that you see next to the skype logo.

You must have a custom task manager app installed and bound to that key, that is not part of the base Android system. The task switcher in stock android just allows you to switch to RECENT applications, not close them and doesn't even indicate if they are still running or not.

This is only true for Touchwiz (Samsung) devices.


text:
Stock Mail App - Outlook Sync, File As Problem
My MD now has a Desire and I notice something strange happening when he syncs his outlook contacts.
Now I know from both sides (outlook, Android) , it doesn't really matter what you file someone's name as because when you search, it still appears either way. However, he is very particular so here is my problem.
When he syncs his outlook contacts to the device, on outlook they now appear as first name, last name. Even though they are set to File As Lastname, Firstname. Now if I open a contact in Outlook, flip the File As back from and to what it was, it then appears in outlook correctly (well how he wants it to).
However, next sync it will re appear as first, last... although file as is still last, first (Outlook)
Anyone have any ideas or noticed something similar?
I appreciate this is a minor issue but I would like to resolve it for him if possible.
Thanks for reading and any help appreciated.

Are you doing manual sync's or is the phone connected to Exchange?

we have exchange ota services. sorry I should have added that.

Currently there is no way to do this on an HTC phone. The People app from HTC will automatically display names as First and Last.
However if you connect the phone to exchange, as I have mine, then all Exchange contacts show up as Last and First, including in Mail and in People. So as of right now I would say if you can get his phone on Exchange, only display contacts from Exchange, and tell him to put them all in Exchange, then it should be a workaround to the issue.

Yeah I apologise, I should have added this is using exchange 2007 ota services. Its as if it was correct in exchange, sync'd to his phone and then I assume he added someone new to the phone and when it sync'd back it was first Last. No worries, I will sync again with those tests I did and add a new one and sync again to find out. Thanks for the pointer on the HTC app though.

@Pace, keep in mind you might have to have Exchange setup so that is lists contacts as Last, First. Not sure but that might make a difference.


text:
How to check version of OR update the flashplayer on HTC Android phones?
Is there a way to check the version of the installed flashplayer?
And how do you update the flashplayer? Is it automagically updated?

You can install/update the flashplayer from the market. Just search for "flash player" and the one from Adobe should show up first.
To find out version go to: Settings > Applications > Manage applications > All > Adobe Flash Player. In there it should list the full version.

Beat me to it. The latest is version 10.1.

I have the htc flash player 1.0.1000.... and anything but a flash player shows up in the market. Dozens of flashlite apps e.g.

What version of Android? Adobe Flash player requires 2.2.

It's an android 2.1 based htc wildfire, still waiting for the froyo update. I'd rather keep the htc flashplayer app than use the "vanilla" adobe flash player. I don't even know if the htc app is adobe based and is therefore prone to the latest security bug. The information on the net is ...hm, ambiguous.


text:
How to change the 'hosts' file to redirect URLs?
For windows machine we got the hosts file to edit to redirect url's to other domains. Is there a file like that on android?
I'm looking to redirect a very long url to a shorter one using the hosts file, is this possible? This can also be used to redirect a list of known spam domains to nothing so the worst flash/gif adds are removed.
I'm running Android 2.1 on a rooted samsung galaxy S

It should be possible since there is the "AdFree" app for rooted users.  It doesn't look to be open source, however...

The original link is dead. I pulled this short guide from way back machine, copied here:

With the first few official Pre-Alpha builds of CyanogenMod 7 being
  released, it’s worth noting that a new feature has been included that
  allows you to change the hostname on your device from the Settings
  menu. If you have a supported device, you can get the nightly builds
  from the TeamDouche Mirror System. Once you’ve flashed (I take no
  responsibility if you break something – make sure to read up on
  issues/pitfalls/requirements before flashing), open the Settings menu,
  then choose Applications, then Development, and select Device Hostname
  at the bottom. This setting persists between reboots and ROM upgrades
  (unless you wipe).
Warning: I accept no responsibility if you brick your phone while
  doing this.
I ditched my iPhone due to problems my local provider was having and
  got an HTC Dream instead. I promptly rooted it using the Cyanogen Mod,
  but noticed that by default, Android reports the hostname as
  ‘localhost’. I don’t really like this, so I set about finding an easy
  way to change it.
First off, even rooted, the / partition is mounted read-only when you
  boot normally, so you need to boot to Recovery Mode (Home+Power). In
  the recovery menu, choose to boot to console. From there, browse to
  /system/etc/init.d.
IMPORTANT: Make a backup of ’05userinit’ before continuing! You can do
  this by simply running the following command – ‘cp 05userinit
  /05userinit’ (without quotes). This will create a copy of it in the /
  directory. If you screw up your editing, you can just rm the messed up
  version and cp the backup back in.
To add the command to set the host name, we’re simply going to echo in
  the following two lines:
echo  >> 05userinit

echo hostname NEWHOSTNAME >> 05userinit

Note that there are two spaces after the first ‘echo’ command. This
  creates a blank line at the end of the file. The second echo adds the
  hostname command. This way, whenever your phone boots, the hostname is
  set. Also, be sure to use two greater-than signs (>), as that
  appends – if you only use one, it overwrites the contents of the file.
Make sure the edits are correct by typing ‘tail 05userinit’ – as long
  as it isn’t blank, and there’s more than just the hostname line,
  you’re golden. Reboot the phone by typing ‘reboot’ at the prompt and
  hitting ‘Enter’, and you’re done.
Once you’ve booted back up, open up your terminal emulator of choice
  and type ‘hostname’ (by itself, no parameters) – it should echo out
  whatever hostname you specified.
Update (April 6th, 2010): To change your hostname on Cyanogen 5.x, add
  the following line to the bottom of /system/etc/init.d/01sysctl — and
  make sure you make a backup of 01sysctl before editing it!
echo NEWHOSTNAME > /proc/sys/kernel/hostname

Just to clarify, this is only possible on rooted phones. should we add that to the tags?


text:
How to do USB tethering with an Android Froyo and a Mac OS X?
With Android Froyo (OS 2.2), how can I do USB tethering with a Mac OS X?

It is worthwhile noting that HTC phones have their own mechanism for doing USB tethering

Android 2.1 and HTC Hero here; HTC's tethering didn't work, but PDAnet does work over USB.

Note that Android 2.3.4 (e.g. on MyTouch 4G slide) has an option to switch between "windows" and "mac osx" when setting up usb tethering, in case you can upgrade the Android OS.

PDAnet: http://www.junefabrics.com/android/mac.php

I was hoping for using the native Froyo tethering support, but oh well!

That will depend on whether your carrier supports it and if they do it will cost more for two monyhs of the service than pdanets one time cost.

assuming carrier's support, do you where I can get the Mac drivers?

@notnoop:  It depends on your carrier but the ones that support it push it out in the 2.2 OTA update, and if your computer requires extra driver they will be installed from your phone (thats how it happens on Windows, I don't really know about Macs).  If your carrier supports it, you can go into Settings > Wireless & networks and you should see an option for "Tethering & portable hotspot."  If you don't see that I don't think your carrier supports it.  Either way, you can always use PDAnet.

EasyTether Lite works for me. I've used it on an XP machine as well as a Mac. I love that it's cross-platform.

Shares your phone Internet connection
  with computer/laptop/notebook (Windows
  7/Vista/XP 64-bit/32-bit, Mac OS X
  10.4/10.5/10.6, Ubuntu 10.4+). EasyTether works via USB.
Does not need root access.

There's also EasyTether Full.

Full app allows https - access to
  secure sites such as facebook, gmail,
  online banking etc.
Full app allows you to tether ps3,
  xbox 360, wii via your PC - enable
  Internet Connection Sharing on your
  computer for that.


text:
OTA update failing after rooting phone
I have an unlocked Nexus One that I rooted to remove a system application (Twitter), but now the OTA system update fails with the message
Verifying current system ...
assert failed: apply_patch_check("/system/app/Twitter.apk", "<long hex string>")
E:Error in /cache/c8847c98b948.signed-passion-FRG83-fromFR91.c8847c98.zip
(status 7)

Un-rooting the device doesn't seem to fix this. Is there more to removing a system app than doing a 'rm' of the .apk? For example, is there some configuration file that also needs patching?

What ended up working was re-installing the stock Nexus One (a.k.a. Passion) image. There seem to be several different ways to go back to a stock installation, but what worked for me was:

Download the PASSIMG_Passion_.zip file from shipped-roms.com
Re-name the file passimg.zip and copy it to the SD card via USB
Booted into hboot (hold the volume down button while powering on the phone)
Selected 'yes' when asked if hboot should install the image

The above steps were inspired by this post in the XDA-Developers forum. After doing this, OTA updates started working again.

It looks like you need to re-add the Twitter.apk, update, then remove it again.  Have you tried that?  The patch itself is trying to find that apk for the update (not sure if you can change the patch since it is probably signed?).

From what I've read, the system update removes the exploit which allows rooting the phone in the first place. My hope was to remove the app while rooting the phone was still possible.

HA! Those bastards. Don't worry there are exploits to root it and to replace the recovery as well for the OTA. www.unrevoked.com

I tried re-adding Twitter, but the update still fails with the same error.


text:
How to enable Wifi Access Point / Hotspot on my Moto Droid (2.2) without editing the Kernal or flashing the ROM?
I want to enable the Wifi Access Point (AP) functionality on my Moto Droid.  I don't mind rooting but I'd like to do this without having to edit the kernel or having to flash the ROM.  I have seen apps that enable wifi tethering but they require a netfilter enabled kernel.
Is this possible?  If it is, how do I get it done?
Here are a few points I want to clarify because I anticipate several people telling me to use PDAnet, which is a great app that I love but does not fit my needs here...

I want to enable my Droid as a Wifi AP, not just tether via wifi.  The point of this is that I want to be able to connect devices that are capable to connecting to wifi without having any client software on them.
PDAnet doesn't allow for wifi tethering at all.
Verizon does not offer Wifi AP service on the Droid 1.

When I first rooted my Droid (with EasyRoot), I remained on the stock ROM until I got annoyed by the OTA update message (and ended up switching to CM6).
However, I was able to use Wireless Tether without doing anything else.  No new kernel, no mods, nada.  Just root on vanilla Android.
If you've already updated to the latest version of Android via OTA, then I'm pretty certain you'd have to downgrade your phone to get root to work unless there is a new method to get root now.  I know for a fact that EasyRoot no longer works with the OTA update.

Uh oh, I didn't realize that EasyRoot didn't work anymore.  I never got the most recent 2.2 OTA but I just got a new replacement Droid that arrived with FRG22D.  According to Unstable Apps I should only have to flash back to the earlier 2.2 FRG01B version to get rolling.

Which Kernel version is running on your Droid?

Currently I'm running ChevyNo1's Ultra Low Voltage 800mhz kernel.  I get really good battery life out of it just running it at the normal 550mhz.  Tried the 1ghz and my phone kept rebooting/wasn't stable.  But before I switched to this I was just using the stock kernel (which also only lets you overclock to 800 mhz). If you're interested in a new kernel, Chevy's kernels provide lots of options (ultra low, low, medium voltages all the way up to 1.25ghz if your phone can run them stable).

I believe SuperOneClick works for rooting the Motorola Droid on 2.2.
http://shortfuse.org/?page_id=2
After rooting your phone, you can use Wifi Tether for Root Users.
https://code.google.com/p/android-wifi-tether/


text:
What's the easiest way to create a QR code for a link?
The title is pretty self explanatory on this one.

While Android can read QR codes, how is this an Android question? Certainly I see a dearth of Android-based solutions in the answers.

I guess it's not, but at the time of the question it was a novel function on Android devices and seemed particularly relevant to Android users.

Do you mean creating QR codes on an Android device itself?  If so, you may want to mention it in the question.

Here is simple and quick QR code generator: https://tool.tonytuan.org/#/QrCode . Just paste any text (such as URL) to the input and it will generate QR CODE immediately.

Using the goo.gl URL shortener: http://goo.gl/a4Wv and adding a .qr to the end of it: http://goo.gl/a4Wv.qr

Looks like it's not supported again. Firebase says: Invalid Dynamic Link

The Google Charts API is definitely the easiest. You just make a URL as follows:
https://chart.apis.google.com/chart?chs=150x150&cht=qr&chl=<content>&choe=UTF-8
Content is usually a link, for example, this is a link to this site:

https://chart.apis.google.com/chart?chs=150x150&cht=qr&chl=https://android.stackexchange.com/&choe=UTF-8

You can also make ASCII QR codes (mainly for websites like Reddit): http://asciiqr.com/

While not the "easiest" way to make a QR code, it is certainly awesome!

KAYWA
easy as adding a link and click generate. Can generate for sms, text or phone numbers.

This is my favorite option as well because it can do more than typical url shortening service.

You can turn the url of the page your are viewing into a QR Code easily with these bookmarklets:

This one creates a pop-up where you can edit the url.  It's a two click process:
javascript:var sCode=prompt('Enter URL to encode',window.location);void(window.open('http://chart.apis.google.com/chart?cht=qr&chs=300x300&chl='+encodeURIComponent(sCode),'Qr code','top=100,left=200,width=350,height=350,status=yes'));
This one is a one click and done process:
javascript:(function(){if(document.getElementById){var x=document.getElementsByTagName('head').item(0);var o=document.createElement('script');if(typeof(o)!='object') o=document.standardCreateElement('script');o.setAttribute('src','http://qrbookmarklet.googlecode.com/svn/trunk/qr.js');o.setAttribute('type','text/javascript');x.appendChild(o);}})();

Just create a bookmark in your Chrome or FF browser bar and paste the above code into the URL field of the bookmark.

If you're looking for an Android app that does that, try "QR Droid".
It lets you do this:
- In the Browser, when your viewing URL that you want to share, select "Menu" > "More" > "Share page" > "QR Droid"
- There, you'll be able to generate QR code with a click, and to optionally shorten it first so resulting QR code has less data an therefore is easier to read by decoders
After generating QR code, it allow you to share image or URL from Google Chart as text
I hope it helps

I'm a big fan of QR Code Generator from the ZXing Project.
It's a web app that quickly lets you enter in any text to create a QR code.
It will also allow you to enter structured info (URL's, Contact Info, Wifi-network credentials), and creates QR Codes from that. The benefit there is that you may have apps that are set up to handle structured data. E.g.: a URL QR code will automatically open up your web browser at that address. Contact QR codes will create a new contact in your address book, and so on.


text:
Is it possible to use an AT&T phone for android development without rooting?
This question seems to say that it's necessary to root an at&t phone (like the samsung captivate) in order to install apps from unofficial sources.
My question is a bit more focused: if I'm working on my own android app, will I be able to load it on my at&t phone for testing (via the android SDK, etc.) without first rooting the phone?

The Android Compatibility Definition Document (direct pdf) says that “Device implementations MUST support the Android Developer Tools provided in the Android SDK.”
Any device which isn't “compatible with Android” according to this document isn't going to have the Google services, and in particular would not have the Google Play Store. Such devices do exist, but if you have one you'd likely know it.
(Lack of official compatibility doesn't mean you can't use the standard development tools, either, just that they're not obligated to allow it. The Amazon Kindle Fire is an example of such a device.)

This question seems to say that it's necessary to root an at&t phone (like the samsung captivate) in order to install apps from unofficial sources.

That is not true. While you cannot download apps from the Web, you can install apps through the development tools, or things based on the development tools (like the Sideloader Wonder Machine).

My question is a bit more focused: if I'm working on my own android app, will I be able to load it on my at&t phone for testing (via the android SDK, etc.) without first rooting the phone?

Yes.

I'm curious as to why you say you can't download apps from the web?  If you can download an APK file then you can install it.  Just because the majority of apps are only available in market, doesn't mean that you can't download apps from other sources.

@Captain Toad: AT&T phones block installs from the Web (via the phone's browser) and third-party markets. I suspect this may also block "file managers" from installing APKs located on SD cards, though I haven't heard about that one way or another. However, they cannot block the development tools and remain compatible with the Compatibility Definition Document (a requirement for having the Android Market).

Thanks for the clarification.  I didn't know that it was possible to block installs that way and none of the carriers in the UK (where I'm based) would be dumb enough to try.  All the Android handsets and slates I have seen or used have an "Unknown Sources" that allows installation of non-market apps

@Captain Toad: Yup, we Android folk here in the States are not happy with AT&T. :-(

Update:
AT&T has finally seen the light and allowed unknown sources on most of its devices; you should get an update.
If you want a real "developer phone" you can get the Nexus S (right now it's exclusive to Best Buy, so you'll have to go there. Make sure you get the AT&T variant if you want HSPA+). I have only booted stock once on mine - and it was not the first boot.


text:
Any reason not to allow automatic updating for an app?
Since Android 2.2 (Froyo), you can select "Allow automatic updating" for applications. For some reason, I haven't started using this yet. The benefit would be to save time, but are there any good reasons not to use this feature?

This isn't an answer really, but it may help you to know that if an app's permissions change, it will not auto-update - you'll have to manually update. So don't worry about not noticing an app make a power grab or something.

@Klondike: I was about to make the same point.

I leave it off so that I can review the list of pending updates and see what changed.  Of course, that only helps for the apps that list changes in the market description.
Every once in a while, developers do release updates that are a step backwards- either because of introducing bugs or major redesigns that lose features (Astrid, I'm looking at you).  If you wait long enough before updating, then you may be alerted to that situation via comments.

Ditto here. I like to know what has changed.

The main reason why i won't use the feature is traffic. In germany, we have mostly traffic limitated flatrates. So after 250 or 300 MB of traffic or something like that, you'll be forced to only use 2G connections for the rest of the month. Because of that limitations, i only update my apps when i have wifi access somewhere around me.

Interesting, I didn't consider traffic limited situations. You'd think the network could discern app updates from other data and perhaps not include it in the total usage.

I noticed in the latest GMail update, there is not obvious UI to stop or suspend the download. This is problematic for the scenarios mru described.

Doesn't market also have an option to auto-update over WiFi only?

Yes, but only with a recent version. You can now enable auto-update only over WiFi in the Play Store app.

Sometimes a developer might release a controversial update: interface changed, ads added, or a lot of bugs were introduced and therefore you may want to hold off before upgrading (or at least give yourself a chance to back up the apk).  A good example of this recently was psx4droid.

Backing up the apk is a good call... thanks for the answer.

Also, you might want not to update apps automatically if you have a old/cheap device.
On my HTC Hero, installing apps kind of takes a lot of resources and I don't want the device to slow down randomly.

Everyone offers plenty of good reasons not to auto update so I'll offer a solution -- Use a good backup app such as Titanium Backup, and you can safely leave autoupdates on and manually revert to an older version if an app changes in ways you aren't happy with.

Good advice. I went with the first answer by shmuelp but you make a great point.

Doesn't Titanium backup require root?

Yes, it does. I know others differ, but I'm of the opinion that root should be pretty standard for Android power users.

A lot of things:

Traffic: if your data plan is pay-per-byte (or has a data cap/limit)
Battery life: Updating apps uses the processor (which consumes battery).
The new version of the program may have problems, bugs, etc.


text:
how to watch DVDs on my Captivate
I would like to rip and watch a DVD on my new Samsung Galaxy S (Captivate variety) handset.  Sometimes I get a goofy sci-fi on Netflix that I would like to watch but the wife wouldn't bother. So I want to rip a copy to my PC and watch it later on my captivate.  What is the best format/method/player for me?

This question is no longer relevant for me since Netflix now streams all the SciFi I want and I don't have to worry about the DVDs.  Still relevant for anyone who has DVDs that they want to watch on a phone though.

Handbrake is a good program to rip and convert DVD video (it may not work on certain copy protected DVDs but that's a topic for another SE).
The stock video player plays H.264 .mp4 videos well (here are the supported formats).  You can actually just use the iphone/ipod preset in handbreak, just change the width of the video to the height dimension of your phone (so you can watch it in landscape, on the Droid it's 854 px).  It will output a .m4v format which technically isn't supported but it will play because it's not drm'd by itunes.
If you prefer another format like .avi, then you'll need another player like RockPlayer which supports many more video formats:

avi mkv rmvb mp4 mov wmv asf wma wav
  mpg ts mpa dvd au mp3 mid ivf aiff ogm
  ogg cda flic d2v aac roq flac drc dsm
  swf pls pmp

'Re' download the movie on line and just copy the divx files to your phone. Most movies should just work with the default movie player (which is really great on the SGS)
Ripping a movie takes a lot of time/knowledge just downloading it is easy and probably faster.

Meridian is a pretty popular media player.

You can try Foxreal DVD Ripper, which can convert any DVD to Samsung Galaxy S easily. What's more, it customize the best video format for Samsung Galaxy S to help u get the best visual experience, you can try it, good luck!

How about a link?


text:
Application stuck in "Installing..." stage in Market
I'm having the problem mentioned in the title on my Samsung Galaxy S. I updated the app Dock Simulator and for some reason it got stuck while installing. Now it shows the scrolling green bar in the downloads section of the market but the program itself works fine. How can I get rid of the constant "Installing..." status?
Oh yeah, reboot and uninstall didn't fix anything.

More or less a duplicate of http://android.stackexchange.com/questions/1518/dropbox-always-downloading-on-htc-incredible

(I think we need a FAQ for this.)

I just had this problem, and somehow I got this solved.
What I did:

Entered Settings -> Applications -> Manage Applications.
Selected the Market app, and "uninstall updates".

After that, I entered the Market app again, and I was able to reinstall the app who got stucked.
PS: I'm not sure if this was just a coincidence, or this procedure works always, but it worked for me.
PS2: My Android version is actually in portuguese language, so I'm not sure the option names I referred to above are correct in english.

No such option in Android 8.

Try to do the following:

Close the Play store.
Go to settings
Select the  apps option
Find the Google Play store, and select it
Tap "Storage"
Select "clear data"

Then, try to download your app again.

Did not work for me. It did work when I cleared Google Play Services data but just for one time. When I tried again it was again stuck.

In the " downloads" screen of the market, long click on the app that's stuck installing and you'll get the option to Delete or Cancel (I can't remember which option you'll see but it'll be obvious).

I tried that too, didn't work. Also tried clearing caches from Market and most of the others that could possibly have any relevance to the matter, but finally got frustrated and wiped the phone. But thanks for the suggestion :)

+1: it works for me. thanks! that's been annoying me for a couple of weeks! (Moto Droid)

Stop all the updates which were waiting for Wi-Fi to update. And start fresh install worked . Thanks

Worked for me: Setting > Apps > All > Google play services > Uninstall update and clear cache

I keep getting this, and it seems tied to my "Application storage is low" message.
I uninstalled several large, un-used apps, rebooted*, and the downloads downloaded.
*Maybe I didn't reboot. Check the download after uninstall and see if it's continuing....
Since my file-browser says I'm using less than 40% of available phone storage, this is a little irritating.

What helped me was to uninstall the updates for Play Store and Google Play Services, and delete the data for these apps. I got lots and lots of error messages immediately after, rebooted, got lots more error messages, but eventually the (old) Play Store opened and downloaded an update for "Google", and voila, everything was back to normal.
Uninstalling the updates to Google Play Services must have been the crucial step, because I fiddled with Play Store and various other apps for quite a while before trying this one.

My is working when i close the app when the downloading app is at 100% or it didnt start at all i open the app again and its started installing and my app is installed. It isnt a very effective way but its something. :)

install latest version of play store and play services and then reboot your phone .
Play store version 5.3.6
Play services version 7.9.90

Clear cache
Clear data
Uninstall updates of google play store
Then the problem is solved.

If you're suggesting "Clearing data" then here is no point in explicitly mentioning "Clear cache" since clearing data would take care of it. 2) Your answer adds nothing valuable since all the info is covered in rest of the answers. Please refrain from adding redundant information since it doesn't help. Thanks!


text:
Is it possible to shut down all antennae except for the gps?
I am thinking of buying an Android phone soon (Probably Desire HD), and would like to use it to record hiking trips GPS data.
All those run tracking apps seems just right to me, but I am looking for something that can run more than a few hours, so I figured that turning off the wifi/3g/cell antennae will give me a much longer battery life.
Is it possible to achieve it easily? Maybe only with root access?

Similar (but not duplicate) question here: http://android.stackexchange.com/questions/745/android-app-to-turn-off-cellphone-sim-radio

You can activate the Airplane mode to shutdown everything (calls, wifi, etc), and then re-activate the GPS. Only the GPS Antenna will be activated... I think :D

This is possible with a free app called quick settings. You don't need to root your phone. You should know that if you turn off your data, you won't have real time set to the maps, but you'll still be able to record your gps data. To get around that you can download offline maps app like maveric.  Ill add links to this answer later when I'm not driving  and using speech to text.

wow.. impressive that it's all written with speech to text.

If you must resort to answering while driving, I'll slow down some ;)

So THAT'S where I'm going wrong.

You can use APNDroid to toggle your data on/off.
Alternatively, if you still want data and have a SIM phone, you can force it use 2G only in the network settings.


text:
Contact account association with non-HTC phones?
My HTC legend give me the ability to associate my contacts' various accounts in the People application (ie. email, Facebook, Twitter...). Is this a HTC only feature? If it is, is there an alternative for non-HTC phones?

The people application itself is an HTC exclusive, but merged contacts from multiple sources (GMail, Exchange, Twitter, Facebook, SIM, carrier phonebook, etc) is a standard Android feature for 2.x (maybe earlier). By default the system tries to intelligently merge identically named contacts, but you can manually add/remove contacts from the merged identities.


text:
How can I make the Swype keyboard type "I" when I press "i", now it types "ki"?
I am using the Swype keyboard preloaded on my at&t Captivate (Samsung Galaxy S) phone and I like it a lot. My only problem is that when I try to write I I'm used to just pressing i and letting the phone capitalize it. However Swype routinely writes ki when I am trying to write I.
I am wondering if anyone else has this problem and if they know how to fix it?
Also, is there a way for me to remove ki from Swype's internal dictionary so it'll never attempt to write it? It might be useful to modify that dictionary for other reasons too, so I can add personal names, local street names, etc.
Is there an auto text replacement app that I can use to always change ki to I?
Thanks!

I've only ever typed i as a single lowercase word and it's always capitalised it for me.

Actually I had the same problem as you, and I searched the help dictionary. You have to swype from "I" down to the spacebar in order for it to auto-cap. It's not as easy to find or widely known. Also as a heads-up you can do this with "a" too. The brilliant thing about it is that you only have to be close to the "I" and "a" in order for it to space/cap.

...or fling up above the top row. This is mentioned in the tutorial isn't it?

Open up the memo application (or anywhere that you can enter text), enter the "ki" that's giving you problems, highlight it and hit the Swype key on the lower left; it will prompt you to delete the word.
In general it will remember new words that you enter; you may have to type them out letter-by-letter first.

I'm not getting that prompt to delete the word when I hit the Skype key. What's it look like? How do I get it?

@adam: I couldn't reproduce the exact behavior that your were seeing, but it seems 'ki' is a built-in word (it's the TLD for Kiribati).  I think you'll have to spell out the 'I' by hand for a while until Swype's prediction algorithm chooses it over 'ki'.

Oh so the technique you are describing only works for user added words? That's still useful just not in this case. Is there no way to delete words from Swype's internal dictionary? Shame I use the word I more often than I type out URIs to I-Kiribati websites. Thanks!

@adam: the "official" way to enter 'I' is to sweep from the 'i' key to the space key.  Have you tried that?  Eventually your phone should learn that you refer to yourself more than to island nations in the Pacific. :)

Capitalizing in Swype is pretty easy.  If I wanted to swype Joe I would hit the j and then swype to a point above the keyboard on the screen, then back down to o and e.  If I wanted to do JOE, I would swype from j to a point above the keyboard, then do a little loop while still above the keyboard, then swype to o and e.
So, in order to get a capital I, hit the letter i and the sweep up above the keyboard and then let go.

Yeah I'd rather not have to do that. I never type i as a single lowercase word. It should auto-capitalize without me having to remember to sweep my finger up.


text:
How can I view title text for a web image (xkcd.com) on an Android based browser?
How can I see the title alt text for website images on an HTC Desire?
I'm currently using the Dolphin HD browser but I can't see a way of getting the alt text.

Be an activist and upvote the defect here! Though that's a longer term answer. :)

Good question. I don't see an obvious way to do that to solve your problem on all websites. However, there just so happens to be a few xkcd viewer apps. I use this one which has a menu > hover text option.
EDIT:
This seems like a reasonable thing to try for link hover text, but it does not work for me on the default HTC Incredible browser:

Tap any white empty space near to the link you want to hover over.
Now move your trackball up/down until it selects the link. Don’t click it.
There! The tooltip now appears. Simple solution. :)

I saw this suggested here.

Cheers, that's helpful but unfortunately the hover suggestion doesn't work in the case of xkcd.com - maybe because the images aren't links?  The app is a reasonable workaround for now though.

Not every Android phone has a trackball, either.

App no longer available.

The right answer is to just go to https://m.xkcd.com. There is a link on there to show or hide the alt text.

Works perfectly for xkcd, but not for other sites/situations.

I created a bookmarklet for this:
javascript:(function(){var D=document,i,f,j,e;for(i=0;f=D.images[i];++i)if(f.title!=""){var x=D.createElement("div"),s=x.style;s.color="Black ";s.background="yellow ";x.innerHTML=f.title;f.parentNode.insertBefore(x,f.nextSibling);}})();

This displays any TITLE texts as text with yellow background.

Download XKCD viewer app in the android market. You can then tap on the comic to bring up the hover text.


text:
How can I see in the App store whether I am working secure
I wanted to buy some small application from the app store, it asked for my credit card information, but I was unsure whether we were working in secure mode.
How can you see, during payment, whether your are working in secure mode or not ? (like the green colour in Internet Explorer).

Assuming you were purchasing through Android Market (App Store is iPhone), credit card payments are handled by Google Checkout.  (More info: http://market.android.com/support/bin/answer.py?hl=en&answer=105916 )
Google Checkout API is secure even though you won't see an HTTPS indicator like you would for SSL-enabled sites in a web browser (e.g. the green location bar in Internet Explorer).

@J. Farray: I would expect the payment to be secure but the link you provided just tells that we can use credit cards, it doesn't mention whether it is secure. With security being so important these days, one would expect some clear indication when you are paying over https: or not. Still leaves me uncertain.

@Edelcom: The article I linked to states that purchases are handled by Google Checkout.  There are plenty of articles available about Google Checkout's security model.  The reason you don't have a "this is secure" indicator is because Google Checkout only operates over HTTPS.  There is no "unsecured" mode.

@ J.Farray: I agree, but still I, as a user, would like to see that I am working secure. Just stating somewhere in some documentation that the whole system is secure, is not enough, IMHO. We all tell our users of Windows browsers to certainly check the secure indicator as to not send your password and credit card information over a non secure link, but a 'new' operating system as Android does not give any indication that it works secure . That's an oversight in my book.

No one is answering my question here ... so I presume it simply is not possible to view whether you are using a secure connection of not.
In this age, this is a great oversight, in my opinion.


text:
How can you tell which version of an app is on your Android phone?
I was just browsing through the AppBrain Android store and saw as one of the popular downloads Gmail.
This made me wonder how to see the version info of an application on my Galaxy S mobile phone.
How can I tell the version so that I may update this application to a new version?

Go to Settings > application settings > manage application then tap on the app. It'll say the version you are running under the name. You shouldn't have to check though; If the app in the market doesn't say "Installed" then you don't have the most recent version.

Thanks for pointing this out - I am really new to Android, so I am asking basic questions. However, having gmail taken as example, the gmail application is not in this list (Twitter, Facebook and IMDB are f.i. but no gmail ) ?

@Edelcom: I'm using Samsung Galaxy S2, with Android 4.0.3. GMail can be found in Settings > Applications.

You can't assume everyone uses Google Play (Market). Some devices use Amazon App Store, or have some other store. Some don't even have an app store and require apps to be side-loaded. So it isn't always a simple matter of checking Google Play to make sure you have the most recent version.

Play app
Android 5.1.1 Xperia Z3:

find app
permission details
right at the top is shows:
Version XXX can accesss

Note: this may not work for some "magic" apps, like the Play App itself.
Device settings
Settings > Apps > Downloaded > App name

and the version is shown at the top of the screen.
I was not able to search by the app name, so get ready for some scrolling.
Going under Running instead of Downloaded did not work: if you find your app there, it shows only runtime stats.
adb
Better method if you've got it setup.
Discussed at: https://stackoverflow.com/questions/11942762/get-application-version-name-using-adb
The best command so far is:
adb shell dumpsys package com.google.android.apps.photos | grep versionName

How to get the package name: View app's full package name?
But this method is not perfect, as they can give multiple results because of the Hidden system packages: section.
Feature request for Google Play Store
Those would be ideal places for it:
https://productforums.google.com/forum/#!topic/play/CfSPJbhB6-k

For non Xperia Z3 users, unless your OEM deliberately changed the menu, the location would be the same i.e. "Settings > Apps > Downloaded > App name", for Android 4.x as well as 5.x.

You can easily to settings then application settings after that choose manage application.  you will find the infomations of the android apps.


text:
Can you get a list of the RUNNING applications on Android for the purpose of activating them?
On my Samsung Galaxy S Android phone: if I start a couple of apps, I can get an overview of them in the 'Active applications' icon on my first screen.
Clicking this icon, shows me all active applications but allows me only to end them.
I find no way to activate them.
Pressing the center touchpath at the bottom displays the last 6 clicked icons - which may or may not be the ones running.
F.i. if I start 6 applications, I see these 6 icons, if I start a 7th one I see the last 6 started. I wont see the first icon again . So how can I activate this first one, other than knowing it is running, and tapping it's icon again ?
Please don't start telling me why I should start 6 or more applications. That's not the point, here , of course  :)
ANSWER:
You can't - at least not by using the system as it is installed. A well, no big deal, really. Just wanted to see if I was missing something here. Coming from a Windows background (and aren't we all because otherwise we should be holding an iPhone now), this did not seem to illogical. Thanks for all answers.

I keep my list of most used applications on the 'home' screen. So I dont have to use the ignoring 6 applications list. Great question!

For the record, Advanced Task Killer Free by ReChild can be used as a sort of an app switcher. You can set its "Default Click Action" to "Switch To". However, doing something like that isn't really the regular Android workflow.

The app Smart Taskbar will show you a list of the all tasks(apps) that are currently running on your device and allow you to switch to that app, similar to the native functionality but you are not limited to the 6 most recent apps.
Basically it opens from any screen and also lets you set some shortcuts and widgets and choose from all installed apps (like the app drawer) so you can complete any task from anywhere on your phone without having to go to the home screen first.
There are a bunch of other apps that let you switch between running apps, just search the market for "task switcher."

Sounds like you're overthinking it. Android goes out of it's way to intelligently manage applications and resources. When you leave an app it will generally keep running as long as the resources are available. Long pressing Home and selecting it or just launching the shortcut again should take you right back to the running app.
Theoretically it shouldn't matter if it is still running or not, though -- every app is supposed to save it's state in such a way that if the OS kills it before you come back, it should still be able to launch back to the same state you left it in. This isn't universally applied in programs yet, but it does seem to be much more widespread these days -- presumably because the developers are getting used to the "android way."

I know. But the application button gives me (at the moment already) 3 pages full of icons , and that list will grow for sure. I don't want to go to page 2 or 3 or 4 to restart (or call up depending on your view point) one of the listed icons. I started some before, and I just want to restart one of those .. not wade through all installed ones.

I can sympathize, but I still think you are working against the way the system is setup. There really is no running or not distinction, other than apps that are actively doing background work, and they will be leaving a notification in that case. If you have frequently used apps that you don't wish to dig to get to, perhaps you would be better served by shortcuts on your home screens or trying a home replacement app that allowed for organization of the app menu. I believe Launcher Pro does this, for example.

I know of two other places in Android to get the list of what's currently running. (This is on my Motorola Droid.)
From the Home screen:
Settings | Applications | Running Services

OR
Settings | Applications | Manage Applications | Running

The views are different; one shows all the services from each app, the other just shows the apps.

@Al E.: OK, same comment as the other anwser. You only see a list of running programs, you can't activate the program, or can you ? I want to activate it (bring it on top).

You need to start the app. Are you missing the application list? I don't know what Samsung has done to your interface, but on my Droid I have three icons on the bottom of my home screen. A phone on the left, a globe on the right (launches browser) and a grid in the middle, which pulls up the list of all the apps installed on my phone.

I think he wants to switch to the app from the "running apps" list.  Kind of like Alt+tab on Windows.

Yep, like alt-tab - I know of the application button, but that gives me (at the moment already) 3 pages full of icons. I don't want to go to page 2 to restart (or call up depending on your view point) one of the listed icons. I started some before, and I just want to restart one of those .. not wade through all installed ones.

That's not how the phone works. If you want to use an app, you just tap the icon for it. For apps you want quick access to, make a shortcut on one of your home screens.

@Al E. It's taken me a while to come to terms with this.  For a while I was trying to use the phone like a windows machine, which it thankfully is not.

I usually started an application by inputting the name of the application on the Search Textbox. In my Samsung Spica, there is a dedicated "search button", I can click on the search button to go to the Search Textbox and start typing the first few letters of the apps I want to start; the autocomplete will do the rest and you can click on the application you want to start.
In Android, conceptually all programs are continuous and never halted. When the OS needs to reclaim memory, it pauses the application and asks it to save state; later on, the OS wakes the app up and asks it to load its state. Conceptually, applications never dies; conceptually, all applications are running all the time; Android's Activity life cycle is designed to give this sort of illusion.

I know. But the application button gives me (at the moment already) 3 pages full of icons , and that list will grow for sure. I don't want to go to page 2 or 3 or 4 to restart (or call up depending on your view point) one of the listed icons. I started some before, and I just want to restart one of those .. not wade through all installed ones.

@Edelcom: Did you read my first paragraph? You don't need to wade through all that icons, the quick search box can be used to search for installed applications as well as the web. You can type the first few letters of the applications' name, and the textbox searchs the app you want to start.

I did read your first paragraph? But, why should I need to remember the first chars of any application just to activate it ? For common ones like Facebook and Twitter, ok , but other ?  The search box is very usefull, but for activating a running application ? Having said that: it really is not a big deal (my question that is). Coming from a Windows background (and arent't we all), I just found it strange to be able to call up the last 6 you clicked, but not the one's you decided not to terminate.

@Edelcom: But in Android, conceptually, all programs are always running all the time and never terminates, the "list of currently running programs" are exactly "all of your applications". If you have some favorite programs you use regularly, put a shortcut in your home screen; if you want to go back to a recently used app, 6 latest apps are shown (I don't think anyone can manage more than 6 active tasks at the same time, most human's brain can only hold 3-7 pieces of information at a time); if you want to start a rarely used app, either use the quick search or the full application menu.

A program like Advanced Task Killer will give you a list of running applications.  Long press on one of them pops up a menu, and one of the options there is to switch to the application.  You can also customize the long press so that the default action is 'switch to', saving you a menu.
There are lots of reasons why something like a task killer is not something you should be using, but I won't get into all that.  I have it on there for the extremely rare occasion that I need to kill a rogue process.
You can also do a search over at App Brain for 'task switchers'.  AppSwipe! looks decent, but I've not used it (or any of them).

This may not exactly answer your question, but if you press-and-hold the home button, you should get a list of the most recently-run applications.  Pressing any of them will activate the app.
This is built in to (I believe) the launcher, so it is possible that this only applies to stock Android and that it has different behavior on TouchWiz (or whatever skin Samsung put on the Galaxy S phones).


text:
Currencies supported by Android Market
Now that Google has extended the number of countries from which developers can sell paid apps, have they also extended the number of supported currencies?
I know that the Market now shows prices in the user's local currency; what I want to know is can developers now set prices in currencies other than US dollars, Sterling, Euros and Yen?  For example, what currency is used when an Australian developer sells an app?  Do they set the price in US dollars or are Australian dollars now supported?

I've since found this link that lists 12 currencies supported by the Market.
They are:

Canadian Dollar
Swiss Franc
Danish Krone
Euro
British Pound
Hong Kong Dollar
Japanese Yen
Norwegian Krone
New Zealand Dollar
Swedish Krone
Singapore Dollar
US Dollar

No mention of the Australian dollar.  Presumably an oversight?

The developer sets the price in the developer's local currency.  The buyer purchases the app in his/her local currency.  Google does the conversion.
Recently the market has started showing the prices already converted to the local currency.  That is more to help you understand what the price really is.  You still pay with whatever your local currency is and the developer still receives whatever his/her local currency it.

Android Market just recently added Carrier Billing for AT&T customers.


text:
What is the default resolution of a wallpaper that fits the homescreen exactly in an Android phone?
On an Android phone the wallpaper spans across all of the home screens.
So what size should pictures be to fit properly as custom wallpapers?

Lifehacker just published an article about this. Found here: http://goo.gl/iWan

That article has a good explanation.  FYI, the answer you marked as correct does not in fact give the correct dimensions.

Here are the correct wallpaper dimensions for the phones cited in Leimi's answer:

480x320 for devices like the HTC Wildfire
640x480 for devices like the HTC Hero or Legend
960x800 for devices like the Nexus One
960x854 for devices like the Motorola Droid

If you device isn't listed there is an easy way to figure out the dimensions of the wallpaper based on your particular phones resolution:

2x the width and 1x the height

so for example my Moto Droid has a screen resolution of 480x854 so I want my wallpaper to be 2x the width (480 pixels) and 1x the height (854 pixels) = 960x854.
Here is a chart with most devices specs to help find the resolution.
Also check out this Lifehacker article that explains Android wallpaper sizing well.

HTC Evo 4G is 960x800

This does not work on T-Mobile G2 (800x480).  I open a JPEG resized to 960x800 in the Gallery app and when trying to set it as wallpaper, I am forced to crop it.

How many home screens do you use?  Are you using an alternative homescreen app? I have seen it reported that 960x800 works just fine on some G2s so there might be some other reason it wants a different size.

@florin Are you really forced to crop it, or merely asked to select what will be displayed?  In other words, can you expand the selection rectangle to the full size of the image, thus performing no crop at all?

It depends on your screen resolution :

480*320 for devices like the HTC Wildfire (QVGA)
800*600 for devices like the HTC Hero or Legend (HVGA)
960*800 for devices like the Nexus One (WVGA800)
950*856 for devices like the Motorola Droid (WVGA854)

edit : in fact some of this dimensions work but are not the correct ones (they fit because of the same aspect ratio). Matt's answer is better !

This is a thorough answer so I'll only comment to add one detail -- The basic formula for wallpaper resolution is screen height * 2x screen width.

These dimensions are not correct (except for the dimensions quoted for the Wildfire).  Saiboogu's comment is correct.

Well.. my bad !

Np. Just curious, where did you get your numbers? Miscalc or do you know something about wallpapers I'm missing?

I take this from an active wallpaper maker on a french Android forum. I don't know where my head was when I copied those values though : in fact his big screens values are 950856 (wvga854) and 960800 (wvga). In the end, his resolutions work aswell because they keep the same ratio as the correct ones (for example the 800*600 for the HTC has the same ratio as the 640x480). But to make something perfect I see that your values are the ones to take, so my bad :D

I think you shouldnt look at resolutions, but aspect ratio.
Resolutions are device-specific, but all devices, regarding their screen resolution use the same aspect ratio for scrollable wallpaper.
As I recall, the ratio is 5:4, because this aspect is good for having a wallpaper that scrolls a bit while you scroll through your homescreens.
Its been a while since I got that info so something might have changed, but as long as you keep that ratio (and the resolution higher than your devices resolution) you will have a nice crispy-clear image.


text:
Gmail only reads my emails when I press the 'refresh' button - is this normal
On my Samsung Galaxy S, gmail only loads new emails when I press the 'refresh' button.
Is this normal ? Or should I set some options somewhere ?
I thought gmail should push emails to the phone.

In answer to my own question (and in thanks for the answer already provided), but the problem was that in my office, my phone uses Wifi router which is connected to the internet via a firewall . And on this firewall one of the necessary imap ports was blocked.
My collegue changed this setting , and now gmail is behaving as expected.
I am really not in the habit of choosing my own answers as the selected answer, but for this question, this was the solution.
Hope it helps others !

Nice detective work! ;)

There is nothing wrong with selecting your own answer if it's what solved the problem for you.

Of course, if you had mentioned that this was only occurring at work while you were using the Corporate wifi, you might have gotten different answers.

@Al Everett: I agree, I should have edited my question. I did mention in in my reply to your answer, though. Problem is, you have a new device, you play around with it. Use it here , use it there and notice something not working. The first thought is that you are doing something wrong. Second thought is , asking it to the nice people at Android.Stackexchange. Than you use the device or program some more and slowly start to see a pattern emerging. In the end a solution is found, either by reading answers, of by yourself. So I answered my own question in the hope that it will help someone else.

From the Home screen, go to Settings | Accounts & sync | <your account> and make sure that "Sync Gmail" is checked.

@ Al E.: This was already checked. And it seems to work. Seems I say because it can take a long time for a mail to arrive. Is there any way we can adjust the time period Gmail uses to push the mails in our direction ? And another thing: does the phone needs to be displaying it's screen ? I have the impression that mails never arrive when my phone is black (is running but not displaying anything).

@Edelcom: I don't know what to tell you. Gmail to my Moto Droid works great, whether the screen is on or not.

@Al E.: So it does now here at home (connected to local wifi). Strange. It did not do that yesterday when I was working at my office (also connected to local wifi). Will have to investigate that a bit further. Thanks for your answer, though.

In addition to what Al E. says, you also need to make sure Syncing is general is on.  Form the Home screen go to Settings | Accounts and sync and make sure both Background data and Auto-sync are checked.

+1 for providing more steps that are vital. Also, inside the account entry, you need to check "Sync Gmail" (to get the mail data-type). It also shows the last sync time-date as well.


text:
Should I use Tasker or Locale?
For general detecting circumstances and triggering actions, what are the advantages/disadvantages of Tasker and Locale?  Which one does the best job overall capability for improving the usefulness of a phone/device?
Categories of particular interest (in no particular order):

"Recipe" power
"Recipe" ease-of-creation
Variety of circumstances that each app can detect
Actions and configurations that can be triggered
Backing up setup
Sharing configuration

The easiest way to compare these two apps:
Locale costs more.  But it is a lot more user friendly.  You just set up "situations" with triggers and actions. Then you prioritize the situations.  That's it.
Tasker costs less.  But it is a lot more customizable.  It's more like being given a scripting language.  There are TONS of options and choices and it can get really confusing if you don't know what you are doing.  It is not made for the average user.
I will say that anything Locale can do, Tasker can do it too.  It just isn't as quick and easy to set it up.
In regards to backing up, you can backup Tasker into script files.  Locale has no built in back up system.
Both of these applications are extendable to do practically anything because they support plugins.  Tasker supports Locale plugins too.
Also: personally, I use both of these apps.  I use locale for setting up common situations (disable sounds when asleep, adjust brightness/screen timeout when plugged in, go silent at work, etc.) and then Tasker for... well... tasks!  Such as plugging in my headphones I reduce my media volume to 50% (I've blared music accidentally way too many times) and displaying a menu of music apps.

Does Tasker use both conditions and actions from Locale plug-ins?

I am the developer of Locale, and I wanted to make sure the most up to date information is available here:

Locale does support backup and restore.  More information about this feature can be found on our website at http://feedback.twofortyfouram.com/forums/5655-locale-feedback/suggestions/74784-backup-settings-?ref=title
We publish a Headphones Plug-in condition and a free Media Volume setting for Locale, giving Locale the ability to adjust media volume based on headphones being plugged-in/unplugged.

Does locale support 'and' conditions, like 'I am at home' and 'it is Sunday'?


text:
Where can I see what the screen dimensions are of an Android mobile phone
I have a Samsung Galaxy S mobile phone, I can't seem to find the dimensions of the screen (apart from looking it up on the internet of course).
But in general: can you somewhere see the correct screen dimensions of a mobile device's screen ?

I don't see it under settings. Check the manual? Dimensions of several screens were posted here.

I don't believe there is a way, which is strange. Maybe because it can't be changed they don't think we need to know?
You can install an app called "Screen Resolution" which will display your phones resolution if you really want to see it on your phone.

Here is a chart with most devices specs to help find the resolution. Source matt :)
in a response on what-size-should-images-be-for-android-wallpaper?

GSMArena.com, just to point one site of this type, list almost all mobile phones known, with their technical specs.
For you example Galaxy S, here it is the dedicated page

Screen&System provides screen resolution (pixels), pixel density (dpi), screen metrics, height, width, and diagonal in centimeters and inches.


text:
Can I manually focus the camera on my Android phone?
Is there any way to manually focus the camera on my Android phone?
I know that you can tap on where to focus, but that's just assisted auto focus. What I want is to be able to manually adjust the focus.

Change the focal depth?

I couldn't find a way to do it or an app that would do it.  There were a couple out there that claimed to have manual focus but basically just did what you described as "assisted auto focus."
I found this thread at XDA where some people have been looking through the code to find a way to add the manual focus.  From what they found it appears that it is possible but someone has to code it.  Its worth keeping an eye on it: http://forum.xda-developers.com/showthread.php?t=630989

The new API for full control of the camera on android had been added to android version 5. Google added these features like iso ,manual focus and etc in android lollipop. I personally think to use this new API the camera hardware must support this features, However I didn't find any reference to claim this, but it makes sense to me that a hardware must be able to do such stuff.
you can use this app to check Manual Camera Compatibility.

Is there a list of hardware that supports Manual Camera Compatibility API?

There is a free android app that allows you to manually adjust focus (and more camera technical stuff for photographers)
Its called open camera and can be found on playstore.
(the one by mark harman)
NOTE: it will only work if your device supports it. (aka if possible)
To get straight to using manual focous:
install, open settings, near bottom of page turn "use camera2 API" on, then in camera mode (ready to take picture) click the "..." on the right side pannel, on the second row down of icons click the "m" (just above the "photo mode" words) (make sure your scolled to top, you can scroll down in that menu)
It will then popup 'focus manual' and on the left side there is a big slider (above the zoom slider), you can drag that to manually focus your camera.

someone who has had this app for a while.
Your welcome.

Open settings in open camera or the phone?

Thank you! The secret is in finding and using Camera2 API.

My Hauwei Mate 9 has manual focus, ISO, and shutter speed options. I use it frequently for sunsets and stage lighting.

Only 8 years later, the Moment Pro Photo app can now do this. May not be available for every phone, but it works as advertised on mine, specifically the manual focus.
https://play.google.com/store/apps/details?id=com.shopmoment.momentprocamera

The linked app does no longer exists on Play Store.

@Robert Thanks, it looks like Moment stopped development on Android over a year ago... They have some alternatives recommended, but I haven't used any of them personally so not sure if any support manual focus: https://9to5google.com/2020/02/28/moment-pro-camera-app-android-support/ (As well there is another answer that is more recent than mine that looks like it references a good app, too, maybe?)


text:
How can I turn off the "allow automatic updating" for an app?
Once I've checked off the box to "allow automatic updating" for an app in the market, is there any way to undo this without uninstalling and reinstalling the app?
Moto Droid running 2.2
UPDATE:  Apparently I am losing it.  Originally it happened with PDAnet.  I accidentally clicked the checkbox and as soon as I did the option disappeared.  I tried restarting the market, restarting the phone but the option never reappeared.  I uninstalled it and reinstalled it and I had the box back, unchecked.  I was afraid to test it out on other apps until the answers below confirmed that either it was an isolated bug or I was crazy.  Needless to say I have the option to uncheck it now.

On the HTC Incredible I just searched for the particular app in the market, selected it and unchecked "allow automatic updating" from there. Hopefully it works that way on your phone (and others).

That is odd. I don't have that option. Once I click it, the option goes away and apparently doesn't com bacl.

That's extremely strange - gary's answer is right for me on my Nexus One. The checkbox is always there for me.
Which app are you talking about?

I noticed the app eventually disappears from my download list after I set it to auto, that's why I had to search for it in the market. It's surprising that would differ between phones.

It's not doing it any more. After I uninstalled an reinstalled the app, it works as you described.

I had to kill the app before the checkbox appeared. Perhaps you can't change this setting in a running app for some reason?

@user3090 It's possible, you'd have to try it out on a couple apps.

@user3090: I've found that you can't do it on an app that's updating or installing but I haven't had a problem doing on apps that are running.

I just went to Market | Downloads and selected the app. The "Allow automatic updates" checkbox is at the top of the page and checked, allowing me to uncheck it.
I also have a Motorola Droid running 2.2.
Is there a particular app with this behavior? Maybe it's a system app that requires automatic updating.

It was PDAnet, but now it appears to be working fine just like you guys said.

I just had this happen to me (HTC Incredible, Android 2.2). An app updated automatically, I decided to turn auto updates off, and the checkbox was gone. Happened with two happens, My Tracks and Maps, both from Google. I found that if I pulled down the notifications panel and tapped on the "Successfully Updated" message for the app to make it go away, then returned to the Market page for the app, the checkbox had reappeared and I could disable automatic updates. Tapping the notification also starts the app, so it could be either removing the notification or opening the app once after the update that made the checkbox reappear.


text:
OS 2.2 on the Samsung Moment

Possible Duplicate:
When will my phone get Android 2.2 (FroYo)?

I currently have a Samsung Moment which has OS 2.1. Will I ever be able to upgrade to 2.2?
Is the hardware capable of handling 2.2?
If so, when will this happen?
What's the best way to be informed of any announcements related to this upgrade?

As of right now there will not be an official 2.2 release for the Moment.  Here's a thread to keep updated.


text:
Does the T-Mobile G2 have 2 GB or 4 GB of storage/memory?
I just received my new G2 from T-Mobile, and I checked the settings, and it has 2 GB internal storage. However the Google Phone site says it should have 4 GB internal storage. What is the deal?

Please DO NOT use URL shorteners on this site.

The G2 does indeed have 4GB of internal storage, but not all of it is visible to the operating system.  The internal memory (/dev/block/mmcblk0) shows up as 2256 MB which place it solidly in the this-is-4GB-of-memory camp.
There are several reasons for confusion on this point. Of the 2256MB of internal memory visible to the OS, 1.3GB is allocated to /data (Storage for apps).  This 1.3GB is what you see when you look at "Internal Phone Storage" in Settings->SD Card & Phone Storage. Partitioning in this was has been standard on all android phones.
The new part with the G2 is where the rest of the 4GB of internal memory are.  There has been wild speculation on this point, but a backup copy of the entire OS portion of the phone or space for future updates make the most sense.

The G2 is indeed supposed to have 4Gb but the Desire Z (which is G2's twin with Sense, for Europe) only gets 2Gb.
It seems like a mix-up occured somehow between the 2 phones, because a lot of G2s only have 2Gb.
I guess T-Mobile knows the issue and maybe you could get another phone.


text:
Make my screen dimmer than the lowest setting available on my Moto Droid?
I primarily use my phone at night and any screen that is white is super bright, even when the brightness is turned as low as it can go (0%).  Dolphin HD has an add-on called Dolphin Brightness that actually turns the screen's brightness down lower than the 0% setting in the Settings menu.  Unfortunately, as soon as I leave Dolphin HD, it goes back to the stock brightness level.  Is there anyway to dial the brightness level down like the add-on, but for every app and the home screen?
I have tried several apps that give you access to brightness control, like Quick Settings but they simply give you the same level options that the stock settings menu gives you.

You could try this post on the droidforums.net that has a custom app to manage brightness. Requires root though.

That worked exactly how I needed it to.  Thanks!

I use Dimmer which gives me a slightly lower level of brightness than the stock settings ;)

Thanks but this didn't make my screen any dimmer than the stock settings allowed.

While I prefer the app kchau suggested because of it's simplicity, this one works as well: adjBrightness

Here's one that works well and doesn't require a rooted device: Screen Filter