Non-uniform node densities occur and intermittent links exist in highly dynamic ad hoc networks. To fit these networks, researchers usually combine delay tolerant network (DTN) routing protocols and mobile ad hoc network (MANET) routing protocols. The DTN protocol separates end-to-end links into multiple DTN links, which consist of multi-hop MANET links. Determining how to arrange DTN links and MANET links from source to end and dealing with intermittent links are performance issues, because node density ranges from sparse to dense and MANET protocols are much lighter than DTN protocols. This paper presents HMDTN, an application-network cross-layer framework, to solve the previously mentioned issues. The application layer in HMDTN supports disrupt tolerance with a large data buffer while adjusting the routing table on the basis of the connection state of links (link is disrupted or recovered), which are collected by the network layer. As a result, HMDTN increases the bandwidth utilization of intermittent links without compromising the efficiency of the MANET protocol in a reliable network. The HMDTN prototype was implemented based on Bytewalla (a Java version of DTN2) and Netfilter-based AODV. Experiments on Android devices show that unlike AODV and Epidemic, HMDTN increases the bandwidth utilization of intermittent links with a negligible increase of network overhead. In particular, HMDTN maintains the network throughput as high as regular network conditions even if the network undergoes relatively long-term (dozens of seconds or few minutes) data link disruptions.