Ich verwende YouTubePlayerAPI und YouTubePlayerSupportFragment in meiner app und ich die folgende Fehlermeldung bekommen, aber ich kann nicht herausfinden, was es verursacht . Ich habe nach Informationen gesucht, aber nichts Nützliches gefunden.java.lang.IllegalStateException: YouTubeServiceEntity Fehler nicht initialisiert, wenn YouTubePlayerApi mit
java.lang.IllegalStateException: YouTubeServiceEntity not initialized
at android.os.Parcel.readException(Parcel.java:1433)
at android.os.Parcel.readException(Parcel.java:1379)
at com.google.android.youtube.player.internal.l$a$a.a(Unknown Source)
at com.google.android.youtube.player.internal.o.a(Unknown Source)
at com.google.android.youtube.player.internal.ad.a(Unknown Source)
at com.google.android.youtube.player.YouTubePlayerView.a(Unknown Source)
at com.google.android.youtube.player.YouTubePlayerView$1.a(Unknown Source)
at com.google.android.youtube.player.internal.r.g(Unknown Source)
at com.google.android.youtube.player.internal.r$c.a(Unknown Source)
at com.google.android.youtube.player.internal.r$b.a(Unknown Source)
at com.google.android.youtube.player.internal.r$a.handleMessage(Unknown Source)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5041)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)
Im Stackstrace gibt es keine Zeilennummer, die auf eine meiner Klassen oder Aktivitäten verweist.
Irgendeine Idee davon?
Danke!
EDIT
Meine benutzerdefinierte YoutubePlayerFragment Klasse: YouTubeVideoPlayerFragment.java
public class YouTubeVideoPlayerFragment extends YouTubePlayerSupportFragment {
private static final String ARG_URL = "url";
// ===========================================================
// Constructors
// ===========================================================
/**
* Mandatory empty constructor for the fragment manager to instantiate the
* fragment (e.g. upon screen orientation changes).
*/
public YouTubeVideoPlayerFragment() {
}
/**
* Factory method to generate a new instance of the fragment given a video URL.
*
* @param url The video url this fragment represents
* @return A new instance of this fragment with itemId extras
*/
public static YouTubeVideoPlayerFragment newInstance(String url) {
final YouTubeVideoPlayerFragment mFragment = new YouTubeVideoPlayerFragment();
// Set up extras
final Bundle args = new Bundle();
args.putString(ARG_URL, url);
mFragment.setArguments(args);
// Initialize YouTubePlayer
mFragment.init();
return mFragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
private void init(){
initialize(Constants.API_KEY, new YouTubePlayer.OnInitializedListener() {
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean wasRestored) {
if (!wasRestored) {
youTubePlayer.cueVideo(getArguments().getString(ARG_URL));
youTubePlayer.setShowFullscreenButton(false);
}
}
}
fragment.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:layout_height="match_parent"
android:layout_width="match_parent"
android:background="@color/black" >
<!-- For YoutubeFragment -->
<FrameLayout
android:id="@+id/youtube_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
Aufruf der Methode:
EDIT
Ich habe den Ursprung dieser Fehler nicht gefunden werden. Dies ist das Szenario:
Die Aktivität beginnt. In onCreate()
instanziiert es ein neues YouTubeVideoPlayerFragment
und initialisiert YouTube Objekt (das die YouTubeServiceEntity
intern startet) in seiner newInstance()
Methode. Dann wird das YouTube
Fragment, das zuvor instanziiert wurde, mit FragmentManager
an das entsprechende FrameLayout
während Video geladen wird.
Hier ist das Problem: Wenn Benutzer die Aktivität beendet, bevor das Video geladen wurde, wird die Ausnahme ausgelöst.
Also, wenn Benutzer in diesem Fall von der Aktivität beenden möchten, was soll ich tun und wie? Ich weiß nicht wirklich was ich tun soll!
können Sie Ihren Code zeigen, wo Sie YouTubeServiceEntity –
Herausgegeben mit Code @Zoya – GmloMalo
Leider initialisiert, aber ich bin noch nicht finde die Initialisierung von YouTubeServiceEntity. und Ihr Logcat meldet dasselbe Problem –