Selectively restrict sync for some applications to wifi only I know it's been asked here how to prevent applications from using data connections. But that is not my intent. I have a Galaxy Nexus running Jelly Bean 4.1.1 and I would like to restrict most of applications to use my data connection. But would allow some to use it.

For instance I would like to restrict Currents, Google+, Facebook, Maps and Google Now from using my data connection. But I would like GMail and Talk to use it.

How can I do this? And is it also possible to set sync frequency when wither on Wifi or Data connection?
Go into Settings | Data usage. Then in the Mobile tab, you'll find a list of the applications that have recently used data.

Click on any of these applications and there will be a checkbox to restrict background data while the phone is using a mobile connection (as opposed to wifi).

I'm not aware of a way to control the sync frequency.