text:
What are some solutions for remotely connecting to an Android phone?
I sit at a desk for most of the day, and having my phone (Sprint HTC Hero) sitting next to me is very useful, but it can be distracting to move my focus away from my PC to control my phone when notifications come in.
What are some good solutions for connecting to my phone and controlling it over WiFi or USB?
I understand that I would need my phone to be rooted for most of the solutions out there, and that multi-touch functionality would probably have to go out the window.
Note: I am on a Mac, but solutions that require any platform should be considered when answering.

Yes, rooting is usually (but not always) required. The following are some options:

Android Screencast: Probably one of the more easier and popular sol'n
Google Code Project "Android VNC". Have to search for it, I can only post 1 link at a time right now...
Droid Explorer: App from Marketplace
Android VNC Server: A guide that uses a different APK from either sol'n above

Try them out and see which one gives you the best options.

Android VNC Server is a bit complicated to set up, Android Screencast requires the SDK to be installed, and Droid Explorer looks to be a Windows-only thing. I am going to edit the question to reflect that I am on a Mac, but all platforms should be considered.

Installing the Android SDK is incredibly simple. Just download the file and follow the directions. Small price for a sweet solution with Screencast...

I'm not completely against using Screencast, and in fact I will probably end up setting up the SDK anyway.

I am now using Android Screencast, and it is spectacular. Exactly what I was looking for, actually.

Maybe you should give the Android-Notifier over at GoogleCode a try when using a Mac or Linux. The Android-Desktop-Notifier works fine when using Windows.

Although it wasn't quite what I set out to find, I am going to give this a try today and see how it goes. Maybe I was asking the wrong question? :)

This does seem like a good solution, but it's not as full-featured as I would like. Note: I set all the notifications to stay on the desktop through the Growl config, so that I wouldn't miss them.

I am going to make this the accepted answer. I have been using it for a bit, and wish that it would send all notifications, but it works great for what I actually needed to do in the end.

I took away the answered status, not because This is not a good answer, but rather that the accepted answer provided a better fit for my needs. I still use Android Notifier, though, as it is nice to be able to see who is calling from my desktop, rather than having to open the screensharing session.

Never even considered this until your question, but here's what I've got working pretty well -- droid VNC server from the market. Fairly quick refresh (as fast as I'm used to on VNC), better than the SDK screencast or Droid Explorer. Even has http server support built in -- in fact, I haven't tested yet with a desktop client, but the http/java client works well enough.

GTalkSMS (Google Code Project Page) is a alternative for android-notifier which works over XMPP (GTalk, Jabber). It allows you to control various aspects of Android, includes a SMS/Call/Battery notification and reply system. Additionaly it is able to send and receive files to and from your Android device. There are many other features too.
Using XMPP as transport, the "desktop app" can be every XMPP Client. Which is one of GTalkSMS big advantages, as it does not need a dedicated desktop app.
Note: According to the FAQ I have to disclose that I am involved in GTalkSMS. GTalkSMS is an open source GPL licensed Android app. Everyone can contribute.

This is the third answer I've seen from you recommending GTalkSMS. Do you have an affiliation with this product? If so, please review the disclosure requirements in the [FAQ#promotion].

PicMe works surprisingly well as an alternative to VNC.
I recommend using it over Wifi, though. (as opposed to 3g)
http://www.appbrain.com/app/com.bw.picme

MAXS (Modular Android XMPP Suite) allows remote connections to your Android device over XMPP. It allows you to control various aspects of Android, includes a SMS/Call/Battery notification and reply system. Additionaly it is able to send and receive files to and from your Android device. There are many other features too.
Using XMPP as transport, the "desktop app" can be every XMPP Client. Which is one of the big advantages of MAXS, as it does not need a dedicated desktop app. Although there may be one in the future.
Note: According to the FAQ I have to disclose that I am involved into MAXS. MAXS is an open source GPLv3 licensed Android app. Everyone can contribute.

Just tried it and it works perfectly! I have been using GTalkSMS in the past, but it was buggy and the last time I installed it I couldn't even connect to XMPP. I also like the idea of modular design, which aligns well with Android permissions model. Great work!

Thank you. I really appreciate your feedback. Please note that because of a bug in Android 4.4(.2) the service may not run stable on those versions. Also there is a issue with some servers that support privacy lists, that should be fixed in the nightlies.. Feedback welcome.


text:
Can I automatically check in to Foursquare?
Is there any app or setting that will automatically check in to foursquare when I arrive at a venue without having to take out the phone and click the app?  Preferably something where I can mark "favorite" venues to check in to, such as work.
Thanks

There is an app for iOS called "Future Checkin" that does this.

Won't this drain your battery in a hurry? Leaving the GPS as active would be brutal for battery life. Does foursquare accept cell network based location for checkins?

@Josh Yes, foursquare does accept cell network locations.  I usually check in to work off the cell location because I don't get GPS inside the building and I forget to do it in the parking lot.
Now, if I had an app that would check in from the parking lot automatically for me...  ;-)

Tasker can do it, using the foursquare API and the HTTP POST task
In the http post task, fill out the form as follows:

Server:port -> user:pass@api.foursquare.com
Path -> /v1/checkin
data ->
vid=362349
private=1
facebook=0
twitter=0

vid is the numeric id you can get from foursquare.com by looking up the venue. I have it set to not share auto checkins with others. You can also use a tasker variable for VID and define the VID from other events.. IE, I have my office assigned by 'cell near', same with the park where I walk my dogs.. I just call the named tasker task and it checks me in when I get to that location. I follow it up with a 'Notify' action to let me know it checked it, and what venueid (this was mainly for testing..) You will want to use a phone number login for foursquare, not a emailaddress.. the @ sign in the email will confuse the http post function.

Some of these may meet your needs better than others. Not all are free.

AutoSquare
Checkin Assistant
4SquareMinder
Hopscotch

Those are what I am looking for, but the reviews on all four each say they don't actually work.  Have you used any of them, and what was your experience?

I've not. I'm not a big FourSquare user.

The old HTTP POST task method with Tasker doesn't work anymore, ever since Foursquare updated their api.
This FsIntents app does the job though. Works really well!
https://market.android.com/details?id=com.joaomgcd.intents&feature=search_result

I would also suggest Radii Auto Checkin.

I made a newer app that does exactly what you asked: Check Me In
Non commercial and free to use.
The problem I had with the tasker approach is that it doesn't include your location in the http request,
a tasker checkin is not valid for your mayorship.

Your getting into Tasker or Locale territory here (both are apps you can download from the marketplace). Both apps allow you to configure anything you want on your phone and would probably allow you to configure this. You would need to setup GPS points and actions that are triggered by entering those GPS points in either app. Keep in mind this will increase battery usage as your GPS will have to beacon (per how you configure it) to determine if you enter those locations.
Might actually take less time and be all around easier to make a shortcut on your phone to Foursquare and just open it. Rather than go through and program one of those apps which would take some time.

I have Locale, no idea how to hook it to foursquare though.  Taking the phone out of my pocket to click the link is easy enough, but an annoying step and I sometimes forget.

Take a look at Tasker. It will cost a few dollars and have a very steep learning curve, but once you understand how it works it is easy to configure it to interact with other apps. I haven't used Locale before so I'm not sure step by step how to do what you want, but I think it can be done with Locale too.

So I am looking at Tasker, I can start the foursquare app, but I can't see how to make it actually check in.  How exactly were you able to automate the check in part?  Thanks

Sorry, I haven't tried this myself, I just know it's possible with Tasker. I'm not really an expert with either application so I may not be able to provide a lot of help in configuring tasker to do this. You might want to ask another question here for help with that if you can't figure it out yourself.

