2017-09-19 30 views
4

使用帶play-services-cast-framework版本11.2.2的appcompat和mediarouter 26.0.2版,默認的投射通知未在Android Oreo設備上顯示(適用於pre奧利奧裝置)。這似乎與sdk沒有爲他的通知請求頻道有關。Google cast sdk v3通知缺少Android Oreo

這是我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; 
    } 

} 

我沒有看到任何方式提供通知渠道,但也許我失去了一些東西。有人已經找到了解決這個問題的辦法嗎?

+1

我注意到了同樣的事情。 Cast SDK尚未準備好用於Oreo。在此期間,我將targetSdkVersion設置爲25,但我一直使用compileSdkVersion 26. – BladeCoder

+2

Google Issue Tracker鏈接:https://issuetracker.google.com/issues/67251634 –

+0

我也看到了這個問題。按照@BladeCoder的建議將targetSdkVersion降至25,似乎是一個臨時解決方案。 – masterwok

回答

1

根據錯誤跟蹤器故障單,「此問題已在內部解決,修復將在未來的版本中提供。」......所以請拭目以待!