Search code examples
androidandroid-youtube-api

YouTube API getting error RuntimeException in android


I am very new to YouTube API ,my YouTube videos getting from my server when i click image getting error please any one help me how to resolve this

My Logcat error

 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.worldrev.revapp/com.worldrev.revapp.model.PlayYouTube1st}: java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=com.google.android.youtube.api.service.START } at com.worldrev.revapp.model.PlayYouTube1st.onCreate(PlayYouTube1st.java:37)

when i click YouTube image i am getting this error please any one help how to resolve this

here my my code

PlayYouTube1st.java

private static final int RECOVERY_DIALOG_REQUEST = 1;
String DEVELOPER_KEY = "AIzaSyAECWqrQPzIdsjdsdPtsaFr4ddada";
// YouTube player view
private YouTubePlayerView youTubeView;
String youtubeLink;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);

    setContentView(R.layout.youtube_main);
    Intent intent =getIntent();
    youtubeLink=intent.getStringExtra("youtubeLink");
    youTubeView = (YouTubePlayerView) findViewById(R.id.youtube_view);

    // Initializing video player with developer key
    youTubeView.initialize(DEVELOPER_KEY, this);

}

@Override
public void onInitializationFailure(YouTubePlayer.Provider provider,
        YouTubeInitializationResult errorReason) {
    if (errorReason.isUserRecoverableError()) {
        errorReason.getErrorDialog(this, RECOVERY_DIALOG_REQUEST).show();
    } else {
        String errorMessage = String.format(
                getString(R.string.error_player), errorReason.toString());
        Toast.makeText(this, errorMessage, Toast.LENGTH_LONG).show();
    }
}

@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider,
        YouTubePlayer player, boolean wasRestored) {
    if (!wasRestored) {

        // loadVideo() will auto play video
        // Use cueVideo() method, if you don't want to play it automatically
        player.loadVideo(youtubeLink);

        // Hiding player controls
        player.setPlayerStyle(PlayerStyle.CHROMELESS);
    }
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == RECOVERY_DIALOG_REQUEST) {
        // Retry initialization if user performed a recovery action
        getYouTubePlayerProvider().initialize(Config.DEVELOPER_KEY, this);
    }
}

private YouTubePlayer.Provider getYouTubePlayerProvider() {
    return (YouTubePlayerView) findViewById(R.id.youtube_view);
}

}

my manifest ManifestXml.XMl

<?xml version="1.0" encoding="utf-8"?>

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

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:theme="@style/AppTheme.NoActionBar" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".model.PlayYouTube1st"/>
    <activity
        android:name=".model.News_update_fulldecActivity"
        android:label="@string/title_activity_news_update_fulldec"
        android:theme="@style/AppTheme.NoActionBar" >
    </activity>
    <activity
        android:name=".Movie_rev_fulldis_activity"
        android:label="@string/title_activity_movie_rev_fulldis_activity"
        android:theme="@style/AppTheme.NoActionBar" >
    </activity>
</application>


Solution

  • This issues occur in Youtube API (1.2.1) version.so update latest version(1.2.2).

    Download the latest version YouTube Android Player API - Download.

    That issue fixed.No implicit intent problem solved in version 1.2.2