Service
के साथ विजेट अपडेट करने के लिए मैं Alarm Manager
पर हस्ताक्षर कर रहा हूं। मेरे पास दो अलग-अलग प्रश्न हैं।अलार्म प्रबंधक का उपयोग करना भले ही ऐप बंद हो?
पहला प्रश्न: मैं अलार्म प्रबंधक के इरादे से सेवा को बुला रहा हूं। इस तरह:
alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(context, MyService.class);
pi = PendingIntent.getService(context, 0, i, PendingIntent.FLAG_UPDATE_CURRENT);
context.startService(new Intent(context, MyService.class));
Long repeat = Long.parseLong(prefs.getString("update_preference", "600"));
alarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP, Calendar.getInstance().getTimeInMillis(), 1000*repeat, pi);
क्या यह गलत है?
यह दिखता है और सही काम करता है। लेकिन जब मैंने कामकाजी सेवाओं को देखा है, मैं सूची में अपना सेवा नाम नहीं देख सकता। शायद यह एकल/अलग सेवा के रूप में नहीं चल रहा है। बस आवेदन का नाम देखा (एक सेवा के रूप में नहीं)। मुझे यकीन नहीं है कि कैसे अलग करना है या इससे कोई फर्क पड़ता है?
एक और सवाल: लंबे समय से चलने वाले एप्लिकेशन, जो विगेट्स अपडेट को नियंत्रित करते हैं, किसी भी तरह से (मैन्युअल रूप से या एक कार्य हत्यारा द्वारा बंद) है। बेशक Alarm Manager
रुकने वाला और विजेट के कार्य भी बंद हो जाएंगे। उदाहरण के लिए बटन क्लिक करें।
लेकिन, ट्विटर ने इस समस्या को हल किया। जबकि विजेट सक्रिय है, अगर मैं मुख्य अनुप्रयोग (ट्विटर) को बंद करता हूं - जो विजेट को नियंत्रित करता है- विजेट पर क्लिक करने के बजाय, किसी भी तरह विजेट विजेट को ट्रिगर करता है और यह फिर से शुरू होता है। तो बटन ठीक से काम करते हैं। वो कैसे संभव है?
किसी भी मदद की सराहना की जाएगी।
2 अलग-अलग दोहराने के लिए खेद है, मैंने अपना प्रश्न संपादित कर लिया है। –
फिर भी आपको 'context.startService' की आवश्यकता नहीं है, हालांकि लंबित इंटेंट सेवा – tyczj
सेवा शुरू करेगा सबसे पहले, मेरा विजेट किसी भी सर्वर से डेटा ला रहा है।क्या आप निश्चित रूप से सेवा का उपयोग करने के बारे में सुनिश्चित हैं अनावश्यक है? क्या मुझे विजेट क्लास में अद्यतन फ़ंक्शन का उपयोग करना चाहिए? क्या आप उपयोग करने के लिए उदाहरण दे सकते हैं। धन्यवाद। –