2013-01-23 19 views
7

Ricevo l'errore ActivityNotFoundException quando cerco di eseguire youtube api StandAlonePlayerActivity sul pane allo zenzero. Dove, come funziona bene su ICSYouTube API ActivityNotFoundException su Gingerbread

qui è il mio registro gatto

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) 

e qui è il codice che ho usato per l'avvio Player

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

sto errore di salire sul startActivity

Ecco il codice 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; 
    } 
+1

hai una chiave sviluppatore ?? Puoi darmi l'id del video che stai usando ?? Pubblica il codice di getYoutubeVideoId (vlink); – edwin

+0

@edwin sì ho la chiave sviluppatore. Ho menzionato nella mia domanda che è in corso su ICS. Ho provato con SimplePlayerView Da youtube api – Manoj

risposta

17

Prima verifica se il servizio YouTube è disponibile sul tuo dispositivo, quindi prova ad avviare tale attività. YouTubeApiServiceUtil.isYouTubeApiServiceAvailable(mContext). Prova anche a installare l'app YouTube da Google Play.

Piccolo nota della documentazione: Note: Users need to run version 4.2.16 of the mobile YouTube app (or higher) to use the API.

Edit: Questo è come lo si utilizza:

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 :) 
} 

Vedi le YouTubeInitializationResult enumerazioni qui https://developers.google.com/youtube/android/player/reference/com/google/android/youtube/player/YouTubeInitializationResult

anche la filosofia sulla classe di cui sopra: https://developers.google.com/youtube/android/player/reference/com/google/android/youtube/player/YouTubeApiServiceUtil

+0

puoi incollare uno snippet per YouTubeApiServiceUtil.isYouTubeApiServiceAvailable (Contesto contesto) – Manoj

+0

È nell'API, vedere la modifica sopra –

0

Stai eseguendo l'app sull'emulatore? Potrebbe non funzionare sull'emulatore poiché il player di YouTube non è installato per impostazione predefinita. Prova a eseguirlo su un dispositivo reale.

+1

lo sto eseguendo su Htc explorer – Manoj

+0

è l'app Youtube installata sul tuo dispositivo? –

+0

sì, ho installato l'app YouTube. :-( – Manoj

0

Per poter utilizzare YouTube api per Android sono necessari 3 Parametri

1) YouTube Developer Key

2) Video Id

3) ultima versione ufficiale YouTube Android App (versione 4.2.16)

Guardando su di voi il log cat penso che manchi uno di questi

Refer

+0

ha funzionato bene su Ics. Ho scaricato l'ultima versione di youtube api da [qui] (https://developers.google.com/youtube/android/player/download /) – Manoj

+1

ok, ho provato l'app demo su Android 2.1, funziona bene per me .. youtube api ha bisogno dell'ultima versione dell'app youtube ufficiale per la riproduzione di video. la tua app youtube sul telefono è l'ultima versione? – edwin

1

I dispositivi devono avere l'ultima app YouTube installata.

0

devi installare YouTube Android sul tuo dispositivo, ha funzionato per me!

Problemi correlati