从睡眠中醒来时,Chromecast不会投射

时间:2017-01-05 23:10:58

标签: java android chromecast google-cast

我正在构建一个应用程序,可以将手机从睡眠中唤醒然后开始投射。 我做的方法是制作一个启动类似活动的BroadcastReceiver

WakeLocker.acquire(context);
Intent intentAlarm = new Intent(context, AlarmRingingActivity.class);
intentAlarm.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
        | Intent.FLAG_ACTIVITY_NO_USER_ACTION |
          Intent.FLAG_ACTIVITY_SINGLE_TOP |
          Intent.FLAG_ACTIVITY_CLEAR_TOP);
intentAlarm.setAction("ACTION_VIEW");
context.startActivity(intentAlarm);
然后在AlarmRingingActivity中

使用此代码

this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD |
                    WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
                    WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON,
            WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD |
                    WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
                    WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);

    mMediaRouteButton = (MediaRouteButton) findViewById(R.id.media_route_button);
    CastButtonFactory.setUpMediaRouteButton(getApplicationContext(), mMediaRouteButton);

    mCastContext = CastContext.getSharedInstance(this);

    mSelector = new MediaRouteSelector.Builder()
            // These are the framework-supported intents
            .addControlCategory(MediaControlIntent.CATEGORY_LIVE_AUDIO)
            .addControlCategory(MediaControlIntent.CATEGORY_LIVE_VIDEO)
            .addControlCategory(MediaControlIntent.CATEGORY_REMOTE_PLAYBACK)
            .build();
    mMediaRouter = MediaRouter.getInstance(this);
    for (MediaRouter.RouteInfo route : mMediaRouter.getRoutes()) {
        if (route.getName().equals("Min Stue")) {
            mMediaRouter.selectRoute(route);
            Log.d("MyAlarm", "Size:" + mMediaRouter.getRoutes().size());
        }
        Log.d("MyAlarm", route + "");
    }

如果我不锁定手机并开始投射,这一切都有效。但是,如果我锁定手机,它就不会开始投射。它显示了投射图标,我可以停止投射,但它实际上并没有投射到屏幕上。此外,如果手机睡眠时间过长,它会“忘记”媒体路线,唯一可用的媒体路线是手机本身。

所以我的问题是:

  1. 当我从睡眠中醒来/解锁手机时如何投射?
  2. 如何阻止应用“忘记”媒体路线?

0 个答案:

没有答案