Intereting Posts
Получение идентификатора видео YouTube, включая параметры Android Animation оставляет артефакты ImageButton не выделяет клик с помощью Прозрачного фона Должен ли я использовать Bitmap или Drawable для хранения в ImageCache на Android? Что происходит, когда приложение падает? Служба поддержки Paho MQTT Android пробуждает активность W / PicturePileLayerContent: Предупреждение: картина PicturePile без содержимого Почему Android-приложения не предоставляют опцию «Выход»? Установить onClickListener для элемента spinner? "System.IO.FileNotFoundException: Не удалось загрузить сборку" Xamarin.Android.Support.v13 "После замены в библиотеке поддержки v4 Изображение, взятое из галереи, отображается в различной ориентации при использовании phonegap в android Динамически обновлять TextView в Android Отправлять электронную почту с помощью объекта bitmap в качестве приложения в Android? Сравнение между QAbstractButton и QPushButton * отсутствует литой Ошибки Facebook, связанные с auth.extendSSOAccessToken

Android: при просмотре полноэкранного видео youtube я отжимаю назад, а активность завершается

Я читал все вокруг, оставляя полноэкранный режим с видео на YouTube, нажимая назад, но в моей Activity это не работает так, но я бы хотел.

Я отправляю вам код:

 public class MainActivity extends YouTubeFailureRecoveryActivity { public static String prefix = "https://gdata.youtube.com/feeds/api/playlists/"; public static String sufix = "?v=2&alt=jsonc"; private String myPlayList = "PLZGKlf2ZwY7ua0C2oeUaXQKeLKNGy3mkh"; private VideosListFragment videosFragment; // The next video to play private Video actualVideo; // This is the handler that receives the response when the YouTube read private Handler responseHandler; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); videosFragment = (VideosListFragment) getFragmentManager().findFragmentById(R.id.videosListView); getUserYouTubeFeed(); } @Override public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player, boolean wasRestored) { if (!wasRestored) { player.loadVideo(actualVideo.getVideoId()); } } @Override protected YouTubePlayer.Provider getYouTubePlayerProvider() { return (YouTubePlayerFragment) getFragmentManager().findFragmentById( R.id.youtube_fragment); } public void getUserYouTubeFeed() { responseHandler = new Handler() { public void handleMessage(Message msg) { populateListWithVideos(msg); }; }; // We start a new AsyncTask that does its work on its own thread // We pass in a handler that will be called when the task has finished LoadPlayListElements bgTask = new LoadPlayListElements(responseHandler); bgTask.execute(myPlayList); } /** * This method retrieves the Library of videos from the task and passes them * to our ListView * * @param msg */ private void populateListWithVideos(Message msg) { Library lib = (Library) msg.getData().get( LoadPlayListElements.LIBRARY); VideosAdapter videos = new VideosAdapter(this, lib.getVideos()); videosFragment.setListAdapter(videos); } @Override protected void onStop() { // Make sure we null our handler when the activity has stopped responseHandler = null; super.onStop(); } public void setVideo(Video _item, boolean _activate) { actualVideo = _item; if (_activate){ YouTubePlayerFragment fragment = (YouTubePlayerFragment) getFragmentManager() .findFragmentById(R.id.youtube_fragment); if (fragment != null && fragment.isInLayout()) { fragment.initialize(DeveloperKey.DEVELOPER_KEY, this); } } } } 

И макет:

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" > <fragment android:id="@+id/videosListView" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:layout_marginTop="?android:attr/actionBarSize" class="com.vivoenmimundo.sc2hotsepicreplays.ui.phone.fragment.VideosListFragment" > </fragment> <fragment android:name="com.google.android.youtube.player.YouTubePlayerFragment" android:id="@+id/youtube_fragment" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="2" android:layout_gravity="center_vertical"/> </LinearLayout> 

Есть идеи? Я пытался не делать ничего слишком странного, просто скопируйте / вставьте из примеров API YouTube.

Solutions Collecting From Web of "Android: при просмотре полноэкранного видео youtube я отжимаю назад, а активность завершается"

Как было сказано ранее, правильное поведение – потому что игрок находился внутри фрагмента, мне пришлось поймать кнопку «назад»:

 @Override public void onBackPressed() { if (fullScreen){ videoPlayer.setFullscreen(false); } else{ super.onBackPressed(); } } 

И установите мой «fullScreen» boolean следующим образом:

 @Override public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player, boolean wasRestored) { if (!wasRestored) { showPlayer(); videoPlayer = player; videoPlayer.setOnFullscreenListener(new OnFullscreenListener() { @Override public void onFullscreen(boolean _isFullScreen) { fullScreen = _isFullScreen; } }); videoPlayer.loadVideo(actualVideo.getVideoId()); } } 

Спасибо всем!

Шаг 1: Следуйте за ответом 16 от Nhano

Шаг 2: добавьте строку ниже в свой тег Menifest YoutubeActivity.

андроид: configChanges = "ориентация | Размер экрана"

Это решение работало для меня ..

Вы можете попытаться обнаружить нажатие кнопки «Назад» и пользовательское определение того, что он делает.

 // Sets functionality of the hard buttons on the device @Override public boolean onKeyUp(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { // Custom define what you want to happen } return true; }