It is definitely possible to wrap a web front-end inside a native app. One of the headaches you'd get with Xamarin alone is that your UI will have to be almost completely rewritten for either platform you target (good business logic separation can reduce that pain).
One way to use web UI inside a native shell that integrates hardware is by writing a thin communication layer between the two that works by injecting javascript and custom protocol handlers, I've applied this strategy successfully on a project - it works and it lets you develop your UI once and then style it per device. The good news is you wouldn't need to depend on browser detection - your native apps can load their WebView with specific URL and the back end can determine which styles to use or even provide UI versioning and functionality changes between devices.
If you do take that approach make sure you write your native app comm layer as thin and generic as possible to reduce the need to update the native apps in the future.