Google Android Oreo 缺少投射 sdk v3 通知
Google cast sdk v3 notification missing for Android Oreo
将 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;
}
}
我没有看到任何提供通知渠道的方式,但也许我遗漏了什么。有人已经找到解决这个问题的办法了吗?
根据 bug tracker ticket,"This issue is fixed internally and fix will be available in future releases."...等着瞧吧!
将 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;
}
}
我没有看到任何提供通知渠道的方式,但也许我遗漏了什么。有人已经找到解决这个问题的办法了吗?
根据 bug tracker ticket,"This issue is fixed internally and fix will be available in future releases."...等着瞧吧!