2013-12-11 6 views
14

पर जाने पर DeadObjectException के साथ दुर्घटनाग्रस्त हो जाता है मेरा ऐप यूट्यूब एंड्रॉइड एसडीके का उपयोग करके यूट्यूब दृश्य प्रदान करता है। वीडियो दिखाने में कोई समस्या नहीं है लेकिन यह यूट्यूब ऐप खोलते समय DeadObjectException के साथ दुर्घटनाग्रस्त हो जाता है।यूट्यूब एसडीके यूट्यूब ऐप

मेरे कोड की तरह नीचे

//init 
FragmentTransaction fragmentTransaction = fm.beginTransaction(); 

YouTubePlayerSupportFragment fragment = new YouTubePlayerSupportFragment(); 
fragmentTransaction.replace(R.id.fragmentz, fragment); 
fragmentTransaction.commit(); 

fragment.initialize(Constants.YOUTUBE_DEV_KEY, this); 

@Override 
public void onInitializationSuccess(YouTubePlayer.Provider provider, final YouTubePlayer youTubePlayer, boolean wasRestored) { 
    if (!wasRestored) { 
     this.youTubePlayer = youTubePlayer; 
     this.youTubePlayer.setShowFullscreenButton(true); 
     try { 
      this.youTubePlayer.loadVideo(youtubeLink); 
      //other stuff 
     } catch (IllegalStateException e) { 
      Logger.e(e); 
     } 
    } 
} 

है और यह यूट्यूब आइकन के माध्यम से दुर्घटनाओं जब 1) यूट्यूब एप्लिकेशन के इरादे के माध्यम से सीधे यूट्यूब अनुप्रयोग के लिए कदम या 2) चाल खिलाड़ी दृश्य पर।

क्रैश लॉग की तरह नीचे

java.lang.IllegalStateException: android.os.DeadObjectException 
     at com.google.android.youtube.api.jar.client.RemoteEmbeddedPlayer.u(SourceFile:506) 
     at com.google.android.apps.youtube.api.jar.a.a.t(SourceFile:467) 
     at com.google.android.youtube.player.internal.h.onTransact(SourceFile:392) 
     at android.os.Binder.transact(Binder.java:361) 
     at com.google.android.youtube.player.internal.d$a$a.r(Unknown Source) 
     at com.google.android.youtube.player.internal.s.h(Unknown Source) 
     at com.google.android.youtube.player.YouTubePlayerView.e(Unknown Source) 
     at com.google.android.youtube.player.YouTubePlayerSupportFragment.onSaveInstanceState(Unknown Source) 
     at android.support.v4.app.Fragment.performSaveInstanceState(Fragment.java:1647) 
     at android.support.v4.app.FragmentManagerImpl.saveFragmentBasicState(FragmentManager.java:1610) 
     at android.support.v4.app.FragmentManagerImpl.saveAllState(FragmentManager.java:1678) 
     at android.support.v4.app.FragmentActivity.onSaveInstanceState(FragmentActivity.java:546) 
     at com.actionbarsherlock.app.SherlockFragmentActivity.onSaveInstanceState(SherlockFragmentActivity.java:127) 
Caused by: android.os.DeadObjectException 
     at android.os.BinderProxy.transact(Native Method) 
     at com.google.android.apps.youtube.api.b.a.aq.k(SourceFile:685) 
     at com.google.android.youtube.api.jar.client.RemoteEmbeddedPlayer.u(SourceFile:503) 
     at com.google.android.apps.youtube.api.jar.a.a.t(SourceFile:467) 
         at com.google.android.youtube.player.internal.h.onTransact(SourceFile:392) 
     at android.os.Binder.transact(Binder.java:361) 
     at com.google.android.youtube.player.internal.d$a$a.r(Unknown Source) 
     at com.google.android.youtube.player.internal.s.h(Unknown Source) 
     at com.google.android.youtube.player.YouTubePlayerView.e(Unknown Source) 
     at com.google.android.youtube.player.YouTubePlayerSupportFragment.onSaveInstanceState(Unknown Source) 
     at android.support.v4.app.Fragment.performSaveInstanceState(Fragment.java:1647) 

मेरी मदद कृपया इस समस्या को दूर करने के लिए है।

मैं नेक्सस 5 पर परीक्षण किया है, एंड्रॉयड 4.4, YouTube API 1.0, यूट्यूब एप्लिकेशन 5.3.24

+0

samething मुझे क्या हुआ से निकाला – Chrishan

+0

आप मिल गया था आपकी समस्या का समाधान, क्योंकि मुझे भी एक ही समस्या का सामना करना पड़ रहा है। कोई मदद स्वीकार की जाएगी। –

+0

@PDWaghela दुर्भाग्यवश, मैं इस समस्या के लिए अच्छा समाधान खोजने में विफल रहा :( – kingori

उत्तर

1

यह तब होता है जब डिवाइस youTubeView के बाद (या अन्य प्रणाली config परिवर्तन का कारण गतिविधि को पुनः आरंभ करने) घूर्णन कर रहा है। प्रारंभिकरण और प्रारंभ करने से पहले प्रारंभ कहा जाता है। मेरी समझ यह है कि जब आप इस समय अपने डिवाइस को घुमाते हैं तो मूल प्लेयर ऑब्जेक्ट मर जाएगा और थ्रेड जो कॉल करने का अनुमान लगाता है प्रारंभिकता अभी भी चल रही है और एक बार जब थ्रेड कॉल पर प्रारंभ होता है तो यह मृत प्लेयर ऑब्जेक्ट का उपयोग करेगा।

निम्नलिखित कोशिश पकड़ के साथ अपने खिलाड़ी लपेट समस्या का समाधान होगा: Android 4.4 भी Nexus 4 में

try{ 
    youtubeplayer.load(0..; 
}catch (IllegalStateException ise){ 
    //do nothing probably device go rotated 
    return; 
} 

* * उत्तर https://code.google.com/p/gdata-issues/issues/detail?id=4395

+0

अच्छी तरह से, लेकिन यह समस्या तब भी होती है जब मैं नहीं करता डिवाइस को घुमाएं नहीं। और जैसा कि स्टैकट्रैस कहता है, अपवाद फेंक दिया गया है जहां मैं अपवाद को पूर्व में नहीं पकड़ सकता) android.support.v4.app.Fragment.performSaveInstanceState। – kingori

+0

वैसे भी समस्या अभी भी वही है। आप मेरे [प्रश्न] (http://stackoverflow.com/questions/25747226/youtube-player-crashes-with-giving-java-lang-illegalstateexception-android-os-d) का संदर्भ ले सकते हैं। आपके पास कोई और सुझाव है। –

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