У меня есть два действия: MainActivity
имеет youtubePlayerView
для отображения видео с YouTube и кнопку «Выбрать», ChoseVideoActivity
имеет 2 кнопки с текстом «Видео1» и «Видео2».
В MainActivity
я нажал кнопку "Выбрать", чтобы открыть ChoseVideoActivity
. В ChoseVideoActivity
я мог нажать любую из двух кнопок.
При нажатии кнопки с текстом «video1» действие отправляет обратно идентификатор YouTube видео 1. При нажатии кнопки с текстом «video2» действие отправляет обратно идентификатор YouTube видео 2.
В onActivityResult
я звоню cueVideo()
с идентификатором, который отправляется обратно. Это должно было сработать, но не сработало. Это работало нормально, когда я работаю в той же деятельности.
Я использовал API проигрывателя YouTube для Android.
onActivityResult() в MainActivity
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();
}
});
}