2013-03-18 14 views
23

मैं कैसे प्रोग्राम के रूप में मेरी phonegap एप्लिकेशन को पुनः प्रारंभ कर सकते हैं मेरी Phonegap ऐप को पुनः प्रारंभ? मैं आसानी से navigator.app.exitApp() के माध्यम से ऐप से बाहर निकलता हूं, लेकिन मैं इसे तुरंत पुनरारंभ करना चाहता हूं।प्रोग्राम के रूप में

कारण मैं इस की जरूरत है, मैं उपयोगकर्ता एक selectbox मेनू से अपने उपयोगकर्ता भाषा चुनता के बाद उसे पुन: प्रारंभ करने के लिए है है। I18n तुरंत उपयोगकर्ता की भाषा पसंद को अपडेट करने के बाद आग लगती है, 1 पृष्ठ पर 5 बटन और दूसरे पृष्ठ पर एक पैराग्राफ के अलावा। उन 5 आइटम पिछले भाषा (भी भाषा का चयन करें मेनू लेआउट पूरी तरह से किसी कारण से नष्ट हो जाता है) में रहते हैं, लेकिन जब मैं अनुप्रयोग को पुनरारंभ वे सही भाषा में सभी कर रहे हैं। I18n प्रक्रिया के साथ या तो एक बहुत ही जटिल समस्या है, या मैं मजबूर पुनरारंभ के साथ इसे हल कर सकता हूं।

location.reload(); 

मेरे लिए एक इलाज काम करता है:

Ty, Nutty

+0

अगर आप एचटीएमएल 5 मार्ग यूआरएल के साथ एक स्पा है, तो आप http://stackoverflow.com/a/37837377/82609 –

उत्तर

31

मैं निम्नलिखित का उपयोग करें।

पॉल

+0

Oooo पर विचार हो सकता है, मैं लगभग इस सवाल के बारे, भूल गया के बाद से इस कार्यक्षमता चरण 1 में निकाल दिया जाता है लेकिन यह काम करता प्रतीत होता है, इसलिए बाद के चरण में यह बहुत अच्छा उपयोग हो सकता है। Thx – NuttySquirrel

+7

यह इंडेक्स पेज को पुनः लोड करता है लेकिन यह वास्तव में ऐप को बंद और पुनरारंभ नहीं करता है। अपने स्वयं के अधिकार में उपयोगी। हालांकि, मैं अभी भी सोच रहा हूं कि एक पूर्ण पुनरारंभ संभव है ...? एक टाइमर के साथ – Jason

+1

पुनः लोड एक बेहतर तरीका .. –

8

इस

navigator.app.loadUrl("file:///android_asset/www/index.html", {wait:2000, loadingDialog:"Wait,Loading App", loadUrlTimeoutValue: 60000}); 

बाकरी

+0

कार्य # रों एकदम सही है। धन्यवाद! –

+1

यह एंड्रॉइड अधिकार के लिए है? अगर मुझे आईओएस ऐप को फिर से लोड करने की ज़रूरत है तो क्या होगा? आईओएस index.html के लिए पथ क्या होगा? –

+0

मैं पुष्टि (उम्मीद के रूप में) यह केवल Android के लिए काम करता है: डी –

4

यह iOS और Android के (कम से कम 2016 मंच संस्करणों के साथ) के लिए काम करता है की कोशिश करो। यह एसपीए अनुप्रयोगों में भी काम करता है।

// keep startup url (in case your app is an SPA with html5 url routing) 
var initialHref = window.location.href; 

function restartApplication() { 
    // Show splash screen (useful if your app takes time to load) 
    navigator.splashscreen.show(); 
    // Reload original app url (ie your index.html file) 
    window.location = initialHref; 
} 
+0

धन्यवाद पद के लिए सिर्फ एक लाइन के बाद विंडो स्थान = initialHref जोड़ने की जरूरत है कि navigator.splashscreen.hide(); तो यह सही काम करता है। – Pritish

+1

@Pritish बेहतर जब आपका index.html पृष्ठ पुनः लोड, अन्यथा splashscreen नहीं पूरे समय एप्लिकेशन को पुन: प्रारंभ कर रहा है के दौरान देखा जा होगा अगर छिपाने() सीधे बुलाया गया था होगा। लेकिन अगर यह आपके लिए ठीक काम करता है तो यह इस बात पर निर्भर करता है कि आप स्प्लैश स्क्रीन को अपने ऐप में कैसे एकीकृत करते हैं –

+0

मूल्यवान उत्तर के लिए धन्यवाद, मैं आपके सुझावों के अनुसार कोड में बदलाव करूंगा। – Pritish

संबंधित मुद्दे