从活动中获取文件以在Daydream中使用

时间:2017-11-05 04:52:04

标签: java android android-activity daydream

我正在开发一个必须使用视频在手机上设置屏幕保护程序的应用程序,实际上我可以在应用程序上选择视频,但我无法传递该值(文件或路径)以在DayDream中使用它。每次屏幕保护程序尝试运行它都会崩溃,在logcat中它显示为:null

有什么方法可以从我的应用中获取该值,以便在ScreenSaver中运行的白日梦服务中使用它? (如果我在代码上手动编写文件路径它没有问题,但我必须能够从应用程序设置视频)

此致

编辑:在Dreamservice类中,我使用它来播放视频,正如我在直接使用路径时所说(你可以在代码中看到它作为heman.mp4)它可以工作,但我需要传递文件/路径从应用程序

private void reproducirVideo()
{
    // Se crean los controles multimedia.
    reprod2.setMediaController(new MediaController(this));
    //System.console().printf("EL PATH DEL VIDEO!!!!! : " + video1Path);
    //reprod2.setVideoURI(Uri.parse("/sdcard/heman.mp4"));
    System.out.println("PATH DEL VIDEO: " + Linker.GetPath1());
    //reprod2.setVideoURI(Uri.parse(Linker.GetPath1()));

    //reprod2.setVideoURI(FileProvider.getUriForFile(this, this.getApplicationContext().getPackageName() + "com.toolkit.app.screensaver02.provider", getFileStreamPath("/sdcard/heman.mp4")));
    reprod2.setVideoURI(Uri.fromFile(Linker.GetPath1()));
    //reprod2.setVideoPath("/sdcard/heman.mp4");
    reprod2.start();

    reprod2.setKeepScreenOn(true);

    if (reprod2.canSeekForward())
        reprod2.seekTo(reprod2.getDuration()/2);


    //hacer algo durante la reproducción

    //reprod2.stopPlayback();

    salir.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent1 = new Intent(getApplicationContext(), VideoActivity.class);
            startActivity(intent1);
        }
    });
}

0 个答案:

没有答案