Youtube API ActivityNotFoundException на пряниках

Я получаю ошибку ActivityNotFoundException, когда я пытаюсь запустить youtube api StandAlonePlayerActivity на имбирном хлебе. Где он отлично работает на ICS

Вот мой кот

01-23 15:34:28.071: E/AndroidRuntime(3378): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.google.android.youtube.api.StandalonePlayerActivity.START (has extras) } 01-23 15:34:28.071: E/AndroidRuntime(3378): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1545) 01-23 15:34:28.071: E/AndroidRuntime(3378): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1515) 01-23 15:34:28.071: E/AndroidRuntime(3378): at android.app.Activity.startActivityForResult(Activity.java:2988) 01-23 15:34:28.071: E/AndroidRuntime(3378): at android.support.v4.app.FragmentActivity.startActivityFromFragment(FragmentActivity.java:701) 01-23 15:34:28.071: E/AndroidRuntime(3378): at android.support.v4.app.Fragment.startActivity(Fragment.java:787) 01-23 15:34:28.071: E/AndroidRuntime(3378): at com.example.demo.TipsFragment$2.onClick(TipsFragment.java:143) 01-23 15:34:28.071: E/AndroidRuntime(3378): at android.view.View.performClick(View.java:2533) 01-23 15:34:28.071: E/AndroidRuntime(3378): at android.view.View$PerformClick.run(View.java:9320) 01-23 15:34:28.071: E/AndroidRuntime(3378): at android.os.Handler.handleCallback(Handler.java:587) 01-23 15:34:28.071: E/AndroidRuntime(3378): at android.os.Handler.dispatchMessage(Handler.java:92) 01-23 15:34:28.071: E/AndroidRuntime(3378): at android.os.Looper.loop(Looper.java:150) 01-23 15:34:28.071: E/AndroidRuntime(3378): at android.app.ActivityThread.main(ActivityThread.java:4389) 01-23 15:34:28.071: E/AndroidRuntime(3378): at java.lang.reflect.Method.invokeNative(Native Method) 01-23 15:34:28.071: E/AndroidRuntime(3378): at java.lang.reflect.Method.invoke(Method.java:507) 01-23 15:34:28.071: E/AndroidRuntime(3378): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849) 01-23 15:34:28.071: E/AndroidRuntime(3378): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607) 01-23 15:34:28.071: E/AndroidRuntime(3378): at dalvik.system.NativeStart.main(Native Method) 

И вот код, который я использовал для запуска игрока

 String vid=getYoutubeVideoId(vlink); Intent intent=YouTubeStandalonePlayer.createVideoIntent(getActivity(),DEVELOPER_KEY, vid, 0,true,false); startActivity(intent); 

Я получаю ошибку на startActivity

Вот код getYoutubeVideoID ():

 /* * Getting id of video from url */ public static String getYoutubeVideoId(String youtubeUrl) { String video_id=""; if (youtubeUrl != null && youtubeUrl.trim().length() > 0 && youtubeUrl.startsWith("http")) { String expression = "^.*((youtu.be"+ "\\/)" + "|(v\\/)|(\\/u\\/w\\/)|(embed\\/)|(watch\\?))\\??v?=?([^#\\&\\?]*).*"; // var regExp = /^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#\&\?]*).*/; CharSequence input = youtubeUrl; Pattern pattern = Pattern.compile(expression,Pattern.CASE_INSENSITIVE); Matcher matcher = pattern.matcher(input); if (matcher.matches()) { String groupIndex1 = matcher.group(7); if(groupIndex1!=null && groupIndex1.length()==11) video_id = groupIndex1; } } return video_id; } 

Solutions Collecting From Web of "Youtube API ActivityNotFoundException на пряниках"

Сначала проверьте, доступна ли служба youtube на вашем устройстве, затем попытайтесь запустить эту операцию. YouTubeApiServiceUtil.isYouTubeApiServiceAvailable(mContext) . Также попробуйте установить приложение YouTube с помощью Google.

Небольшая заметка из документации: Note: Users need to run version 4.2.16 of the mobile YouTube app (or higher) to use the API.

Изменить: это то, как вы его используете:

 if(YouTubeApiServiceUtil.isYouTubeApiServiceAvailable(mContext).equals(YouTubeInitializationResult.SUCCESS)){ //This means that your device has the Youtube API Service (the app) and you are safe to launch it. }else{ // Log the outcome, take necessary measure, like playing the video in webview :) } 

См. Здесь перечисления YouTubeInitializationResult https://developers.google.com/youtube/android/player/reference/com/google/android/youtube/player/YouTubeInitializationResult

Также философия о вышеупомянутом классе: https://developers.google.com/youtube/android/player/reference/com/google/android/youtube/player/YouTubeApiServiceUtil

У устройств должно быть установлено последнее приложение YouTube.

Вы используете приложение на эмуляторе? Возможно, он не работает на эмуляторе, поскольку по умолчанию проигрыватель YouTube не установлен. Попробуйте запустить его на самом устройстве.

Чтобы использовать YouTube api для Android, вам нужны 3 параметра

1) Ключ разработчика YouTube

2) Идентификатор видео

3) Новое официальное приложение для Android на YouTube (версия 4.2.16)

Если вы посмотрите на лог-кошку, я думаю, что один из них отсутствует

обращаться

Вам нужно установить приложение YouTube для Android на свое устройство, это сработало для меня!