2013-07-28 29 views

Trả lời

17

Bạn có thể hiển thị nó trong thanh hành động bằng cách thêm vào thanh menu hành động của bạn:

<item 
    android:id="@+id/action_mediaroute" 
    android:actionProviderClass="android.support.v7.app.MediaRouteActionProvider" 
    android:actionViewClass="android.support.v7.app.MediaRouteButton" 
    android:showAsAction="always" 
    android:title="@string/action_chromecast"/> 

Sau đó bạn cung cấp khởi tạo trong onCreateOptionsMenu:

public boolean onCreateOptionsMenu(Menu menu) { 

    getMenuInflater().inflate(R.menu.main, menu); 

    MenuItem mediaRouteItem = menu.findItem(R.id.action_mediaroute); 
    mMediaRouteButton = (MediaRouteButton) mediaRouteItem.getActionView(); 

    mCastContext = new CastContext(getApplicationContext()); 
    MediaRouteHelper.registerMinimalMediaRouteProvider(mCastContext, this); 
    mMediaRouter = MediaRouter.getInstance(getApplicationContext()); 
    mMediaRouteSelector = MediaRouteHelper.buildMediaRouteSelector(MediaRouteHelper.CATEGORY_CAST); 
    mMediaRouteButton.setRouteSelector(mMediaRouteSelector); 
    mMediaRouterCallback = new MyMediaRouterCallback(); 

    return true; 
} 
+0

Xin vui lòng cho tôi một giải pháp để hiển thị biểu tượng truyền trong thanh tác vụ bằng cách sử dụng ActionBarSherlock lib. Cảm ơn –

+0

Nếu tôi thêm mã đó vào 'onCreateOptionsMenu' thì tôi sẽ nhận được nút luôn bị tắt. Nếu tôi đặt nó trên 'onPrepareOptionsMenu' thì nút hoạt động tốt, trừ khi tôi xoay màn hình trong trường hợp nó quay trở lại để kích hoạt ngay cả khi tôi đã chọn một thiết bị. Có bất kỳ vấn đề như thế? – casolorz

+0

@ Jason, không hoạt động ... lỗi ứng dụng stil –

Các vấn đề liên quan