我正在尝试创建一个播放短视频的简单活动,除了视频方向之外它工作得很好:我已将活动的方向锁定为纵向并且它可以在 VideoView 开始播放视频时工作。但是,之后几秒钟后,VideoView/MediaPlayer 似乎没有遵循它所在的活动的方向。
请注意,Activity 没有重新创建,视频在播放期间更改了自己的配置。
编辑:
当我尝试通过另一个后台活动的 AsyncTask 完成此活动时,此方向发生了变化,请注意,我已尝试使用 startActivityForResults(...) ..finishActiviy(...) 来完成此活动。以及发送应要求活动自行完成的意图(Single_top)。请注意 FLAG_ACTIVITY_REORDER_TO_FRONT 不会改变 orintation 这是用于锁定 orintation 的代码(它们都没有工作)
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); //OnCreate
android:screenOrientation="portrait" //manifest
android:screenOrientation="portrait" //layout
这是我用来播放视频的代码,活动:
protected onCreate(Bundle savedInstance){
.
.
.
videoHolder = (VideoView) findViewById(R.id.videoView);
videoHolder.setVideoURI(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.video));
videoHolder.start();
}
布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center"
android:keepScreenOn="true" >
<VideoView
android:id="@+id/videoView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:screenOrientation="portrait" />
</RelativeLayout>