4
appcompatとmediarouterバージョン26.0.2をplay-services-cast-frameworkバージョン11.2.2で使用すると、アンドロイドOreoデバイスにデフォルトのキャスト通知が表示されませんOreoデバイス)。これは、sdkが通知のためのチャネルを要求していないことに関連しているようです。Android OreoのGoogleキャストsdk v3通知
これは私の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を使用し続けます。 – BladeCoder
Google Issue Trackerリンク:https://issuetracker.google.com/issues/67251634 –
この問題もあります。 @BladeCoderで推奨されているようにtargetSdkVersionを25に下げるのは一時的な解決策のようです。 – masterwok