gpt4 book ai didi

android - 过滤或隐藏可用的 ChromeCast 设备

转载 作者:行者123 更新时间:2023-11-29 14:47:21 31 4
gpt4 key购买 nike

我正在开发一个使用 Chromecast 的应用程序,我希望能够根据设备名称或描述过滤可用的设备或路由。因此,当用户单击 MediaRouteButton 时,只会显示一些可用的设备。我的应用程序的用例发生在有许多转换设备可用的地方,我想确保用户不会不小心选择另一个房间的设备。应用程序中的用户信息存储用户所在的房间信息,并且 chromecast 以智能方式命名,因此理想情况下,只有特定用户房间的 chromecast 设备才会显示为他们可用。

我曾尝试获取 MediaRouteDialogFactory 并在该级别过滤设备,但没有成功。我似乎找不到任何隐藏或删除路由的机制。

最佳答案

要从选择器对话框中过滤 Chromecast 设备,您可以使用 onFilterRoute :

public boolean onFilterRoute (MediaRouter.RouteInfo route)
Returns true if the route should be included in the list.

The default implementation returns true for enabled non-default routes that match the selector. Subclasses can override this method to filter routes differently.

您需要创建一个CustomMediaRouteChooserDialog:

public class CustomMediaRouteChooserDialog extends MediaRouteChooserDialog {
public CustomMediaRouteChooserDialog(Context context) {
super(context);
}

public CustomMediaRouteChooserDialog(Context context, int theme) {
super(context, theme);
}

@Override
public boolean onFilterRoute(MediaRouter.RouteInfo route) {
// Apply your logic here.
// Return false to hide the device, true otherwise

if (TextUtils.equals(route.getName(), "Chromecast-hidden"))
return false;
else
return true;
}
}

然后创建一个CustomMediaRouteChooserDialogFragment:

public class CustomMediaRouteChooserDialogFragment extends MediaRouteChooserDialogFragment {

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
CustomMediaRouteChooserDialog dialog = new CustomMediaRouteChooserDialog(getActivity());
dialog.setRouteSelector(getRouteSelector());
return dialog;
}
}

然后创建一个CustomMediaRouteDialogFactory:

public class CustomMediaRouteDialogFactory extends MediaRouteDialogFactory {

@Override
public MediaRouteChooserDialogFragment onCreateChooserDialogFragment() {
return new CustomMediaRouteChooserDialogFragment();
}
}

然后在创建您的 MediaRouteActionProvider 之后调用 setDialogFactory:

mediaRouteActionProvider.setDialogFactory(new CustomMediaRouteDialogFactory());

关于android - 过滤或隐藏可用的 ChromeCast 设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30599581/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com