Android - How can I control which apps are able to use the data connection while roaming?
Give a try to Onavo Count - it can block certain apps to use only WiFi, cap data usage, provide alerts on data hogging apps, has widgets and more.
Link: https://play.google.com/store/apps/details?id=com.onavo.android.onavoid
Overall, it's a very handy app for data management. It also comes with a companion app Onavo Extend to save on data usage: https://play.google.com/store/apps/details?id=com.onavo.android.onavoics
I would also suggest to keep data turned off as a pre-caution, and turning it on periodically - even if you use Onavo. Settings > Wireless & Networks > Mobile Networks and tick off the "Data roaming" checkbox.
Enjoy your trip!
Install Avast. Enter its Firewall section (requires root access to work) and allow/deny apps in Roaming column (Wi-Fi and Home Cell access will be untouched). Avast's firewall provides two modes: Block Selected and Allow Selected. Choose any as per your requirement.
Use My Data Manager if you want to track data usage of individual apps. It has dedicated Roaming section. It can help you in creating firewall rules or lowering data usage of important apps.
Not without a rooted device (or uninstalling/freezing the other apps). If you have a rooted device, you can control each apps network access e.g. using a firewall app like DroidWall or even a more complex security solution like LBE Privacy Guard. Both would allow you to say which app(s) may access the network via Wifi and/or mobile network -- so you could even let them all work while connected to the free Wifi provided by the hotel.
If you are not rooted, but your device runs at least Android 4.x or higher, you could alternatively (temporarily) "freeze" (i.e. disable) all apps which should not use the internet.