2011-08-16 15 views
5
08-16 17:37:37.694: ERROR/InputDispatcher(61): channel '40803d28 com.myApp.android/com.myApp.android.PickActivity (server)' ~ Consumer closed input channel or an error occurred. events=0x8 
08-16 17:37:37.694: ERROR/InputDispatcher(61): channel '40803d28 com.myApp.android/com.myApp.android.PickActivity (server)' ~ Channel is unrecoverably broken and will be disposed! 

कभी-कभी मुझे यह संदेश भी दिखाई देता है।यह कब होता है? और क्यों? एंड्रॉइड ऐप गतिविधि को बंद कर दिया जा रहा है 2.3.3 एम्यूलेटर त्रुटि

08-16 17:44:21.092: ERROR/InputDispatcher(61): Received spurious receive callback for unknown input channel. fd=177, events=0x8 

तो यह केवल केवल 2.3.3 एमुलेटर में और पर नहीं 3.0 या 2.2 या किसी अन्य emulators मैं पर परीक्षण किया है होता है और यहां तक ​​कि मेरी Froyo Droid अतुल्य असली डिवाइस पर अच्छा काम करता है। कोई त्रुटि नहीं है।

जब भी मैं 2.3.3 एमुलेटर में ऐप की मुख्य गतिविधि खोलता हूं, तो 5-7 सेकेंड की तरह थोड़ा सा हमेशा मुझे लॉग संदेश दिखाई देता है और गतिविधि बंद हो जाती है। मुझे यकीन नहीं है कि इसका क्या अर्थ है। मैंने पहले इसे कभी नहीं देखा है।

यहां गतिविधि के कुछ कोड स्निपेट हैं। यह ऐप की मुख्य गतिविधि है जो ऐप में लॉग इन होने पर उपयोगकर्ता को प्रदर्शित होती है और फिर वे 4 आइकनों से चुन सकते हैं जो उनकी संबंधित गतिविधियों को लॉन्च करते हैं।

इसके अलावा मुझे लगता है कि इस गतिविधि में एक मिलेनियलमीडिया बैनर विज्ञापन नीचे है जो एक बार फिर विज्ञापन प्राप्त करता है और अन्य सभी अनुकरणकर्ताओं और उपकरणों में ठीक काम करता है।

सार्वजनिक वर्ग PickActivity फैली गतिविधि को लागू करता है OnClickListener, MMAdListener {

@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
       getWindow().setFormat(PixelFormat.RGBA_8888); 
     setContentView(R.layout.main); 
     // Instantiate shared preferences 
     mAppPreferences = PreferenceManager.getDefaultSharedPreferences(this); 
     mEditor = mAppPreferences.edit(); 
     // Instantiate the views 
     setupViews(); 
     Hashtable<String, String> map = new Hashtable<String, String>(); 
     map.put("keywords", "shopping,deals,money,coupons,sports"); 
     //include additional metadata or settings in the hashmap 

     MMAdView adView = new MMAdView(this, MYAPID, MMAdView.BANNER_AD_BOTTOM, 30, map); 
     adView.setId(123); 
     FrameLayout adFrameLayout = (FrameLayout)findViewById(R.id.mm_layout); 
     LayoutParams lp = new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT); 
     adFrameLayout.addView(adView, lp); 

} 

तब मैं onStart, onStop और onResume लागू किया है।

यहाँ setupViews विधि

private void setupViews() { 

     yourA = (ImageButton)findViewById(R.id.MA); 
     yourA.setOnClickListener(this); 
     yourC = (ImageButton)findViewById(R.id.MC); 
     yourC.setOnClickListener(this); 
     yourM = (ImageButton)findViewById(R.id.MM); 
     yourM.setOnClickListener(this); 
     yourS = (ImageButton)findViewById(R.id.MS); 
     yourS.setOnClickListener(this); 
     //Action bar Help button 
     helpButton = (ImageButton)findViewById(R.id.ActionHelpButton); 
     helpButton.setOnClickListener(this); 
     // Action bar Video button 
     videoButton = (ImageButton)findViewById(R.id.ActionVideoButton); 
     videoButton.setVisibility(View.VISIBLE); 
     videoButton.setOnClickListener(this); 
     // Footer marquee TextView 
     footerText = (TextView) findViewById(R.id.FooterMarquee);   
    } 

मैं भी लॉग संदेश के साथ कक्षा में MMAdListener डिफ़ॉल्ट तरीकों को शामिल किया है है।

कृपया मुझे यह जानने में सहायता करें कि यह केवल 2.3.3 एमुलेटर में क्यों हो रहा है और गतिविधि बंद हो गई है।

आपकी मदद के लिए धन्यवाद।

उत्तर

0

यह देखकर कि यह एक "नकली कॉलबैक" संदेश है, मुझे संदेह है कि आपके पास पंजीकृत एमएमएडलिस्टर के साथ कुछ करना है।

श्रोता को अनधिकृत (टिप्पणी करना) आज़माएं और देखें कि यह जारी है या नहीं।

यदि ऐसा होता है, तो मैं एवीडी की मरम्मत करने की कोशिश करता हूं। अगर यह काम नहीं करता है, तो इसे हटाएं और एवीडी रीमेक करें।

उम्मीद है कि इससे मदद मिलती है।

+0

इसलिए मैंने श्रोता को टिप्पणी की और गतिविधि से पूरी तरह से विज्ञापन दृश्य को हटा दिया। यह फिर से होता है। मैं वास्तव में 2.3.3 चल रहे एक वास्तविक एंड्रॉइड डिवाइस पर इस चीज़ का परीक्षण करना चाहता हूं। – Aakash

+0

दुर्भाग्यवश, कभी-कभी आपके पास एमुलेटर सीमाएं होती हैं। क्या आपने एमुलेटर को हटाने और पुनर्निर्माण करने का प्रयास किया था? – Codeman

+0

ओह हाँ मैं इसका उल्लेख करना भूल गया! इस 2.3.3 एवीडी के लिए मरम्मत बटन एवीडी प्रबंधक में अक्षम है लेकिन मैंने इसे हटा दिया और इसे फिर से बनाया। अभी भी एक ही मुद्दा। – Aakash

0

Benni05 को here एक समाधान मिला, एंड्रॉइड सेटिंग द्वारा: configChanges = "अभिविन्यास" गतिविधि @AndroidManifest के लिए संपत्ति। यह मेरे लिए काम करता है (जहां मुझे एपीआई lvl.11 स्थापित उपकरणों के साथ एक त्रुटि मिलती है)। सौभाग्य!

1

मुझे एक ही त्रुटि थी। मेरा ऐप तो एंड्रॉयड प्रकट करने के लिए

<uses-permission android:name="android.permission.INTERNET"></uses-permission> 

जोड़ने एक बाकी सेवा बुला रहा है मेरे लिए समस्या का समाधान हो।

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