Здравствуйте! Я начинающий программист в области java на андроид. пишу сейчас приложение на андроид - видеоплеер. Вообщем столкнулся с таким проблемой, неделю уже мучаюсь. Меню создан, метод, который находит видеофайлы есть, но когда нажимаю на файл, плеер сворачивается. Нужна помощь в написании метода, который бы воспроизводил выбранный файл в моем плеере т.е. на данном этапе в своем плеере, чтобы просмотреть галерею файлов, но при нажатии на файл приложение сворачивается.
public class VideoPlayer extends AppCompatActivity {
VideoView SMPlayer;
private static final int READ_REQUEST_CODE = 42;
private static final String TAG = "VideoPlayer";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_video_player);
VideoView videoView = (VideoView) findViewById(R.id.SMPlayer);
MediaController mediaController = new MediaController(this);
mediaController.setAnchorView(videoView);
videoView.setMediaController(mediaController);
videoView.requestFocus();
videoView.start();
}
//** метод продолжает видео при повороте экрана
int videoPosition = 0;
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
videoPosition = SMPlayer.getCurrentPosition();
outState.putInt("Position", videoPosition);
Log.d("My_Log", "onSaveInstanceState = " + videoPosition);
}
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
videoPosition = savedInstanceState.getInt("Position");
Log.d("My_Log", "onRestoreInstanceState = " + videoPosition);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.smmenu, menu);
return true;
}
//** обработка нажатий
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if(id==R.id.action_open){
Intent openFileIntent= null;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
openFileIntent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
}
assert openFileIntent != null;
openFileIntent.addCategory(Intent.CATEGORY_OPENABLE);
openFileIntent.setType("video/*");
startActivityForResult(openFileIntent,READ_REQUEST_CODE);
}
return super.onOptionsItemSelected(item);
}
protected void onActivityResult(int reguestCode, int resultCode, int showVideo, Intent data){
if(reguestCode== READ_REQUEST_CODE && resultCode == Activity.RESULT_OK){
Uri currentOpenFileUri = null;
if(data != null){
currentOpenFileUri = data.getData();
assert currentOpenFileUri != null;
Log.i(TAG, "Uri: " + currentOpenFileUri.toString());
showVideo(Uri);
}
}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
подскажите, делаю запуск через такую запись: C:\Users\user>javac Examplejava
Picassowith(this) работает в основном классе а в созданном что писать на место this?
Google уже сто раз меняет способ получения местоположения, прошариф весь SO и попробовав миллион кода, все без результатно
Когда я выбираю один из элементов JComboBox происходит ошибка в строке