Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 恢复当前在Google Cast'中播放视频;扩展控制活动';而不是重新启动_Android_Video_Chromecast_Google Cast - Fatal编程技术网

Android 恢复当前在Google Cast'中播放视频;扩展控制活动';而不是重新启动

Android 恢复当前在Google Cast'中播放视频;扩展控制活动';而不是重新启动,android,video,chromecast,google-cast,Android,Video,Chromecast,Google Cast,从我的android手机上,如果我再次播放一段已经播放过的电视视频,手机上会出现“ExpandedControlsActivity”,视频会从电视上开始播放。 我不希望视频从头开始,我只希望它继续在电视上播放,并使“ExpandedControlsActivity”恢复到电视上的更新状态。可能吗?好的,是的。可以恢复当前播放的视频,因为GoogleCast框架具有中讨论的此设计功能 有了这个,您可能想尝试使用这个类 如本文所述 会话由类SessionManager管理,您的应用程序可以通过Cas

从我的android手机上,如果我再次播放一段已经播放过的电视视频,手机上会出现“ExpandedControlsActivity”,视频会从电视上开始播放。
我不希望视频从头开始,我只希望它继续在电视上播放,并使“ExpandedControlsActivity”恢复到电视上的更新状态。可能吗?

好的,是的。可以恢复当前播放的视频,因为GoogleCast框架具有中讨论的此设计功能

有了这个,您可能想尝试使用这个类

如本文所述

会话由类
SessionManager
管理,您的应用程序可以通过
CastContext.getSessionManager()
访问该类。单个会话由类
Session
的子类表示。例如,
CastSession
表示使用Cast设备的会话。您的应用程序可以通过
SessionManager.getCurrentCastSession()
访问当前活动的强制转换会话

此外,您还可以使用
SessionManagerListener
类监视会话事件,如恢复。当会话处于活动状态时,Google Cast framework会自动尝试从异常/突然终止恢复

下面是一个关于如何管理会话的示例:

public class MyActivity extends Activity {
    private CastSession mCastSession;
    private SessionManager mSessionManager;
    private final SessionManagerListener mSessionManagerListener =
            new SessionManagerListenerImpl();
    private class SessionManagerListenerImpl implements SessionManagerListener {
        @Override
        public void onSessionStarted(Session session, String sessionId) {
            invalidateOptionsMenu();
        }
        @Override
        public void onSessionResumed(Session session, boolean wasSuspended) {
            invalidateOptionsMenu();
        }
        @Override
        public void onSessionEnded(Session session, int error) {
            finish();
        }
    }
    @Override
    protected void onCreate() {
        mSessionManager = CastContext.getSharedInstance(this).getSessionManager();
        super.onCreate();
    }
    @Override
    protected void onResume() {
        mCastSession = mSessionManager.getCurrentCastSession();
        mSessionManager.addSessionManagerListener(mSessionManagerListener);
        super.onResume();
    }
    @Override
    protected void onPause() {
        super.onPause();
        mSessionManager.removeSessionManagerListener(mSessionManagerListener);
        mCastSession = null;
    }
}