Fist time I have been let down on stack exchange.  How do you ^know^ it is possible if you have never seen it done?  Your answer was "spend some money on a wild guess I have never seen work"  :-(

I don't believe I ever said, "Go buy this app", as my wording was "probably" and "you may". Furthermore, Tasker has an excellent website/forum with people way more brilliant then myself dedicated to helping their users with requests like yours. So why not check that out as a resource. I know this is possible because I have read about others using Tasker to interact with apps, I think there was a question about it on this Stack Exchange website try searching for tasker on this site. All I know is how to do what you want at a high level, and my question reflected that.

source: Stack Exchange

license: 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/2.5/

sort: votes


text:
HTC Magic with OpenEclair: Factory reset doesn't work!
today I got an old HTC Magic phone with OpenEclair (Android 2.1-update) installed on it. Unfortunately there is still the Gmail account of another person linked with it, which I'd like to remove. However, for doing so, you need to do a "factory reset" on the phone. So did I, the phone rebooted, but the data (apps, settings and the account) was still there. Nothing had been removed!
Anyone has an idea what could be the problem and how to fix that?
Thx a lot!

You didn't do a factory reset then, but probably a soft reset. To perform a factory reset from the Home screen press Menu > Settings > SD card & phone storage > Factory data reset > Reset phone > Erase everything. That should take you back to square one. Reply back with a comment if not.
Update:
Boot into the bootloader: Completely power off the deivce. Then hold down the Back button and press the Power/End Call button to restart your phone. Keep the back button held down till the bootloader menu appears. From here do you have an option to wipe, reset, or factory reset (or something along those lines)? If so try it.

ehm... "SD card & phone storage" doesn't contain a "Factory data reset". What I did is "Menu > Settings > Privacy > Factory data reset > Reset phone > Erase everything". That didn't work however

Huh, I pulled that from HTC's website. And if you search there are plenty of other sites that state the same method for factory reset. Try the following update in my answer above...

Yes, I've seen the wrong path on many websites as well...Just did a reflash :) I was lucky and the OpenEclair update zip was still on the SD card. So that works for sure. (+1 for your help)

So you are running a custom ROM? Wiping Data, cache, and Dalvik cache before doing a reflash usually fixes most problems. If you have any future questions it helps to post that the phone is rooted. I probably would of suggest to just reflash.

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


text:
Are there any command line SSH clients available for rooted Android phones?
I of course have ConnectBot, but I'm looking for something I can script.
Edit: To clarify here, I'm not interested in running scripts from a terminal. What I want to do is run an SSH command in an automated/scheduled manner. Tasker and Locale Execute are the equivalent of cron, all I need is the 'ssh' command to run from the script.

For scriptability, I'm intending to use Tasker, either directly or via Locale Execute Plug-In http://www.appbrain.com/app/de.elmicha.app.LocaleExecute

You can install the Terminal Emulator from google. Alternatively there is the Better Terminal Emulator Pro. I tried the Terminal Emulator on a non-rooted phone and it seemed to work fine.
Better Terminal Emulator Pro includes the dropbear ssh client, which can be launched from the command line or via a launcher. More info from the authors.

Terminal Emulator force-closes consistently on my device, and apparently on lots of other peoples' devices. I also don't see any indication that it can be run from Tasker, or from the command line.

Turns out that Better Terminal Emulator Pro does include the dropbear client binary. Update your answer to include that info, and I'll accept it.

Ideally, you should never use closed source software like Better Terminal Emulator Pro for anything cryptography related.  I'd recommend building dropbear ssh directly from source using the Cyanogen people's instructions, that's probably all BTEP did.

There are various open source android applications that install their own dropbear ssh client copy too, simply adding a symlink makes it work under Google's Terminal Emulator.

your link for terminal emulator from google  http://www.androlib.com/android.application.com-android-term-jpAz.aspx   says  "This application seems to be removed from the Android Market"  I see no 'terminal emulator' by google in google play store. The first result in the google play store is Android terminal emulator by jack palevich but it has no ssh.

Since my original question was about an ssh binary, and there is an answer for that, I'll accept that answer. However, there is another way to do what I wanted to do, kinda, that might be interesting to someone some day.
Tasker + ConnectBot can be used to execute arbitrary remote (or local, I guess, but Locale Execute is better for that) commands on a schedule.
Step 1: Set up your connection in ConnectBot.

You can have duplicate connections in ConnectBot as long as they have different aliases. You have to rename one first (away from user@host) in order to create the second. Long Press and select "Edit Host" to perform these changes.
You probably want to set up an ssh key without a password so that you can use this for automation.
Once the connection actually works, you can use "Post-login automation" to add the remote commands you would like to run. Make sure there is a blank line at the end so that enter is sent after your last command. Use enter or ; to separate commands. I suggest using something like "echo hello" as a test until you are sure things are working, and "exit" at the end if you don't want to leave the connection open.
Test this in isolation.

Step 2: Create a Tasker Task to call connectbot.

Create a new Task in Tasker.
Add an Action. From Misc, select "Action Intent"
The fields are:

Action: android.intent.action.VIEW
Cat: Default
Data: ssh url, in the form of "ssh://user@host/#alias" (without the quotes). The alias, user and host here must match the alias you set up in Step 1.
Target: Activity
Click Test. Connectbot should open and your commands should execute on the remote host.

Step 3: Use this Task in Tasker however you would normally.

Is there a way to define the connection programatically, i.e., via Tasker and calling intents?

I'm not sure about that. I don't recall exactly how I found the above Intent information, but it's basically a standard ssh URL. There are tools that can investigate Intents for apps, but I haven't used those.

I can add that if you remove the defaults for ConnectBot and have another ssh client installed (BTEP, for example) then ssh URLs will prompt for which app to use. This underscores that the above is something of a standard, both "VIEW" and the ssh format. The only thing specific to ConnectBot in this case is the #alias on the end.

I know it's an old thread but wanted to +1 the comment about BTEP
I'm also using BTEP's ssh binary though I just call it from it's path instead of linking it
/data/data/com.magicandroidapps.bettertermpro/bin/ssh root@192.168.1.1
or generate a pair of keys and use public key authentication
/data/data/com.magicandroidapps.bettertermpro/bin/ssh -i /data/data/com.magicandroidapps.bettertermpro/home/.ssh/id_rsa -l root 192.168.1.1
I use the above command from SL4A r4 in various scripts and it works fine :)
before I could do this I needed to chmod a+x /data/data/com.magicandroidapps.bettertermpro/home/.ssh
once this is done and you backup/restore BTEP with TitaniumBackup the permissions are kept this means if you flash a new rom you can just restore the apps and all your scripts will work again

I have successfully used BotBrew Basil Experimental when running Android 4.4. BotBrew Basil Experimental is based on apt-get so after installing APK and bootstraping I just did apt-get install dropbear in a root shell to install SSH client (and server).

Install terminal emulator and quickssh. Quickssh also includes dropbear. Does not cost you money, which it should not because this is surpassingly simple and it's based on dropbear.
https://play.google.com/store/apps/details?id=berserker.android.apps.sshdroid
find -name ssh user@host
Problem solved

looking at that program(sshdroid by beserker) I see only an ssh server gui. I then tried terminal emulator by jack, but see no ssh command added.   And looking for quickssh, in the play store, I don't see it. I see only quicksshd(by teslacoil) which has a small price and no doubt isn't an ssh client.

Terminal Emulator absolutely supports scripts*. Don't believe the nay-sayers. You will need to learn BASH shell scripting, if you're not already familiar with it. Write a script and save it on your SD card. Run it with "sh filename" from Term.
If you clarify what it is you want to "script" having to do with SSH, I can likely give you a better recommendation.
*(It's actually the Android OS that supports BASH scripts, Terminal Emulator just grants you access to the Android shell, therefore scripting is inherently possible)

Updated the question. I don't want to call scripts with ssh, I want to call ssh from a script.

Exactly what I was getting at. Again, if you want to give some specifics I may be of more assistance.

To call ssh from a script, all you need to do is set up ssh keys. There are a million how-tos on the web, but there's a page on the Cyanogen wiki that might be more suited to Android users. Once you set up keys, your general ssh command would look something like this: ssh -i /PATH/TO/KEY USER@IP
You can put that in a script, run it, and you will be logged in to the remote machine.
But here's what I think you're wanting to do. To only execute a command on a remote computer, just add it in single quotes: ssh -i /PATH/TO/KEY USER@IP 'command'
That executes the command on the remote machine without logging you in. You can run commands with options, pipes, redirects etc, but it's sometimes better to keep them simple. Except for the delay, it looks the same as executing the command(s) locally and can be used the same.
Locale Execute can be picky about what commands it will run. If it doesn't work, try putting it in a script and using Locale Execute to run the script.
Also, I have had problems with the ssh binary that is on the phone and found that moving it from /system/xbin and creating a link at /system/xbin/ssh to the Better Terminal Emulator ssh binary is more reliable. The BTEP binary is in /data/data/com.magicandroidapps.bettertermpro/bin/ssh

Botbrew is a package manager for Android, in the likes of okpg for BSD or more recently, like APT for Debian. Pretty nice. It doesn't have an ssh client as a package, but it doesn't look too hard to put in if you're used to building your own packages. And it could be useful as a toolchain for when you want to build other C/C++/etc binaries and libraries.
So albeit this isn't a direct answer, it may be useful for some people to know about.

Nice. It's also in the play store: https://play.google.com/store/apps/details?id=com.inportb.botbrew

Sadly, it looks like botbrew.com is down, which blocks installation.

That's weird, because I think the packages are hosted on github.

Now there is a terminal called Termux that you can apt install openssh in. Available on Google Play Store, F-Droid, and Github.

please link the app from Google play

AndFTP can connect over any port you configure so I'm sure it could connect over SSH. But I'm not sure how easy it is to script usage of it. I use the app myself all the time for my hosting server and it works great.
Not sure if you can SSH with Terminal Emulator, but you could try it too. I use that app frequently for doing things I'm too lazy to do with ADB.

AndFTP is great. Is Terminal Emulator scriptable?

I don't think so, not without another app. As you mention above, Tasker is probably the way to go with this.

Use an ssh plugin for Tasker? Don't need root or ssh binary then.

Name one? Your answer could be helpful then :)

There is "SSH Plugin Paid" for Tasker, but it is old and not anymore developed. The error handling is nearly not existing, so it is just ssh and not much more. But it works.

If the simple ssh client is interesting to you, I made under Android-NDK Bionic library drobpear-ssh-client-only.
ftp://ftp.simtreas.ru/pub/my/dropbear/dropbear-ssh-only.tgz
sourse and ftp://ftp.simtreas.ru/pub/my/dropbear/ssh binary

This is not a generic answer sadly and will work only on one of x86/ARM/MIPS, probably ARM. Also the linked content will most probably disappear at some time. Most custom ROMs already include a working pure cmdline ssh client.

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


text:
Is there a way to customize the services in the direct contact shortcut?
I added a contact shortcut to my home screen, and I noticed that the Messaging icon in the pop-up changed to Handcent when I changed the default messaging app on my phone. One thing that's always bothered me is that there's a Facebook icon in the pop-up. Is there any way to customize what pops up when you press on a contact shortcut?

My guess is that it will either require root access or will fall into the category that my question about customizing the "Share" popup, un-customizable even with root (at least thats what the consensus was).

If you stop syncing Facebook with your phone book, that option will disappear.  I realize this isn't an answer to your question about customizing the pop-up but it may just serve your needs until a more skilled Android ninja happens upon this question.

I've never synced Facebook with my phone book.

Wow, I didn't realize it, but one of the Android updates must have turned on Facebook sync in my contacts. It has now been removed.

What phone make and model do you have? What version of Android? What are you doing to add the shortcut for the contact?
If I go to add a shortcut after long clicking on the homescreen I get an option for "Person". Then I choose the individual to make a shortcut for and I have the option of some things to add for that shortcut. If you choose contact card or quick contact you get a decent amount of options. Contact card gives you everything for that contact. Not as many options as you might want sure, but whatever you select from the contact card will use the phone default.

As I said in the question, its a shortcut to a contact. Long press, add shortcut, contact. Phone make doesn't matter. Version 2.2.

