如何判断 Intent 是否来自 Google Cast 通知
How to tell if Intent was from Google Cast notification
我已经通过通知控件设置了投射功能。我遇到的问题是我需要区分用户单击通知(生成 activity)和创建 activity 的任何其他时间。
我认为这可以通过向清单中的接收方实体添加 intent-filter
来完成:
<receiver android:name=".services.CastIntentReceiver">
<intent-filter>
something goes here?
</intent-filter>
</receiver>
这基本上是必需的,因此我可以在 activity 从通知重新启动后重建我放置 Cast Controller 的视图。如果没有任何区别,该实现会干扰我为方向更改后的视图重建构建的功能(因为它们都使用 onResume()
)
在此先感谢您的帮助。
尝试阅读 Media Route Provider
。 Media Route 允许从他们的 Android 设备播放媒体内容,允许 Android 用户即时显示图片、播放歌曲或分享视频。
Android 媒体路由器框架允许制造商通过称为 MediaRouteProvider
的标准化接口在其设备上启用播放。路由提供程序定义了用于在接收方设备上播放媒体的通用接口,从而可以从任何支持媒体路由的 Android 应用程序在您的设备上播放媒体。
媒体路由提供程序作为 Android 应用程序的一部分分发。通过扩展 MediaRouteProviderService 或使用您自己的服务包装您的 MediaRouteProvider 实现并为媒体路由提供程序声明一个 Intent 过滤器,您的路由提供程序可用于其他应用程序。这些步骤允许其他应用程序发现并使用您的媒体路由。
媒体路由器框架支持两种主要的播放类型。媒体路由提供商可以支持一种或两种类型的播放,具体取决于您的播放设备的能力和您要支持的功能:
- 远程播放 — 这种方法使用接收器设备来处理内容数据检索、解码和播放,而用户手中的 Android 设备用作遥控器。 Android 支持 Google Cast.
的应用程序使用此方法
辅助输出——使用这种方法,Android 媒体应用程序检索、呈现视频或音乐并将其直接传输到接收设备。此方法用于支持 Android.
上的无线显示输出
<service android:name=".provider.SampleMediaRouteProviderService"
android:label="@string/sample_media_route_provider_service"
android:process=":mrp">
<intent-filter>
<action android:name="android.media.MediaRouteProviderService" />
</intent-filter>
</service>
public class SampleMediaRouteProviderService 扩展 MediaRouteProviderService {<br>
@覆盖
public MediaRouteProvider onCreateMediaRouteProvider() {
return 新的 SampleMediaRouteProvider(这个);
}
}
我已经通过通知控件设置了投射功能。我遇到的问题是我需要区分用户单击通知(生成 activity)和创建 activity 的任何其他时间。
我认为这可以通过向清单中的接收方实体添加 intent-filter
来完成:
<receiver android:name=".services.CastIntentReceiver">
<intent-filter>
something goes here?
</intent-filter>
</receiver>
这基本上是必需的,因此我可以在 activity 从通知重新启动后重建我放置 Cast Controller 的视图。如果没有任何区别,该实现会干扰我为方向更改后的视图重建构建的功能(因为它们都使用 onResume()
)
在此先感谢您的帮助。
尝试阅读 Media Route Provider
。 Media Route 允许从他们的 Android 设备播放媒体内容,允许 Android 用户即时显示图片、播放歌曲或分享视频。
Android 媒体路由器框架允许制造商通过称为 MediaRouteProvider
的标准化接口在其设备上启用播放。路由提供程序定义了用于在接收方设备上播放媒体的通用接口,从而可以从任何支持媒体路由的 Android 应用程序在您的设备上播放媒体。
媒体路由提供程序作为 Android 应用程序的一部分分发。通过扩展 MediaRouteProviderService 或使用您自己的服务包装您的 MediaRouteProvider 实现并为媒体路由提供程序声明一个 Intent 过滤器,您的路由提供程序可用于其他应用程序。这些步骤允许其他应用程序发现并使用您的媒体路由。
媒体路由器框架支持两种主要的播放类型。媒体路由提供商可以支持一种或两种类型的播放,具体取决于您的播放设备的能力和您要支持的功能:
- 远程播放 — 这种方法使用接收器设备来处理内容数据检索、解码和播放,而用户手中的 Android 设备用作遥控器。 Android 支持 Google Cast. 的应用程序使用此方法
辅助输出——使用这种方法,Android 媒体应用程序检索、呈现视频或音乐并将其直接传输到接收设备。此方法用于支持 Android.
上的无线显示输出<service android:name=".provider.SampleMediaRouteProviderService" android:label="@string/sample_media_route_provider_service" android:process=":mrp"> <intent-filter> <action android:name="android.media.MediaRouteProviderService" /> </intent-filter> </service>
public class SampleMediaRouteProviderService 扩展 MediaRouteProviderService {<br> @覆盖 public MediaRouteProvider onCreateMediaRouteProvider() { return 新的 SampleMediaRouteProvider(这个); } }