Hola Rodrigo,
En realidad necesitas comprar el estado de la conexión al abrir la aplicación y en cualquier momento de la ejecución de esta, ya que podrías perder la conectividad mientras estás usando la aplicación.
Una opción es usar el siguiente código:
//Esta función nos retornará si la conexión está disponible
function IsInternetAvailable() {
var internetProfile = Windows.Networking.Connectivity.NetworkInformation.getInternetConnectionProfile();
return internetProfile != null && internetProfile.getNetworkConnectivityLevel() == Windows.Networking.Connectivity.NetworkConnectivityLevel.internetAccess;
}
//Guardamos el estado de la conexión al abrir la aplicación
var hasInternetAccess = IsInternetAvailable();
//Este evento se lanzará cada vez que cambie el estado de la red (adaptador levantado/caido, conexión a nueva red, etc...)
Windows.Networking.Connectivity.NetworkInformation.onnetworkstatuschanged = function (eventArgs) {
var isNowInternetAvailable = IsInternetAvailable();
if (hasInternetAccess && !isNowInternetAvailable) {
hasInternetAccess = false;
new Windows.UI.Popups.MessageDialog("La conexión a Internet no está disponible.").showAsync();
} else if (!hasInternetAccess && isNowInternetAvailable) {
hasInternetAccess = true;
new Windows.UI.Popups.MessageDialog("¡La conexión a Internet ha vuelto!").showAsync();
}
};
Para dar el mensaje al abrir la aplicación, no tendrías más que llamar a IsInternetAvailable antes de usar las funciones de red :)