Phone does matter which is why I was asking. Different phones use different launchers and different contact systems which changes the answer. If you have an HTC phone then chances are you have HTC Sense running and I would have an easy time helping you as I have an HTC phone running an HTC based ROM. If you are not using an HTC phone or are not using HTC based ROM I could still help you but would need to load my non HTC based ROM. Since you say you selected Contact after choosing shortcut I'm guessing you are using a non HTC phone. Correct?


text:
How do I install the new Gmail app on Cyanogen?
The same thing is happening with the new Gmail as happened with Voice Search. This again?
adb remount
adb shell rm /system/app/Gmail.apk
adb uninstall com.google.android.Gmail

Okay, so just FYI that DIDN'T work. And now I don't have Gmail anymore.

I installed it simply by going to the market and updating to the new version. I know I have it installed correctly as it popped up a "What's New" dialog on first run.
I have a HTC Magic 32A with CM6.

I tried that but I get the "Installation of 'Gmail' unsuccessful" message I always get for updates google apps on Cyanogen.

I did the same thing on my Motorola Droid on CM6 without any problems.

I have a Nexus One and so far nothing is working. Might upgrade to a nightly for fun, especially since gmail is gone now.

Okay, like every computer issue a reboot solved the problem. After I deleted Gmail I couldn't install the new Gmail but after restarting my phone the install went fine.

Good to hear that it worked for you. I do have a occasional weird problem where it thinks that I'm running it for the first time and keeps popping up the "What's New" dialog.

