0

新しいアクティビティで YouTubePlayer を起動したいのですが、意図的に選択を渡していますが、プレーヤーは次のエラーをスローします:

E/ActivityThread: Activity com.vjava.ar.VideoPlayer は、もともとここ android.app.ServiceConnectionLeaked: Activity com.vjava.ar にバインドされていた ServiceConnection com.google.android.youtube.player.internal.r$e@94b7384 をリークしました。 VideoPlayer は、もともとここにバインドされていた ServiceConnection com.google.android.youtube.player.internal.r$e@94b7384 をリークしました

これが私のコードです:


package com.vjava.ar;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import com.google.android.youtube.player.YouTubeBaseActivity;
import com.google.android.youtube.player.YouTubeInitializationResult;
import com.google.android.youtube.player.YouTubePlayer;
import com.google.android.youtube.player.YouTubePlayerView;


public class VideoPlayer extends YouTubeBaseActivity {

    String videoFile = "XfRFbQ3CvYw";
    YouTubePlayerView youTubePlayerView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_video_player);
        youTubePlayerView = (YouTubePlayerView) findViewById(R.id.player);
        Intent intent = getIntent();
        int opened = intent.getIntExtra("opened", 0);
        switch (opened) {
            case 0:
            case 1:
                videoFile = "SdnjROOeS4c";

        }
        playYouTube();
        Intent returnIntent = new Intent();
        setResult(Activity.RESULT_CANCELED, returnIntent);
        finish();
    }
    

    private void playYouTube() {
        youTubePlayerView.initialize("MY_DEV_KEY", new YouTubePlayer.OnInitializedListener() {
                    @Override
                    public void onInitializationSuccess(YouTubePlayer.Provider provider,
                                                        YouTubePlayer youTubePlayer, boolean b) {
                        youTubePlayer.cueVideo(videoFile);
                    }
                    @Override
                    public void onInitializationFailure(YouTubePlayer.Provider provider,
                                                        YouTubeInitializationResult youTubeInitializationResult) {

                    }
                });
    }
}

許可されている画面モードが横長であることをマニフェスト ファイルに設定しました。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.vjava.ar">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".VideoPlayer"
            android:screenOrientation="landscape">
        </activity>
        <activity
            android:name=".DailyContent"
            android:screenOrientation="landscape"
            ></activity>
        <activity android:name=".Content"
            android:screenOrientation="landscape">
        </activity>
        <activity
            android:name=".MainActivity"
            android:screenOrientation="landscape">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

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

</manifest>

ここで関連するすべての質問を確認しましたが、一部はコンテキストに関するもので、一部は YouTubePlayer サムネイルに関するものでした。それらのどれも私を助けませんでした。

4

0 に答える 0