Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么Android TV YouTube播放器在我的应用程序中播放视频时会崩溃?_Java_Android_Youtube Api_Android Tv - Fatal编程技术网

Java 为什么Android TV YouTube播放器在我的应用程序中播放视频时会崩溃?

Java 为什么Android TV YouTube播放器在我的应用程序中播放视频时会崩溃?,java,android,youtube-api,android-tv,Java,Android,Youtube Api,Android Tv,我的Android电视应用程序上有一个视频列表。当我尝试播放视频时,YouTube播放器会弹出并播放。但是,播放器在尝试播放视频之前崩溃 崩溃发生得如此之快,以至于在应用程序崩溃到我的主视频页面之前,我无法在视图中看到播放器 有人能给我一些见解吗 下面是我仅有的简单代码: public class MainActivity extends Activity { private static final String VIDEO_ID = "fhWaJi1Hsfo"; privat

我的Android电视应用程序上有一个视频列表。当我尝试播放视频时,YouTube播放器会弹出并播放。但是,播放器在尝试播放视频之前崩溃

崩溃发生得如此之快,以至于在应用程序崩溃到我的主视频页面之前,我无法在视图中看到播放器

有人能给我一些见解吗

下面是我仅有的简单代码:

public class MainActivity extends Activity
{
    private static final String VIDEO_ID = "fhWaJi1Hsfo";
    private static final String TAG = "MyActivity";

    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Intent intentStartYoutube =
                YouTubeIntents.createPlayVideoIntent(getApplicationContext(), VIDEO_ID);
        startActivity(intentStartYoutube);
    }

    ....
}
仅供参考,清单文件已包含权限

更新日志目录:

FATAL EXCEPTION: main
Process: com.example.vietmytv_androidtv, PID: 20663
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.vietmytv_androidtv/com.example.vietmytv_androidtv.ui.MainActivity}: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=https://www.youtube.com/watch?v=fhWaJi1Hsfo pkg=com.google.android.youtube (has extras) }
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
    at android.app.ActivityThread.access$800(ActivityThread.java:151)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:135)
    at android.app.ActivityThread.main(ActivityThread.java:5257)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:955)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:750)
Caused by: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=https://www.youtube.com/watch?v=fhWaJi1Hsfo pkg=com.google.android.youtube (has extras) }
    at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1781)
    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1501)
    at android.app.Activity.startActivityForResult(Activity.java:3745)
    at android.app.Activity.startActivityForResult(Activity.java:3706)
    at android.app.Activity.startActivity(Activity.java:4016)
    at android.app.Activity.startActivity(Activity.java:3984)
    at com.ui.MainActivity.onCreate(MainActivity.java:54)
    at android.app.Activity.performCreate(Activity.java:5990)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 
    at android.app.ActivityThread.access$800(ActivityThread.java:151) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:135) 
    at android.app.ActivityThread.main(ActivityThread.java:5257) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:372

我遵循了这个教程:

手机上的YouTube与Android电视上的YouTube不同。因此,它可能试图打开一个不存在的应用程序。你能发一份事故日志吗

作为一种解决方法,您可以通过将您链接到YouTube URL的意图与YT for ATV应用程序进行交互。当你启动时,YouTube会看到链接,并打开应用程序来观看视频

public void OpenYT() {
    Intent youtube = new Intent();
    youtube.setAction(Intent.ACTION_VIEW);
    youtube.setData(Uri.parse("http://youtube.com/watch?v=dQw4w9WgXcQ"));
    getActivity().startActivity(youtube);
}

你看到任何崩溃日志了吗?@Vlad,这不能在模拟器上测试,所以没有崩溃日志,为什么不能?另外,你可以从连接USBI的真实设备上获得相同的崩溃日志。我在Android电视盒上测试它,我如何通过连接USB来查看崩溃日志?这确实有效,但为什么我使用的代码会崩溃?我想在自己的应用程序中播放youtube视频,而不必通过亚视youtube播放,这可能吗?…我更新了日志。你的应用程序正在尝试访问youtube应用程序,但该应用程序不存在。Android TV有一个单独的“YouTube for Android TV”应用程序,具有不同的软件包名称。您可以使用嵌入式WebView和YouTube的iframe API在应用程序中播放视频。@Pangu check