This के साथ चलने पर NullPointerException फेंकता है 2-वर्षीय एंड्रॉइड बग एक ज्ञात परेशान है।Service.startForeground() सर्विसटेस्टकेस
मेरा प्रश्न यह है कि किसी को भी इस समस्या के लिए कोई कामकाज पता है, इसके अलावा एंड्रॉइड स्रोत कोड को संशोधित करने और इसे फिर से संकलित करने के अलावा?
मेरी सेवा उपवर्ग विधि है कि एनपीई को जन्म देती है:
/** Shows notification of started service */
private void doStartForeground() {
// Prepare notification
final NotificationHelper nh = doNotification("Service started");
// Start foreground
startForeground(nh.getNotificationId(), nh.getNotification());
}
यह onCreate()
विधि ओवरराइड से कहा जाता है
यहाँ पूरा होने के लिए मेरी कोड है।
और JUnit परीक्षण विधि:
public void test1() throws InterruptedException {
assertTrue(context != null);
final Intent service = new Intent();
service.setComponent(new ComponentName(CoreService.PACKAGE_NAME,
CoreService.SERVICE_FULL_NAME));
IBinder binder = bindService(service);
assertTrue(binder != null);
}
स्टैक ट्रेस:
java.lang.NullPointerException
at android.app.Service.startForeground(Service.java:631)
at com.blablabla.android.core.CoreService.doStartForeground(CoreService.java:82)
at com.blablabla.android.core.CoreService.onCreate(CoreService.java:149)
at android.test.ServiceTestCase.bindService(ServiceTestCase.java:234)
at com.blablabla.android.core.test.MainTest.test1(MainTest.java:37)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:537)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1551)
सेवा सही ढंग से शुरू होता है और ठीक काम करता है जब Android के JUnit के माध्यम से नहीं चला।
/** JUNIT - this is for testing purposes only */
public static boolean isJUnit = false;
और onCreate()
विधि में यह जाँच:
भयानक! यह खोजने के लिए Thx। इस मुद्दे को यहां एडीटी मंच में संदर्भित किया गया है: https://code.google.com/p/android/issues/detail?id=12122 – Snicolas
हाँ मैंने देखा कि (लिंक प्रश्न में है)। यह अब 3 साल पुराना है और गिनती है ... – m0skit0
इसे अप्रचलित के रूप में चिह्नित किया गया था, हालांकि मुझे यकीन नहीं है कि क्यों। – Xiao