नहीं कहा जाता है, मैं एक ऐसी सेवा बनाने की कोशिश कर रहा हूं जो पृष्ठभूमि में फ़ाइल I/O को संभालेगा। डेटा अपडेट करने वाली गतिविधियां सेवा से जुड़ जाएंगी और I/O करने के लिए सेवा के तरीकों को कॉल करेंगी। मैं मार्गदर्शन के लिए एंड्रॉइड दस्तावेज का उपयोग कर रहा हूँ।एंड्रॉइड सर्विस कभी शुरू नहीं होता है - ऑनस्टार्ट कमांड() को
मेरी सेवा शुरू नहीं करना चाहती है, हालांकि। मेरे गतिविधि की विधि OnCreate() में, मेरे पास है:
Intent smsIntent = new Intent(this, SurveyManagerService.class);
String surveyFilename = getIntent().getStringExtra("surveyFilename");
System.out.println(startService(smsIntent)); //testing if it starts
SurveyManagerServiceConnection connection = new SurveyManagerServiceConnection();
sms = connection.getSurveyManagerService();
लाइन पर 3 LogCat एक ComponentInfo वस्तु आउटपुट, तो यह लगता है कि सेवा बनाई गई है; हालांकि, एसएमएस शून्य है। इसके अलावा, SurveyManagerService onStartCommand() विधि कभी नहीं कहा जा रहा है:
@Override
public int onStartCommand(Intent intent, int flags, int startId)
{
System.out.println("starting service");
Toast.makeText(this, "service starting", Toast.LENGTH_SHORT).show();
openSurveyFromIntent(intent);
return START_REDELIVER_INTENT;
}
मैं LogCat में किसी भी "शुरू करने सेवा" उत्पादन कभी नहीं, और न ही टोस्ट दिखाई है।
<service android:name=".SurveyManagerService" android:exported="false" android:enabled="true">
</service>
मैं कुछ याद आ रही हूँ स्पष्ट:
मेरी सेवा मेरी प्रकट रूप में घोषित किया जाता है? मुझे बताएं कि समस्या का निदान करने के लिए मुझे कौन सी अन्य जानकारी प्रदान करनी चाहिए।
शायद आपकी सेवा बार-बार दुर्घटनाओं में अपनी सेवा घोषित करने के लिए सुनिश्चित करें? – Reno
मैं परीक्षण के बारे में कैसे जा सकता हूं कि यह ऑनस्टार्ट कमांड() की पहली पंक्ति से पहले क्रैश हो रहा है या नहीं? धन्यवाद। मैं यह कहना भूल गया था कि ऑनक्रेट() विधि में System.out.println परीक्षण भी है, जिसे कभी नहीं कहा जाता है। – Spinner