You need to install the Google apps for Cyanogen. Download the signed zip from the link below, there is one for the ROM (you don't need) and one for Google apps. All you have to do is install it from recovery just as you would a custom ROM. Should solve your problems...
http://forum.xda-developers.com/showthread.php?t=691366
UPDATE:
The link above is for the HTC Magic. The one below is for Nexus One. Not sure if there is a difference in the zips, but just in case use this one for Nexus One.
http://forum.xda-developers.com/showthread.php?t=723844&highlight=google+apps

I did that before and all was well but then I went to install the new gmail app (with priority inbox) and I kept getting the "installed failed" message. I'm going to have to install from recovery again though to get it back since I ran "adb shell rm /system/app/Gmail.apk" in an attempt to install it later from the market (which still failed even after running that).

So attempting to reinstall with the file in that link still does not work? Try it again. If it still doesn't work then you are probably going to have to reflash Cyanogen. Before doing anything with ADB you should always create a NAND backup. I wrote a guide on all this for the Evo but most information would still apply to other phones. I recommend reading it... http://forum.xda-developers.com/showthread.php?p=8104698


text:
Is Skype available for all Android flavors or just Verizon?
I see that Skype offers an Android version, but it only works on Verizon? Fring used to connect to Skype, but now it looks like they don't. Is there no Skype client for Android?

See also http://android.stackexchange.com/questions/9664/can-i-install-skype-on-my-xperia

Skype is avaiable now for everyone on the Market, in case you are still looking!

Android 2.1 or later required.

Press release: http://about.skype.com/press/2010/10/android.html

As of today...Skype is not working on my ATT Samsung Galaxy-S Captivate. Fails to download...and others are complaining of problems.

As of Skype 2.1 for Android (August 4, 2011), according to the Skype Blog.
The following Android devices are supported:

Acer A5
HTC Desire (2.2)
HTC Desire HD
HTC Evo 3D
HTC Evo 4G
HTC Flyer
HTC Incredible S
HTC Sensation
HTC Thunderbolt - Verizon (2.2) (US only)
LG Revolution - Verizon (2.2) (US only)
Samsung Droid Charge - Verizon (2.2) (US only)
Samsung Galaxy S
Samsung Galaxy S II
Samsung Galaxy Tab
Sony Ericsson Xperia mini pro
Sony Ericsson Xperia PLAY
Sony Ericsson Xperia ray

Right now skype for android is limited to VZW, but you aren't missing much. You can't use it to make skype out calls over a data connection, only skype to skype calls.  You can make skype out calls but VZW redirects the call over their voice network so it uses your minutes. Also, you can't use it over wifi, only on 3G. I believe VZW is behind all these restrictios, and I believe that the carrier restrictions aren't from skype either.  Most carriers will block the app unless its gutted like the skype app for VZW.  If you want a full featured skype app, don't hold your breath. I suspect the carriers will continue to work dilligently to f#@k up the experience. If you are looking to make data calls, look into finding a good SIP service and use SIPdroid.  You could also try frings new fring out service but I'm not very optomistic about that one.
Update: It's now possible to make Skype Out calls over 3G with some hacks

If you want to make skype calls over wifi you can use Fring or Nimbuzz, both should be available in the market. I think you can also do calls over 3G but YMMV and it will eat into your data plan like a fat kit in a chocolate warehouse.
If you are on Verizon Wireless in the US or on Three in the UK (Possibly elsewhere) you can download an official skype app that only uses data for presence (who's logged in etc), when you want to make a skype call it calls a toll free number which is then redirected to Skype so it's not using your Data allowance and not killing the network for others. I don't know about the US but in the Uk this only works over 3g and will often fail to work if you have wireless enabled and are within range of a Wifi network.
Using this App on Three(UK) you can make Skype out calls and even configure your phone to automatically use Skype for international phone calls instead of just dialling the number normally.

Skype has blocked Fring and Nimbuzz now, and presumably any other client that used to work.

There was an official Skype Lite app available on international Android Markets for quite a while (it was definitely on the UK Market at one time as I had it on my old phone), but they've pulled that totally now, and as far as I know it is literally only available to one carrier in one country, which seems like a bizarre decision.

See this other question for the various Skype apps and options available now depending on your phone model and what your phone network allows http://android.stackexchange.com/questions/9664/can-i-install-skype-on-my-xperia

Not until Skype opens up their app on other carriers. Which rumors keep coming out that it will happen soon, but hasn't yet.
XDA has some threads on attempting to get Skype working on non VZW phones, but no dice.


text:
How usable is the Android browser on "average" web sites?
I'm thinking about buying an Android phone to use for light web browsing while traveling. How well does the Android browser work on average web pages? Besides the smaller screen and lack of flash are there other limitations? I'm particularly interested in using it access my bank accounts which has a kind of complicated log in system. Anyone had any experience here?

For the record (this question is old, I see) -- Chrome for Android is now available...

I'd say it's highly usable, I have for the most part stopped using a PC outside of work, my phone is now my primary browsing device.
On the rare occasion a site doesn't render properly, or a particular video is not available on mobile (this happens a lot on YouTube) you can email a link to the website to yourself to check when you are on computer in 3-4 clicks.

FYI, Samsung is coming out with a Galaxy S device that has a 7" screen. Might want to check it out if all you want to do is browse Internet.
As far as browsing on the phone, I don't mind so much. I have an Evo with the 4" screen and its not bad, but not as good as a netbook for high use Internet browsing. My recommendation would be to get an Android tablet or netbook for extended Internet browsing.
That is of course unless you are planning on consolidating devices. In that case I'm sure you will enjoy the experience, but don't get a phone with a screen smaller than 4". It sounds big and huge yes, and I thought that too, but seriously worth it for the extra viewing space.
With Android 2.2, viewing flash sites is really easy now, you essentially select the flash to run as they appear on sites, flash does not automatically load. That is what I get with Dolphin HD browser. Pinch and zoom makes viewing sites fairly easy as well, use a browser that supports it.
If you go this route you might have to find a setting that makes the website think you are browsing from a desktop system. Otherwise there are some sites that will detect a mobile device and present you with that site. This might limit you ability to surf.

Apart from the screen size, the thing that bothers me most is that it allows you only to open 4 tabs (windows) at most. For example, if I am browsing a news site, I first skim the main page and open the interesting headlines on new tabs, without losing the focus on the main page. I am so used to tabbed-browsing on Firefox, it disturbs me not being able to do that on my phone. Also, there should be an easy tapping gesture or shourtcut or something like that in order to navigate easily between tabs.
But from rendering point of view, I think it definitely deserves five stars!

This is somewhat dependent on the OS version and UI skins.  If I recall correctly, HTC SenseUI on the Droid Incredible allowed for a few more tabs than the stock OS.  In ICS on the Galaxy Nexus the limit seems to be bumped up to 16.

This is a very 'personal' question. Some websites can be a dealbreaker for you (the banking website) while most sites just work (for me anyways).
I'd suggest to create a list of your most visited websites and check how they look from a mobile browser, and do test a couple of them.

I think for mobile browsing in general, a lot of sites now have mobile versions which make surfing on your phone a lot easier. So, regardless of what device you're using, the mobile site is optimized for a small screen.
Now, in regards to the Android browser (or any other browser available in the Android Market), you can easily zoom in on areas of interest on the site, either by double tapping on the area you want to zoom, or by pinch zooming. And, I've never had any problem loading websites. So, issues with general browsing should be minimal.

I heavily use the android browser.  Offhand, I can't recall visiting any sites that Froyo/2.2 hasn't been able to handle - even sites with mobile versions that I've switched to non-mobile.  EXCEPT video.  There have been sites for which videos have been a problem.  Sometimes flash video, definitely the unsupported Silverlight video.
If anything, the device limitations of screen size or on-screen keyboards have been an issue - not the browser itself.

I too have found the browser to be quite capable.    Examples of sites I've used recently: nytimes.com (including annoying flash ads); Outlook web client (requires zooming in before almost every "click" due to small controls); Admin interface for Squarespace.com (have not tried everything, but can reset user passwords, and other minor changes); priceline.com; weather.gov and probably more.     If you don't mind panning and zooming, it's quite tolerable, espcecially for something you can put in a shirt pocket.   I have a Moto Droid with 2.2/Froyo.


text:
Entering a backtick with the Swype keyboard
I have a Samsung Galaxy S and use the Swype keyboard by default (OK, I'm addicted to it).  Using Swype, I can't find the backtick character, `, which limits my ability to answer questions or add comments on these SE sites.  It exists in the Android keyboard, but going to Settings > Locale and text midway through entering a post is a pain, especially if I want to switch back to Swype afterwards so I have to do it twice.
I think I've done an exhaustive search of all the characters available (long press, extra-long-press, symbol key, etc.).  Does the backtick exist in the Swype keyboard and I just haven't noticed it?  If not, is there a way that I can customize the Swype keyboard to include the backtick?

BTW, it does look like the swype developers have been aware of the problem for the past 7 months. I would have thought it would have been fixed by now. swype.uservoice.com/forums/55960-swype-for-android-beta/… – Will Z Oct 19 at 13:25

If you only need the backtick for when you're entering code on StackExchange sites, then there's actually no reason to type the character.
Any time you're in a Question or Answer box, there's a set of icons just above the box, pressing the 101 010 button puts a pair of matching backticks into the text box at the current cursor location, with some replacable text in between, now just type over that text with Swype (or paste over). Works perfectly on my Galaxy S with Swype enabled.
Edit
For more recent versions of Swype, see MiquelFire's answer where the backtick is now available as an extended character on the .' key beside the space bar.

Hah! I generally have my phone in landscape mode when using the web browser so I never even see those buttons, but it's easy enough to turn it 90 degrees.  I just realized too that I can type a comment into the Answer box, then cut and past it into the comment box!

Seems that backtick have been there on Extra-Long-Press-on-"." at least from SWYPE version 2.72 that is on my Samsung Galaxy S2.

Another confirmation that the back tick isn't on Swype. But, you don't need to dig that deep to switch.. Long press in the input area, choose "Input method" and then you can select the Samsung or Android keyboards. Another long press and two clicks and you are back to Swype.

+1. Didn't know you could change keyboards like that.  One of these days I'll have to RTFM. :)

Holding down the '. key will get you a menu of extra characters to type. I saw the ` there.
2012-10-09 Update: I recently check with the beta version of Swype, and noticed that the ` had moved to r4 key, but my original answer is still valid for the version of Swype built into my phone. Future versions of Swype may move special keys around, and you may need to hunt them down.

Confirmed that the latest version of Swype does allow this.

I've never used that symbol on my phone before, but looked in my version of Swype, not the Galaxy S version but still the latest update, and didn't find the backtick. Looks like you will have to send an email to the Swype team and hope they listen, or get around using it. Sorry man.

This doesn't really answer the question.


text:
Can I have notification sounds repeat every few minutes?
Is it possible on a Droid X to repeat the notification sounds on a regular basis (perhaps every 5 minutes or so)? When I get a voicemail, I want it to beep every few minutes to remind me to check it.

Missed Call will do repeat vibration patterns/notifications for SMS (per contact), missed/incoming phone calls (per contact),  Battery, Calendar events, device storage, etc.
Unfortunately this doesn't do voicemails, but if a missed call is good enough for you, then give it a shot.  You can also set it up to do different patterns/notifications per contact for missed calls (so alert you differently for a VIP than everyone else).


text:
How to show the battery percentage remaining in numbers?
At the moment Android 2.2 has a pretty incomprehensible icon of a battery that shows remaining strength.
Is there a way to switch that to a numeric display (like is available on the iPhone)?

if you use cyanogenmod, there's an option to show numeric battery percentage, and numeric signal strength in dbm on the status bar

That's good to know, I keep meaning to checkout cyanogenmod.

+1, far more useful than having a little battery bar icon alone IMHO.

Battery indicator is a free app that does this: https://www.appbrain.com/app/com.darshancomputing.BatteryIndicator
Unfortunately, it doesn't replace the stock icon, it just adds another that displays the numbers.  I'm not aware of any way to replace or change the stock icon, even with root access.

Press menu > Settings > About phone (scroll Down) > Status.
There's an item called Battery level, which shows the currrent battery level in %.
Also the part Battery use might be interesting. You'll find a list with Items that use the most battery there.

Settings > Display > More settings > Display battery as percentage.

This is not part of stock Android, are you using a custom ROM?


text:
How to close (shutdown/kill) the Android web browser?
I did read this question
What is the right way to close apps in Android? but I want to know how to close - that means close - application to save power and download limit.
My observations tell me that Back button brings me to the previous page (something I am not after) while Home seems to me leaves the page loading in background. So the question is how do I exit the browser.
I tried Advanced Application Killer but I don't think it worked ...
Using
HTC Desire on Android 2.1

The xScope browser has an "exit" option in its menu, worth a look.

Yes, this is the ONLY reason I keep using Dolphin Browser HD...it actually has an EXIT button on the main menu, that allows you to instantly shutdown the browser and remove it from memory.

Closing the browser has no benefit. The android subsystem manages the memory on the device really well and will free up memory from background applications if it needs it. As I understand it, it does this by saving the application state in a database on disk. If you run the application again, it can then rebuild its state from the info in the database.
If you want to stop the browser from downloading and you can't see the "Stop" button, press the menu button. This will bring up the address bar allowing you to press the stop button. Although if the address bar has disappeared then chances are your phone is not downloading anything, unless the site you are on has Javascript on it which is causing it to refresh elements regularly. If this is the case you are on your own.

You shouldn't want to close applications manually. Just stop loading the current page with the Stop menu item, and use the Home key. This will leave the app running in the background, but without costing power or wasting your download limit.

ok then, so is there any one button solution to that? Quite often the stop button is not on the screen so you have to "make it available" ...

also I cannot grasp how something is in memory and not costing anything ....

@Radek See @Barfielsmv's answer for that. Also, I'm not sure how it could cost anything, something being in memory doesn't cost power, and RAM is freed up automatically by the subsystem.

Applications are built to save their state to storage _at_any_time_, and to restore themselves from that state. They are also built to be closed by the OS at any time (e.g. when it needs the room for something else).
AFAICT, all applications share the same screen stack: opening an application's page "over" another one simply adds additional pages to the stack. The Back button just pops the topmost page off. The Home button pops all the pages off the stack.
The applications are still running and, if they are written as directed, will keep their previous state when you explicitly open them again. The difference between an application stored and an application waiting in the background is less than in a desktop OS.
Cheers

Open a new tab/window on your browser. Close the tab you were using and any others that were open, except for window/tab you have just launched, which should just leave you with the new tab/window which should be your home page. Now use the back arrow. That effectively exits out of windows and solves any java issues too.

The android designs says that when the user 'goes away' from the application the app should keep running for a fast start and for background music playing etc.
This means that what you're asking for is against the nature of android. Applications themself could choose to close themselves after you click 'a close button'. Since applications have to come up with their own solutions you can image that there is no 'one button solution'.
Using a taskkiller is a solution for this problem. A single program in the widget list to kill all unneeded applications for a performance and battery boost is a great help. I'm using Advanced Task Killer set up to keep my most used applications but to close all other rarely used apps.
There might be a browser with a close button but the one I use doesn't have a close button. Then again keeping open the page I last visited is a welcome feature.

but the last visited page shouldn't reload itself :-) otherwise it could be a non-welcome feature :-)

I tried Advanced Task Killer but the applications were still in memory ..

Using a task killer is a known cause of loss in battery life. The linux kernel that your phone is running is far better at manging itself than you are. It will fill up as much of the RAM with applications as possible to ensure that your device is speedy. If more RAM is needed, it will attempt to safely shutdown applications that are not being used. There are tons of articles on Google search results that outline why, here's a random one: http://geekfor.me/faq/you-shouldnt-be-using-a-task-killer-with-android/

So what you guys are saying that when I keep a memory hogging cpu cluttering game in memory my device should run better. Bollocks. There are a ton of google search results saying how good their results are when using a task killer and the explanation given doesnt even explain why killing processes uses more battery (should be 'restart' code and loading from mermory/network)

I just came upon this question - all in all I find it strange that on my phone EVERY application when pressing back is stopped ( active application counter is decreased by one ), while the 'internet' application is NOT STOPPED. If memory management is so good ( and I tryly believe it is, mind you ), that I would expect much more programs just to go back to the home screen ( in stead of actually stopping the application ). I really don't see whe the internet application should be left running - whether it consumes battery or not.

@ Edelcom: Done on purpose in case you want it to continue uploading in the background or if you want it to keep refreshing etc. Do feel they could have put an exit button like dolphin.

Removing the browser entry from the recent apps menu will kill the browser in the sense you mean, but it won't stop any ongoing downloads. For that, hold down the download notification until it shows a small menu with "App info" on it, tap that entry, and press "Force Stop" on the screen that comes up. If the app responsible for the download is the native download manager, also clear it's cache (maybe even it's data) to prevent the download from getting resumed automatically. This is applicable for Android versions below Marshmallow.

press and hold the browser icon until the inline toolbar appears, press the application info icon, there u can press "force stop"

I imagine this only works on specific devices or specific versions of Android. You may want to expand on this to provide more details, because this certainly does not exist on many of the devices I've seen.


text:
How can I prevent services from running in the background?

Possible Duplicate:
How can I stop applications and services from running?

Is there a way to prevent the service apps (or any other apps) from automatically running in the background?

You'll need to decide on a case by case basis. Generally, apps which run in the background need to do so to function, so if you don't want that, then uninstall it. If it's optional, they'll usually include a preference to disable it within the app.
You can kill any background service from Settings -> Applications -> Services, but that only kills them once, it doesn't prevent them from starting the next time you boot up your phone. It is a useful way to see what's running in the background, though.
Finally, a lot of apps that seem to run in the background actually don't. I have an app that provides background notifications about certain events when they happen, but it does it by scheduling recurring system alarms, where the phone will start my app up to perform the task and then the app will close. So it's open for brief periods of time only, which is much less of a battery drain.  Make sure you check the background service list I mentioned above to see whether something is really on in the background.

Agreed: uninstall undesired services

I know about settings->application->services, and other options related to background app, but I don't want specific app to run in the background automatically, and I don't want to uninstall it because I need it, for example email client, twitter, rss, it always run in the background to check or sync something, but I want they doing so only if I told to do so. not automatically and some apps doesn't have an option to do that. so its good to have some application to block an application from running, until I told otherwise

Generally, apps which run in the background need to do so to function, You're putting too much faith in humanity. ;-) A lot of times 80% of the app's functionality doesn't depend on running in the background, but the app gives you no choice on the matter from simple poor programming (or poor design).

I suppose you and I are both just speaking off the cuff? I don't have any real numbers to back this up, but I don't think it's anywhere near 80%. My instinct is that on this topic specifically, users are much more suspicious than developers are lazy. It's actually hard work to create background services on the developer's part, even lazy ones.
Also, I should rephrase - my app (Congress) doesn't need background services to function, but it does require it for some functionality. Both the functionality and the service are disabled by default.

You could try out App Quarantine.

Please include some description of the app, and also how to use it if possible. Note: this app doesn't work on Lollipop 5.0

@AndrewT. Lollipop wasn't out when that answer was posted :) Still, good hint for those stumbing upon this answer now :)


text:
Android and iTunes
Is it possible to sync an Android phone with iTunes? If so, are there any limitations?

There is also a question on this at superuser

Yes, you can actually use DoubleTwist in combination with TuneSync (or TuneSync alone) to sync with iTunes although you are limited to songs that are not DRM'd by Apple.
You can also do it without any app on your phone with Notpod (Windows only).
The only drawbacks that I am aware with either of these are not being able to use DRM and people have reported some unreliability.  The problem in general with syncing Android with iTunes is that it may work today but if Apple changes something in an update you may get locked out until someone comes up with another work around.  If you are all Android now, I'd recommend on cutting iTunes out of the picture all together.
Edit:  Here's a couple other options I've come across that are pretty awesome:

Dazzboard
iSyncr WiFi Add-On.  You need an app and a desktop client.  The app costs a little but the desktop software is free. This one seems like the coolest option so far.

Edit 2:  I happened upon another app...

Music WithMe: Syncs your phone iTunes over Wifi or 3G.  It doesn't stream the music, it download it to your phone.  Also, I don't think it can handle DRM'd tracks. It's little pricey at $15, especially with the currently less than stellar reviews, but it may be one to watch.

Dazzboard only fully supports some devices: http://www.dazzboard.com/help/

+1 for Notpod (previously iTunes Agent). It's just what I was looking for.

There is also Missing Sync for Android to sync your iTunes playlists (and associated files) to your phone.
It works pretty well.

Not that I am aware of, however you could try Double Twist for similar functionality.

The easiest way to do this is use Google Music, and specifically the Google Music Manager.

Go to music.google.com and download the Music Manager.
It will run in the background on your computer and upload everything in iTunes, including new downloads/purchases, to Google Music.
Finally just download the Google Music app to your Android and you are all set.

A few caveats:

This seems to be a one-way sync. So deleting a file from iTunes will not delete from Google Music, or vice versa
The Google Music app on Android is a little different from iTunes/iPhone model. The music is not automatically downloaded to the phone unless you explicitly set it up that way. By default you have to stream the music, which requires an internet connection.
Apple DRMed content cannot be uploaded to Google Music and therefore won't be transfered using this method.

Is there an easy way to set it up so the music is downloaded to your phone?


text:
What effect does tasker/locale have on battery life?
Locale and tasker look pretty cool. How much effect will they have on battery life?

For Locale, Both GPS and Wifi triggers can drain the battery more quickly.
Locale's built-in location condition can consider cell towers without GPS if you set the diameter of the location condition to about 2km.
There is also a Locale condition plugin, "Location (energy-saving)", which uses cell towers to determine location.  It takes advantage of the fact that the phone is already listening for towers.  The biggest potential drawback for using the energy-saving location is when you are in an area dense with cell towers, like a major urban downtown with lots of tall buildings (especially if you work higher up where lots of towers are visible to the phone).

I am the developer of Locale.
Battery life is a key metric that we test extensively.  The only feature in Locale that has any real effect on the battery is the Location condition.  At the time of this writing, the Location condition in Locale 1.4.3 can accurately detect 100-meter location changes within 4 minutes on average, while using 3% or less of the battery.
If you've configured Locale to turn Wi-Fi or Bluetooth on/off, then battery life may actually improve depending on the exact configuration.

What do you mean by "3% or less of the battery"? Is this 3% of your battery for each fix, 3% more draw above the background idle processes, 3% per 4 minutes, 3% an hour, 3% per day or something else?

We test battery life on a G1, Droid 1, Nexus One, Nexus S, Evo 4G, and a Tattoo (plus other handsets from time to time).  We set Locale up using all of the built-in conditions and settings, including about 5 different locations that are 100-meters in size.  We turn Wi-Fi off, Bluetooth off, 3G on, GPS on, background syncing on.  We turn Locale on and leave the phone alone for several days but move it between locations.  In this test, Locale uses 3% of the battery total.  If you're actually browsing the web, making calls, etc, then Locale's battery usage would be essentially 0%.

I am a long-time user of Locale and a fairly new user of Tasker. I find both to be very helpful tools in managing my device automatically.
I use Locale for all GPS-related tasks. Vibrate when at work between work hours. Silent when at home between sleeping hours. When I first installed Tasker I ported over these profiles and found that my battery life was decreased dramatically no matter how I tweaked the polling settings.
Tasker is more of a action/response application in my setup. When placed in the Car Dock, Tasker autokills the Car Home application, enables Bluetooth, and launches Google Navigation. When headphones are plugged in launch the Cubed music player. Disable vibration on all notifications when the computer USB cable is plugged in.
I don't mind running both or having paid for both but I was disappointed in that I couldn't accomplish everything in Tasker. The dual setup gives me at least 30% more battery life than running Tasker alone.
If you do choose Tasker, be sure to experiment with the polling frequency of GPS and network-based location. That also helps vary the battery usage dramatically.

If you trigger events by GPS co-ordinates (and possibly wifi), then they'll drain your battery significantly, like any other GPS app would do.
If you trigger events by date/time, etc. then you'll experience minimal battery reduction.  Often the benefits of these apps weigh beyond any downside, i.e. turning your brightness down or screen timeout down when your battery is getting low.

Yep. I use tasker to turn off my phone's sync feature when it's on battery power; that extends the battery's life noticeably.

don't forget that when using sensor based profiles.. combine them with non-sensor based..
like dont use a profile that will only check light level and adjust the display..
combine it with 'Display On' and a cooldown of some minutes.. and dont let it change level if it already has that level..
the battery use is in the hands of the user. check every profile you create if it uses any additional battery and if so.. tweak it.
always have your location checked on cell instead of gps and if more accuracy is needed, still have your gps triggered by cell near.. so you get near an area, that will turn on the gps.. trigger your app... and have it switch off gps as soon as app is killed...
when configuring cell near, let it 'roam' for at least a minute, so you get all the cells needed.
this kind of making tasks will make tasker a true battery saver.

I've been using Locale to turn on WiFi and to switch to 2g based on location and have seen battery life improve. This was on my Rooted g1/CM5 and also on my g2/CM6.
On my g2, keeping WiFi on at home and turning to 2g when at work improves battery life a lot. I also turn off Sync while at work.

As Locale, Tasker tries to minimize battery drain. Of course, if using GPS location, it needs to check GPS -- which itself consumes a lot of battery when permanently updating the current position. But there's an easy solution to this issue.
Combining location conditions is where saving can kick-in:

If you only need a raw position, stay with the Cell Near condition. As cells are either known to the system for telephony issues, this needs no "extra power".
If Cell Near is not exact enough, going with network based location is a little more accurate -- though this requires a little more battery power as well.
If you need an as-accurate-as-possible location, combine conditions. E.g. put a Cell Near condition for the raw location, and add a GPS position for more accuracy. Tasker then would use GPS only when the Cell Near condition matches. This way you have the best of two worlds: Energy saving while not close to the configured locations, and accuracy for triggering the desired action.


text:
swap space for performance

Possible Duplicate:
How will a swap partition/file affect the system?

so what do you think, is it better to use swap space or not for small memory phone such as T-Mobile G1 to increase responsiveness and overall performance?

Related: http://android.stackexchange.com/questions/2310/how-will-a-swap-partition-file-affect-the-system

I found it better to use compcache rather than swap. Basically -- a section of RAM is reserved and used as a swap space with compression. Even with the performance hit from compression, it was sufficiently faster than conventional swap that it was a clear-cut winner in performance.
CyanogenMod supports it (Settings > CM Settings > Performance, I believe). I'm sure other mods include it as well, but I am not familiar with them.


text:
How can I install additional audio/video codecs on Android?
Does android separate the module between video player and video codec? If so, how do we install more codec to the system?

The video codecs are limited to what is supported by the device. This suggests that the codecs are in firmware and not software codecs like you are used to on the computer. This means you will probably need to use something like Handbrake to convert your videos to the phone. Unless there are in the h264 or 3GP formats that all android phones support.
Reference: Act1 Video Player FAQ

not every H.264 media android support, it depend on the profile level, AFAIK my G1 only support baseline level, since I tried to encode a video using x264 using main profile the device can't handle it.

good point, there are many ways to encode h264 just like for DivX/XviD. It seems that only baseline is universally supported.

if the codecs are firmware how do some applications do that ? i am trying to play Quick time video and my default application cant play him but mx player  for example can ...


text:
What does APK stand for? What is the internal format?
Is APK an abbreviation for Android Package Kit? What about the file itself? Is it  an archive such as ZIP where during install the installer extracts and copies the files onto the file system?

Yes, APK = Android Package. It is an archive. This is a good question for the google.

Ironically, the google search is inconsistent on what "apk" actually stands for.

http://en.wikipedia.org/wiki/APK_(file_format)
APK files are a variant of the JAR file format, which are built on the ZIP file format, with a .apk file extension.

in fact, you can unzip any APK with any program that can read the standard .zip format. To do the reverse though, requires running the zip through a converter to ensure that the zip file has the appropriate metadata and signature (and folder layout).

incidentally, being the APK de facto just a renamed ZIP file, the first bytes (magic / header) are PK, so that's a reference to the extension too.

APK (Android Package) file is a file format which is created by Google. This format is one of the group members of Executable Files (similar to EXE, MST, AIR).
APK file extension is in the Open Handset Alliance which is a mobile phone platform based on Linux. This file extension is especially created when using Google's Android SDK. APK files contain the code files, resource files and the AndroidManifest XML file extension. For more detail
http://edugoing.com/qna/index.php?qa=14&qa_1=describe-the-apk-format#a171


text:
What are the advantages of a custom ROM over rooted stock?
What can a custom ROM provide beyond rooting that I can't get by downloading an application?

This is related: I've rooted my phone. Now what? What do I gain from rooting?

Advantages
A custom ROM can be as little as a pre-rooted stock ROM, and with root you can do virtually anything. Thus the main advantage over just rooting is that the work has been done for you already if you grab a custom ROM with features you're interested in. For example, a custom kernel with better support for overclocking may be included in a custom ROM.
As the name implies, a ROM cooker has a lot of freedom to customize.  But, in general, the "well known" custom ROMs have:

Custom themes, or at least wallpapers or widgets. This might include modified system colors and icons, startup screens, etc.
Root, of course (see the advantages of rooting).
Less bloatware (e.g., removal of T-Mobile's "My Account").
Useful utilities for the kind of person who flashes custom ROMs (e.g., ROM Manager).
A mishmash of modems and kernels, selected for best battery life or performance.  Modems are usually stock but kernels may be stock or custom.
Additional options in menus (e.g., CyanogenMod allows a user to reboot to recovery or fastboot mode instead of just rebooting the device normally).
Additional user interface tweaks (e.g., CyanogenMod allows users to place on/off controls in the status bar instead of using widgets).

Finally, custom ROMs don't have to be stock-based to begin with either. This might enable extra system-level features (built-in tethering, for example) or allow you to upgrade to a version of Android that hasn't been or won't be released for your device.  It can also free you from hard-to-remove bits of stock ROMs, such as their custom UIs / launchers that often cannot be removed.
Disadvantages

Custom ROMs, especially those not based on stock, are often a bit experimental.  They may not be as stable as stock, especially with custom kernels or when not stock-based (drivers are hard to get right).
A custom ROM can include virtually any apps the creator wanted to include, and you may consider them bloatware.
Custom themes may not be what you want; many ROM cookers aren't designers.
Something unsavory or malicious could be included in the ROM.
Bricking your device is always a possibility.  Make sure you know what you're doing when you flash a custom ROM, and never use a ROM designed for a different device.
Like rooting, flashing a custom ROM will almost certainly void the warranty of a non-"developer" (e.g., Nexus) device.

Does rooting/installing custom ROM increase the usable RAM of any mobile phone?

Depends. Many carrier/vendor build include custom services and launchers that take up more memory than the standard google builds most custom ROMs are based on. HTC Sense, Motorola Blur, and Samsung TouchWiz all take more memory than the base platfom. Note that rooting by itself has no effect on memory usage.


text:
How to remote control using Droid VNC Server via USB?
I have installed Droid VNC Server on my Android phone 2.2 (CyanogenMod), but it is not clear how to control now my phone via USB.
When I start the server on the phone it gives me an IP but I cannot ping to it. I cannot neither connect using the browser at the specified address nor through VNC client.
I have root access.
Can someone explain me the steps to follow?

There's no manual or FAQ I've found for the program so I'm not certain if this is the way they intended it to be used. It does work, though, and I can't see an alternative method of using USB.

You need ADB installed along with the proper drivers for your device. This varies with platform and phone, so check Google or XDA.
Enable USB Debugging on your device -- Settings > Applications > Development > USB debugging
Plug in, start droid VNC server
On a command line, run these commands:

adb forward tcp:5801 tcp:5801
adb forward tcp:5901 tcp:5901

Visit http://localhost:5801 with a browser or point your VNC client to localhost:5901

I do notice that performance isn't any better over USB vs a 802.11g, so I'd only recommend going to the trouble of this if accessing your device via WiFi isn't feasible.

It worked thanks a lot! Only problem using browser it answer but show only two links to TightVNC and the author site. I use UltraVNC Viewer instead to connect and works very well.

You might not have Java installed, or the Java VNC client had some problem loading on your system. Either way, doesn't matter since UltraVNC worked for you.


text:
What are the Pros and Cons to running CyanogenMod?
Can anyone that's used it list the relevant benefits and drawbacks?  I'm actually more interested in the drawbacks and limitations because its not hard to find praise for it.
Edit: Ooops, I forgot to mention, original Droid currently running Android 2.2

Your mileage with Cyanogen Mod (CM) depends on the phone you are running. If you have an HTC phone, you will not have any HTC Sense running or installed at all. So HTC widgets will not work. This is a hurdle for many HTC phone users that enjoy some of those widgets. Personally I've been able to find adequate replacements to them. So that wasn't a barrier for me.
If you are not using an HTC phone there probably won't be a lot of cons. Again though you might not be able to use any stock widgets that came on your phone. But you might have a different dialer and contact app then what you are used to.
Do you connect to an email system at work, such as an Exchange mail system? I do and that was one of the reasons for me not using CM. Not that it didn't work, but there was some functionality I was missing, a few settings and I didn't like the way the contact app managed the Exchange contacts. Whatever HTC uses for their builds worked better IMO so I use an HTC based ROM.
As Saboogu states, hardware will make a difference too, but CM team is good about refining their ROM and working out kinks so that it functions well even on older phones.
If you are already rooted make a NAND backup first. Follow this guide I wrote keeping in mind it was written for an Evo, but most info still applies to other phones. Once you have a backup then wipe and flash and go from there. See if you like it and the feature set. This way if you hate it you can easily restore your backup.

The biggest goal of CyanogenMod, in my eyes, is to provide back porting of functionality to older phones who are not getting the latest version of the Android OS (2.1+), e.g. the G1.  It also gives plenty of little tweaks here and there to add some functionality to your phone that you may not have gotten before.
It also (typically) requires rooting your phone, so you also get those benefits too.
Although CM releases "stable" versions, your stability may vary.  You'll most likely see more reboots from CM than a stock rom or other miscellaneous bugs.

Really depends on your hardware. At this stage, CM6 is likely slower on a G1 than the OTA 1.6 release. Maybe not quite as stable either, but certainly more feature-packed.
On the other hand, on a higher memory device that has native 2.x support, those same drawbacks won't apply.

As Bryan Denny stated, your con is also a pro. It allows older phones to run newer iterations of the OS which it otherwise would not support.

I'd agree with that. I've just flashed CyanogenMod 6 onto my HTC Hero which is not the most powerful phone in the world and it works well. HTC were not going to take it past 2.1 but now I have all of the froyo goodness :-)

I previously owned a HTC Hero and I resorted to CyanogenMod (CM) because it does not contain HTC Sense.
However due to hardware limitation I noticed that my phone ran slower as the Android version increase. Since Froyo the phone no longer fast and there are times it lags.
Another problem I faced was hardware support. For example camera may lack of some features introduced by HTC.

We have an Orange San Francisco, AKA ZTE Blade in the family.
I would say the biggest weakness I found with the CM7 rom for this device is around various little bugs with proximity sensor, wifi connection and power management states.
IMHO this is due to ZTE being very hacky in the way they maintain kernel source, and partly due to having undocumented hardware revisions which causes various minor glitches. This caused extra work for the devs who put the Blade kernel together for CyanogenMod, but all issues have been fixed.
Sometimes users suffer bugs and simply do not report the bugs on the bug tracker so the devs are unaware of issues to fix.
All these are minor issues, against the well know pros of CyanogenMod. I have had far more stability, performance and support from CyanogenMod than I did from Orange and their stock ROMs.

If I were you I wouldn't try to put Cyanogen on my phone because he might hit you.

More importantly to add to that, there was variations of the Blade, some were European variants which, some had 512Mb, others had 256Mb, some had OLED, others had various different touchscreens, and lets not forget the Chinese variants as well, and Indian variants (Dell?) so all in all, that was what the initial CM7 was about, most if not, all, are fixed though. Battery drain is still an issue iirc.

One drawback is reduced support for hardware in some cases.  IE Cyanogenmod for HTC Desire doesn't support HD video.

Which version are you talking about? I'm not aware of any such bug.

Cyanogenmod 7.1 and 7.2.


text:
Is Google Earth available for Android phones?
I saw a list of top free apps in a magazine. Yeah, one of those old fashioned things with glossy paper made from dead trees. Anyway, the SPARQCode yielded an app not found message from Android Market. I'm guessing that means it used to be available? Do you know if it is available, was available, or will be available in the future?

Google Earth is definitely available, I can see it in my Market right now, however it needs Android 2.1 as a minimum to work, so if your phone is running an older version of the OS, then you won't be able to see it as the market hides apps that it knows definitely won't work on your phone.
See the note at the bottom of this page, where it says that it requires 2.1 http://www.google.com/mobile/earth/

Thanks for the explanation. Now it makes much more sense.


text:
Simplenote clients
I recently started using Simplenote. I want to be able to take and read my notes while on the go. There is a native iOS app, but not for Android.
Are there third-party apps that will sync with Simplenote? What is your experience with it/them?

@Izzy: Yes, I  know. You'll note that I was one of the people who voted to close.

Simplenote is updating all of their apps, and that also means that they've released an official Android app.

The official app doesn't require an account to use; you can take and store notes locally on your device before signing up to the free service for cloud syncing. Although third-party apps were previously available, the official option is a welcome one that gives Android users an experience in line with the iOS app.
Simplenote's expansion to Android comes just over half a year since Wordpress owner Automattic bought the service, pledging to improve its mobile apps.

Simplenote on Google Play

mNote works well, simple.
AndroNoter (never tried it but it is ad free)

Both are free.  I have never used it on an iPhone so I don't have a basis of comparison.  I also don't use Simplenote much anymore because I've consolidated to just Evernote.  I also preferred 3Banana to Simplenote but in the end opted for Evernote.

I have been using AndroNoter for a couple days now and it works well. mNote gave me a bit of trouble because it didn't like some character in my password. The developer wrote back to me quickly, though, so I'll check it out when there is a new release.

The Simplenote website actually lists some Android clients.  Click the link and scroll down to "mobile", where you'll find 4 or 5 of them listed.
I tried Evernote myself, and had the worst experience.  I have a Droid 2, and the notes were not reliably syncing to my PC.  The Evernote customer service is the worst I've ever experienced in my life.  They don't allow a dialogue with their people.  They close your case before your problem is solved.  It's a real mess.  That's why I'm giving Simplenote a try.
Good luck!

The page has changed, and the 3rd-party mobile clients are no longer listed. What were they?


text:
Low on internal data storage - looks like the some apps use a lot!
So, looking at the Gmail, Twitter, and Facebook apps for example, the apps themselves only take up 3-4 MB each, but then the app data is like 10+ MB for each. Is that stored data the synced copies of my email inbox, or my twitter feed, or FB feed? And, if so, is there a way for me to limit how much of my phone's internal storage each app gets allocated?

There really isn't much control you can do over limiting storage.  Most likely the data is from the apps using local SQLite databases to store information their apps use.
You can pretty much only do these things:

Move the app to the SD card if you have Android 2.2
Clear the data cache every now and then (but it's going to grow again)

The Move to SD card button is grayed out for apps like Twitter and Gmail. :-\

Android's restrictions on what can and can't be moved to the SD card are, well, restrictive. Annoyingly so. In addition to background service use and other "advanced" app features that prevent moving to SD, it seems that any app that comes preinstalled can't be moved, even if you upgrade it from Market.

For limiting GMail storage, at least --
Fire up the GMail client. Click Menu > Settings > Labels
From there you can select how many days worth you want synced overall, and per label. Reducing the number could help cut down on the clutter.

There are some games around that use over 80+ megabytes of space. Cleaning those up first should give you some breathing space.

The largest applications on my phone right now are Gmail and Twitter, both 18+ MB.


text:
Any help on a HTC Desire GPS problem after Android 2.2 Froyo update?
I have an HTC Desire with T-Mobile Germany branding. Last Sunday I finally got the long-awaited Android 2.2 update from my operator. The update ran successfully. However, since then it doesn't get the GPS location! The blue dot won't lock on Google Maps. Another GPS-App, "Gps Status" cannot get the coordinates, even after almost half an hour. Restart or reinserting the SD-Card doesn't help. I wonder if anyone here experienced something similar after the update.
Cheers

Greetings from Spain - had exactly the same problem after the 2.2 update. Contacted HTC tech support who got me to jump through hoops: soft reset, hard reset, reinstall 2.2, etc etc etc but no joy. I said that that one of the main reasons I chose Android and HTC was the GPS orientated apps and that if the handset didn't work after the update then I would like a refund or a swap to a handset that did actually function as advertised. They told me that the problem was with my cell phone provider (Vodafone) not them and to take up any further problems with Vodafone. Was disappointed with HTC becau

Hi,
did anyone came out with a solution?
I have the exact same problem (GPS doesn't work anymore since the Android update) and none of what is proposed above works.
Thanks,
arnorev

I seem to have the same problem.
When I finally do connect the position is a couple of hundred meters wrong. Really threw me off track once I was using it for directions.

I am having the same problem. But the only thing that is different is that my phone (Desire HD) came with Froyo. So I don't know how to find a solution for this. Neither could i found the above replies helpful.. Any more suggestions..?

I had problems with GPS with my new HTC Desire (Froyo out of the box). I downloaded the "GPS Status" and "GPS Test" apps which showed only two satellites but were not locking them. Even Google Maps didn't get a GPS lock. I went outside of my room and tried but no luck. I switched off the cell, removed the battery, SD card and SIM and then put them back and restarted but still no luck.
Then I installed GPS Essentials from the Android Market. I launched the application and changed the following settings:

Gps update interval -> 10 seconds
Tracking update interval -> 10 seconds

After this I tapped on "satellites" on the main screen while standing outside. It detected 8 satellites in a few seconds and it was able to lock to 7 of them. After that everything started working including "GPS Status", "GPS Test" and Google Maps (even inside my room).

How does this affect your battery life?

I had this gps fail happen and when I first used GPS status app it rebooted the phone.
I had travelled to Adelaide from Perth and back and then used the app Skydroid(golf) for the first time since froyo 'upgrade' to discover it wasn't working. Using google earth in Perth had my location still in Adelaide.
Whilst in Adeliade I has some trouble getting it to correctly set the locataion time which was set to automatic use network provided value.
I unchecked this and set the location time to Perth and restarted the phone and everything worked with full gps accuracy.
My theory is that the froyo 'upgrade' some how srews the timebase registry setting that the gps uses to locate and sync with the sats. Some how either by forcing the time reset or the reset caused by GPS status app this was reset and al works well.
Very shonky testing from HTC/google i think.

try using gps status , go to option , capteur,manage a-gps state , choose first reset , then redo and choose download .
and do it outside for the first time , it's important.
also , check your APN settings in Wireless and network > Mobile network > APN name .
Check that the apn selected have "supl" in APN type (in the bottom of the list) , for example "default,supl".

That doesn't help. The strange thing is that, sometimes it locks in 5 seconds, sometimes not even after 1 hour! That makes it hard to regenerate the error and find the cause...

can you show the file /etc/gps.conf ? (normally with a file manager you can)

Yes, it looks like this:
NTP_SERVER=north-america.pool.ntp.org
XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin
XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin
XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin
SUPL_HOST=supl.google.com
SUPL_PORT=7276

Which version are you updating from? Since Android 2.1 (or 1.5?), most applications will not be able to turn on GPS automatically, for privacy reasons. You need to enable GPS setting: Settings > Location & Security > Use GPS satellites; there are widgets that allows you to enable GPS from the home screen as well.

I have a HTC Desire that is using 2.2 (though when I got the phone, it was already running 2.2)
I've found the GPS to be pretty good in general - there are times when it is a bit patchy (loses GPS signal even though the surroundings are the "same") and slow to pin-point my location.
What I've found helps is to turn on 3G data while using GPS - this seems to greatly assist the accuracy and speed when finding your location.
Also, a reboot of the phone (or if you feel lazy/in a hurry - turn airplane mode on/off) might help kick some sense into the phone.


text:
Can I lock the DNS settings on Android devices?
It is all about being the internet boss. I want to be able to lock in or password protect the DNS settings to OpenDNS, so I can have a safe smartphone, that my kid can use with no fear of accessing pr0n or whatever.
Anybody know if this is possible? I don't want to use another method of content filtering.

Note that it is impossible to use OpenDNS to do that since you can't block the Android Market with it.

Agree with Arda here, once you have those DNS settings in place there would still be no way to limit what can be downloaded or viewed on the phone.

There would be no way to limit what was Downloaded through the Market but it would block content otherwise.  I could accept that.

I could probably have an app to report downloaded apps thru app brain or something I think.  Also if OpenDNS gets on board they could block downloads of inappropriate apps.

A nice permanent way is shown in this XDA post: It has the following advantages: - permanent - DNS provided by DHCP are used, but with lower priority You don't need adb and vi. You can do it with Root Explorer.

You can change the DNS settings in Android, but you need to root your phone first: http://blog.varunkumar.me/2010/09/how-to-change-dns-server-on-android.html.
I don't believe there is a way to password protect the DNS settings, but at least it wouldn't be obvious for them to figure out how to change the settings.
Of course, one thing you can do to at least protect your kids while they are in your home is to change the DNS settings on your router.  Of course, whenever they use your carrier's data network, this won't help.

This is great. Very close to what I need. It looks like the script could work even on carrier networks, right?  In the home router this is already done. (vote up requires 15 reputation)

If you're rooted, check out SetDNS in the Market (free). It might do the job; YMMV.

The article and SetDNS app only apply to Android versions under 4.2. For Jelly Bean and above I wrote an app which can be locked with a built in setting.

I made a similar attempt on Android 11. The closest thing to password-protecting the DNS setting that I found was to password-protect the "Settings" app altogether. My steps:

Install the Lock me out: app blocker app by TEQTIC. There seem to be many apps like that, I selected that one only because of good ratings and reviews. It seems to work well and doesn't require the phone to be rooted.
Set up a policy to lock the Settings app
Enable password-protection in Lock me out
Enable the anti-tampering options in Lock me out, so the app cannot be uninstalled without password

As a result, when user attempts to open Settings, he sees a message about lockout. If you click the message, you can temporarily disable policy, but that requires a password:

Pros:

Seems to work. I can't see any way to circumvent that without knowing the password.
Doesn't require rooting the phone.

Cons:

Requires 3rd party app (the one I used is paid)
There is a permanent notification from the app about the lock. I'm not sure if I can hide it without breaking the reliability of the app.
You cannot lock just DNS settings, the granularity requires you to lock the whole Settings app.

When on WiFi, you can manually set IP information, Settings > Wireless & networks > Wi-Fi Settings > Menu button > Advanced. Mind you, it would be very easy for anyone to modify those settings.
As far as when connected via cellular, I do not know of any way to modify those DNS settings as they come from the carrier and the carrier's towers. I'm pretty sure they don't want their users changing DNS settings which could help them bypass certain restrictions they normally have in place.
If it was feasible, you would need to do some rooting and hacking of files (e.g. /system/etc/dhcpcd/dhcpcd-hooks/20-dns.conf). Supposedly there are DNS files that exist and can be modified, but I wouldn't recommend going this route.

This (the carrier part) is exactly whats keeping me from getting smartphones.  I want this ability so regardless where they connect I get a top-down report and content filtering.  This would be useful for businesses and churches and any concerning parent out there really.

You could try calling the carrier and asking them what filtering or content blocking they can do. Or rather than attempt to block the kids from downloading content (which doesn't always work well as kids are smart and find ways around this) have you thought about just sitting down with your kids, having a conversation with them, and educating them about the dangers and getting feedback from them? Might be easier then trying to mess around with DNS and other stuff on the phone.

It is not just for me.  I want to make this "internet boss stuff" more solid and simple in general for myself and others

That dhcpcd file only affects the Wi-Fi connection; cellular data is unaffected by it.

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


text:
Are there any Email apps that render HTML emails?
Are there any email apps on the Market that can render HTML emails instead of just displaying the text of the email?  I know the GMail app can, but I want one that I can use to view HTML emails from my non-GMail accounts.

Update: To further clarify what I am looking for, I want to see the HTML email in its native form, not as plain text or HTML code. The GMail app can do that, but none of the other email apps I have found can do it.

Per my answer below, the the default "Mail" application built into Android supports HTML emails. I tested and verified and can send you a screenshot of my phone if necessary. If it doesn't work for you then something is converting it to text, but unless I'm missing something the Mail application does not do this by default. Please update your original post with more information, such as what email system you are using and with what settings. For example I am using the Mail client connected to Exchange.

I'm suspecting your email server's configuration could be faulty, and is sending a HTML email with text MIME. Can you try using your email apps using gmail or hotmail POP/IMAP server? (hotmail's html emails renders fine in mine)

Mail app that comes on all Android phones can accept HTML emails, I just tested it. Go to Settings > Accounts & Sync > Add account and then add your other email accounts. Once added and sync'd you should be able to view them by going to your apps screen and scrolling to mail.

I am not talking about accepting HTML emails.  I am talking about the ability to actually render the HTML in the email.  I can already read HTML emails on my phone, but what I want to do is see the rendering of the HTML when I view the email.

Viewing HTML = Rendering HTML. Those terms are synonymous. Are you talking about viewing the HTML source? If not, then "Webs" is right--the stock e-mail apps show/render HTML e-mails perfectly fine.

Yes, I think we may need more clarification about what you want to do penti. UPDATE: Another thought, if all you see when you view an email is text, then you are not actually viewing the email in it's native HTML form. If you can view the HTML form of an email then you are viewing it as an HTML email. For example in Outlook you can convert emails to text only email, then HTML will not be supported with that email.

Yes, that is what I am saying happens by default in all of the email apps I have tried.  The HTML code of the email or just the text of the email is displayed.  I want to view the email in its native HTML form.  That is what the GMail app can do.

Can you please edit your question with this clarification?

Go to app's menu > More > Settings > Send and receive > set mail size limit to No limit.
Enabling No limit will allow the inbuilt email app to render the HTML in emails. This does not work for exchange account however, but it does fix the text issue on all POP and IMAP email accounts.

The native exchange client can't display HTML email if you use exchange server 2003.  The client "touchdown" (from the market) can.  This is a known bug.

I am getting a similar problem here on an SGS with 2.3.3
The problem is that html emails are rendered as text (hence showing the html source) rather than rendered as html as the email is intended.
I have tried this with email (the default app), and also tried touchdown and k9 mail.
In my case, neither email nor touchdown rendered them properly, but k9 mail did.  This is a shame for me as email has a nice logo adjustment to show new mail, and integrates a little  better into things like the social hub.
I suspect that the problem is related to what is produced by my exchange type server, which is actually zimbra.  I'm sure your mileage would vary depending on your exchange version etc.


text:
Accept e-mail calendar requests?
Is there a way (app, configuration, etc) that will allow me to accept e-mail calendar requests sent to a POP3 account?  The request could be iCal or could originate from Exchange or Outlook.  Once accepted, I would like them to be added to my calendar.

Minor clarification: The original question was spurred by the Mail application. When I forward calendar requests from work to my phone's e-mail, I can't accept them and they don't get added to my calendar.  However, if I forward an exchange calendar event to my gmail, I don't get an option to add it, either

What version of Android are you using and what phone? Also, if you have mail app connected to your work email you shouldn't need to forward anything. Just open the app and accept the apt. If you do not have mail connected to your work email and you will not be able to get it connected, then you should sync your phone using sync software, like from HTC or use the app from google that syncs Outlook and Google calendar.

Froyo (2.2); This includes invitations (such as iCal) sent from other users whether to to my Android GMail or email apps. In my case, it isn't a matter of connecting to work e-mail.

I am going to update my answer...

Yes, support for this is native in Android.
I have an Exchange account added to my phone (Settings > Accounts & Sync > Add account). Once I snyc'd email and calendar I was able to receive meeting requests through the Mail application, accept them, and then see them show up in my calendar with a different color. The way Google handles Exchange is really sweet.
Update:
So I played around a bit and here is what I found. From the gmail app on the phone you cannot accept appts. But, not sure how it works with iCal and such, I just sent myself a meeting notice from my Exchange Outlook calendar to my gmail account. I signed into Gmail from my computer, got the invite, I clicked yes I am attending, and it now shows on my calendar.
So from the gamil app it appears we cannot accept invites but from a computer we can. :(

I know this feature is in Android 2.2 Froyo. I'm not sure if this worked in 2.1 or earlier not?

Yup exists with 2.1 too. I had my phone setup the exact same way with the same feature set on 2.1. Mind you I have an Evo and it is conceivable there was a difference in which version of ActiveSync carriers used for their phone, but I think this is supposed to be set by the Android version. But I say this because in our testing at work we noticed slight differences across phones.

The context of this question is not receiving through an Exchange account.

Additional observations. Since original posting, I've received a couple of calendar requests the Mail app that I was able to accept. It appeared to work. I expected to have an "accept" option on the mail message. Instead, I had to open the file attachment before I was offered the option to add it to a calendar. However, I've also had both forwarded Exchange calendar requests and iCal attachments that were not possible to accept. Looks like I have a little more research to do, but the basic matter is resolved.  Thanks!

Huh so it seems support is flaky then? Good find on opening the attachment! I'll keep my eye open for that next time I get an apt sent to my gmail account.

From giztech.in How to Accept or Reject Events with Exchange Email in Galaxy S or any Android mobile?

The link is dead.

It's a known problem in Android system.
You should use a third party app.
I know (and recommend ןא!) the 'ics 2 android' application. You can download it from google market:
ics 2 android


text:
Is there any way to print directly from the phone?
I'm pretty sure the answer is "no" since printer manufacturers haven't yet started making drivers for Android (or iPhone).
I guess I'm just curious if anyone has heard anything about this and if/when it will become a reality.  (or perhaps if it already is, and I'm just oblivious to it?)

See also this other question Is there a way to print from an Android tablet (preferably without a PC/cloud)?

That is a great question.  I went looking for that functionality back in the spring but only found apps that would let you print to wifi enabled printers.
I just looked again and came across PrinterShare, which looks pretty cool.  Apparently you can print to a wifi printer, or with software installed on a local pc you can print over the internet to the attached printer.  I haven't had a chance to try it out yet and it looks a little pricey but seems promising.

+1 Printer Share works great!

More of Google's products are now implementing the Google Cloud Printing service. Read more on that on the official google mobile blog: http://googlemobile.blogspot.com/2011/01/cloud-printing-on-go.html
That might become an option to print from the Android phone in the coming months.

There are several manufacturer independent solutions available as well, using different technologies:

Local Network:

Bluetooth: Bluetooth Smart Printing

Other Networks: Let's Print Droid is mainly intended for network enabled Laser printers8, but also supports Google Cloud printing; PrintBot claims to support almost 3.000 printer models via Wifi; this is also the way ePrint9 (~ EUR 5) works

Cloud:

PrinterOn Network: Sit in Tokio, print in Chicago -- doesn't that rather sound like Fax? Nevermind, it gets printed on paper, so e.g.: PrinterOn2; quite comparable with the Breezy network, e.g. Breezy - Print and Fax3

Google Cloud printing: e.g. Cloud Print4, Easy Print5

Wifi, 3G, 4G: FileLinx 3G Print or Transfer6 (~ EUR 5), Print from Android7 (~ EUR 1) -- both require free PC software

These all are just examples for their corresponding "types" -- checking in the Playstore you will find many more. Also, several others have already be mentioned -- such as manufacturer dependant solutions or PrinterShare.

At least one manufacturer has tried to address this issue with an Andoid app. Samsung has an app named Samsung MobilePrint that works for Samsung wireless and networked printers.
Samsung MobilePrint
Only Samsung branded printers supported.

Adding to this, there's also Epson iPrint, HP ePrint Home & Biz, Brother iPrint&Scan, KODAK Document Print App, Canon Easy-PhotoPrint, Lexmark Mobile Printing...

I think the idea of needing drivers suggested by the OP needs clarifying. The way I believe things are is that a) if you were trying to communicate directly to a printer, yes you need a driver but b) if you were communicating with a printer say on a LAN server, whether the driver on the LAN can do that job. The task (at least IMO, although apps seem to differ) can become more one of asking the server what a printer can or can not do. There is scope for variations (eg, converting or interpretation of document format within this.,,
My own attempt at an app follows plan b (which does require a computer to be on and an Internet route ). From that, I can even send a job to a CD without needing a driver installed on the Android as the CUPs (in this case) server knows how to tell the printer to do these things.
I perhaps should also mention "wifi enabled". If you are going a Cups route, I think the physical location of the printers dictates whether you want to reach them via a network (The Android just has to reach the Cups server) Neither of the printers at home are. At home, there are two printers.  The Laser printer is a Xerox Phaser 6110N. This is a hard wired LAN printer. Our Epson P50 connects via an old (and I believe long discontinued Belkin print sharing device). When our previous Epson R220 died, I did consider a photo printer in their range that had got built it wifi and would have preferred to have disposed of the Belkin device.  I decided against as there was a fair step in price to do this


text:
Google bookmarks app?
Is there an app for Google Bookmarks (this is distinct from Chrome bookmarks)?

I’m voting to close this question because Google Bookmarks have been discontinued since October 2021, in addition to software recommendations being off-topic now.

There is Gomarks. Looks promising.

I've used Gomarks, and it works well.

Having to enter your Google password is annoying

Dolphin can actually sync with Google Bookmarks. Dolphin is widely used, so that's a plus in terms of trustworthiness. Searching the bookmarks isn't very nice though, but you can filter by tags