2013-03-22 6 views
56

मैं अपने एप्लिकेशन में 'लॉग आउट' फ़ंक्शन बनाने की कोशिश कर रहा हूं। असल में, लॉग आउट करके, एप्लिकेशन डेटा को साफ़ किया जाना चाहिए। मैं जो करना चाहता हूं वह लॉग आउट करने के बाद है, एप्लिकेशन को पुनरारंभ करना चाहिए ताकि प्रमाण-पत्र आदि फिर से दर्ज किए जा सकें। मेरी समस्या यह है कि उपयोगकर्ता के 'लॉग-आउट' पर क्लिक करने के बिंदु पर, एप्लिकेशन में पहले से ही 3-4 गतिविधियां चल रही हैं, और मुझे यकीन नहीं है कि उनके माध्यम से कैसे कदम उठाना है। मैं ऐप का पुनरारंभ कैसे करूं? कोई इतिहास की तरहप्रोग्रामिंग के लिए एक एंड्रॉइड एप्लिकेशन 'रीस्टार्ट' कैसे करें

+1

को पुन: प्रारंभ करने के लिए नीचे दिए गए लाइनों का उपयोग कर आप अपने आवेदन डेटा कैसे सहेज सकता हूँ कोशिश ? –

+0

एक स्थानीय डीबी, साथ ही जेएसओएन फाइलों में। मैंने अब तक डेटा को सफलतापूर्वक साफ़ करने में कामयाब रहा है – Ryan

+0

इन प्रश्नों/उत्तरों की जांच करें http://stackoverflow.com/questions/2470870/force- appplication-to-restart-on-first-activity-android – Zelldon

उत्तर

154

आवेदन

Intent i = getBaseContext().getPackageManager() 
      .getLaunchIntentForPackage(getBaseContext().getPackageName()); 
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(i); 
+1

ऐसा लगता है कि, मैंने कुछ और परीक्षण किए हैं और – Ryan

+1

की पुष्टि करें लॉगिन पृष्ठ गतिविधि पहले से ही काम करने के लिए ढेर में होनी चाहिए। यह केवल तभी काम करेगा जब उपयोगकर्ता लॉगिन पेज खोलता है, कुछ गतिविधियां खोलता है और साइन आउट बटन पर क्लिक करता है। लेकिन एक बार लॉग इन होने पर, उपयोगकर्ता लॉगिन पेज नहीं खोलता है और यह ढेर में नहीं होगा। तो यह – Sathesh

+37

काम नहीं करेगा, जहां तक ​​मैं कह सकता हूं, यह शुरुआत से एप्लिकेशन को पुनरारंभ करेगा लेकिन यह ** ** ** एप्लिकेशन को पुन: प्रारंभ नहीं करेगा। इस प्रकार, स्थैतिक वर्ग चर और जैसे ही पिछले मान से अपना मूल्य बनाए रखेंगे। एक पूर्ण पुनरारंभ करने के लिए ऐप को 'System.exit (0)' पहले की आवश्यकता होती है। http://stackoverflow.com/questions/6609414/howto-programatically-restart-android-app –

26

चेकआउट आशय गुण, स्पष्ट वापस ढेर आदि ... Intent.setFlags

Intent mStartActivity = new Intent(HomeActivity.this, SplashScreen.class); 
int mPendingIntentId = 123456; 
PendingIntent mPendingIntent = PendingIntent.getActivity(HomeActivity.this, mPendingIntentId, mStartActivity, 
PendingIntent.FLAG_CANCEL_CURRENT); 
AlarmManager mgr = (AlarmManager) HomeActivity.this.getSystemService(Context.ALARM_SERVICE); 
mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 100, mPendingIntent); 
System.exit(0); 
+0

कार्य समाधान –

+0

क्या वही कोड नौगेट के लिए भी काम करेगा ?? – Tejas

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