【发布时间】:2018-02-28 16:44:18
【问题描述】:
将 appcompat 和 mediarouter 版本 26.0.2 与 play-services-cast-framework 版本 11.2.2 一起使用,默认的演员通知不会在 Android Oreo 设备上显示(适用于 Oreo 之前的设备)。这似乎与 sdk 没有为他的通知请求通道有关。
这是我的 CastOptionsProvider 文件:
public class CastOptionsProvider implements OptionsProvider {
@Override
public CastOptions getCastOptions(Context appContext) {
List<String> buttonActions = new ArrayList<>();
buttonActions.add(MediaIntentReceiver.ACTION_REWIND);
buttonActions.add(MediaIntentReceiver.ACTION_TOGGLE_PLAYBACK);
buttonActions.add(MediaIntentReceiver.ACTION_FORWARD);
buttonActions.add(MediaIntentReceiver.ACTION_STOP_CASTING);
int[] compatButtonActionsIndicies = new int[]{0, 1};
NotificationOptions notificationOptions = new NotificationOptions.Builder()
.setActions(buttonActions, compatButtonActionsIndicies)
.setSkipStepMs(30 * DateUtils.SECOND_IN_MILLIS)
.setTargetActivityClassName(ExpandedControlsActivity.class.getName())
.build();
CastMediaOptions mediaOptions = new CastMediaOptions.Builder()
.setNotificationOptions(notificationOptions)
.setExpandedControllerActivityClassName(ExpandedControlsActivity.class.getName())
.setImagePicker(new PlayImagePicker())
.build();
return new CastOptions.Builder().setReceiverApplicationId(appContext.getString(R.string.CHROMECAST_APP))
.setCastMediaOptions(mediaOptions)
.build();
}
@Override
public List<SessionProvider> getAdditionalSessionProviders(Context context) {
return null;
}
}
我没有看到任何提供通知渠道的方法,但也许我遗漏了一些东西。有人已经找到解决此问题的方法了吗?
【问题讨论】:
-
我注意到了同样的事情。 Cast SDK 尚未准备好用于 Oreo。与此同时,我将 targetSdkVersion 设置为 25,但我继续使用 compileSdkVersion 26。
-
Google 问题跟踪链接:issuetracker.google.com/issues/67251634
-
我也看到了这个问题。按照@BladeCoder 的建议将 targetSdkVersion 降低到 25 似乎是一个临时解决方案。
-
参考 google bug tracker 它已被修复以获得更多更新,您可以在这里查看issuetracker.google.com/issues/67251634
标签: android google-cast