Caching popular contents at mobile devices, assisted by device-to-device (D2D) communications, is considered as a promising technique for mobile content delivery. It can effectively reduce backhaul traffic and service cost, as well as improving the spectrum efficiency. However, due to the selfishness of mobile users, incentive mechanisms will be needed to motivate device caching. In this paper, we investigate incentive mechanism design in cache-assisted D2D networks, taking advantage of the user mobility information. An inter-contact model is adopted to capture the average time between two consecutive contacts of each device pair. A Stackelberg game is formulated, where each user plays as a follower aiming at maximizing its own utility and the mobile network operator (MNO) plays as a leader aiming at minimizing the cost. Assuming that user responses can be predicted by the MNO, a cost minimization problem is formulated. Since this problem is NP-hard, we reformulate it as a non-negative submodular maximization problem and develop a (1/4+)-approximation local search algorithm to solve it. In the simulation, we demonstrate that the local search algorithm provides near optimal performance. By comparing with other caching strategies, we validate the effectiveness of the proposed incentive-based mobility-aware caching strategy.