1

使用時に重大な問題が発生していますYouTubePlayerSupportFragment

WiFi に接続している限り問題なく動作しますが、モバイル データ接続に切り替えると、数秒間再生が成功した後、フラグメントがダイアログを表示しようとしているように見えますが、失敗します。

例外は次のとおりです。

       android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
    at android.view.ViewRootImpl.setView(ViewRootImpl.java:571)
    at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:246)
    at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
    at android.app.Dialog.show(Dialog.java:281)
    at com.google.android.youtube.core.player.ar.a(SourceFile:83)
    at com.google.android.youtube.core.player.Director.a(SourceFile:75)
    at com.google.android.youtube.core.player.m.a(SourceFile:1205)
    at com.google.android.youtube.core.async.a.f.a(SourceFile:185)
    at com.google.android.youtube.core.async.k.a(SourceFile:35)
    at com.google.android.youtube.core.async.ba.run(SourceFile:96)
    at android.os.Handler.handleCallback(Handler.java:725)
    at android.os.Handler.dispatchMessage(Handler.java:92)
    at android.os.Looper.loop(Looper.java:137)
    at android.app.ActivityThread.main(ActivityThread.java:5191)
    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:795)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
    at dalvik.system.NativeStart.main(Native Method)

フラグメントがインスタンス化される方法は次のとおりです。

YouTubePlayerSupportFragment youtubeFragment = YouTubePlayerSupportFragment.newInstance();
    youtubeFragment.initialize(getString(R.string.id_youtube),
            new YouTubePlayer.OnInitializedListener() {


                @Override
                public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer,
                                                    boolean
                                                            b) {
                    mYouTubePlayer = youTubePlayer;
                    mYouTubePlayer.setPlayerStyle(YouTubePlayer.PlayerStyle.CHROMELESS);
                    next();
                }

                @Override
                public void onInitializationFailure(YouTubePlayer.Provider provider,
                                                    YouTubeInitializationResult youTubeInitializationResult) {
                    getActivity().finish();
                }
            });
    getFragmentManager().beginTransaction().add(R.id.video_wrapper, youtubeFragment).commit();

これを解決する方法はありますか?

ゴッチェン

4

0 に答える 0