java - 无法在onActivityResult()中提示视频

标签 java android youtube android-youtube-api onactivityresult

我有两个 Activity :MainActivity具有显示来自YouTube的视频的youtubePlayerView和“选择”按钮,ChoseVideoActivity具有2个带有文本“Video1”和“Video2”的按钮。

MainActivity上,我单击“选择”按钮以打开ChoseVideoActivity。在ChoseVideoActivity中,我可以单击两个按钮之一。

单击带有文本“video1”的按钮时, Activity 将发回视频1的YouTube ID。当单击带有文本“video2”的按钮时, Activity 将发回视频2的YouTube ID。

onActivityResult中,我用发送回的ID调用cueVideo()
它应该起作用,但没有。
我在同一 Activity 中工作时效果很好。

我使用了YouTube Android播放器API。

MainActivity中的 onActivityResult()

 private void addEvents() {
    btChose.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(MainActivity.this, ChoseVideoActivity.class);
            startActivityForResult(intent,REQUEST_CODE);
        }
    });
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

    if(requestCode == REQUEST_CODE && resultCode == RESULT_OK && data!=null) 
    {
        String link = data.getStringExtra("LINK");
        player.cueVideo(link);
        Toast.makeText(this, link, Toast.LENGTH_SHORT).show();
    }
}

@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
    player = youTubePlayer;
}

@Override
public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
    Toast.makeText(this, "Error!",Toast.LENGTH_LONG).show();
}

ChoseVideoActivity中的单击侦听器
private void addEvents() {
    btVideo1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent();
            intent.putExtra("LINK",link_video1);
            setResult(RESULT_OK,intent);
            finish();

        }
    });
    btVideo2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent();
            intent.putExtra("LINK",link_video2);
            setResult(RESULT_OK,intent);
            finish();

        }
    });
}

最佳答案

由于我是新来的,所以我无法评论您的帖子。您的代码似乎还可以。因为我们看不到如何打开下一个 Activity ,所以我想确定一下,您是否真的使用startActivityForResult函数来打开第二个 Activity ?
像这样:

Intent intent = new Intent(this, SecondActivity.class);
startActivityForResult(intent, 0);

关于java - 无法在onActivityResult()中提示视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53517876/

相关文章:

java - openjdk : How to avoid fully recompilation of jdk after I modify jdk's code?

android - 如何将监听器附加到 ListView ?

android - TextView 上的 OnClick 事件停止 CardView 上的 RippleEffect

javascript - (Javascript) 来自嵌入代码的 YouTube 视频 ID - 正则表达式?

html - YouTube iframe用户列表自动播放

javascript - 如何使 youtube 字幕可选?

Java:无法通过反射访问注释

java - 这段代码执行的时间复杂度是多少?

java - 如何使用反射包从类路径创建对象

Android 应用标签颜色