正如标题所示,
CastContext.getSharedInstance(Context)
现已弃用:
getSharedInstance(Context context):此方法已弃用。当 Cast SDK 无法加载内部 Cast 模块时,请使用 getSharedInstance(Context, Executor) 来处理异常。 https://developers.google.com/android/reference/com/google/android/gms/cast/framework/CastContext
指定 Executor 并返回 CastContext 的正确方法是什么? 我让它像这样工作,但我想知道这是否是最好的方法:
CastContext
.getSharedInstance(context, Executors.newSingleThreadExecutor())
.addOnSuccessListener(castContext -> {
//do something with castContext
})
.addOnFailureListener(exception -> {
//throw exception
});
这才是正确的使用方法。在 Xamarin (C#) 中,您可以这样做:
var instanceTask = CastContext.GetSharedInstance(Application.Context, Executors.NewSingleThreadExecutor());
var sharedInstance = await instanceTask as CastContext;
// do something with it
我们可以简单地使用已用于其他后台处理的执行程序服务,而不是创建一个全新的服务:
CastContext.getSharedInstance(getApplicationContext(), Common.getBackgroundProcessor());
您的方法适合异步检索
CastContext
。
但是,在官方演员示例应用程序中,他们通过直接在
CastContext
任务上调用 getResult()
来同步检索 getSharedInstance()
。
val castExecutor = Executors.newSingleThreadExecutor()
val castContext = CastContext.getSharedInstance(this, castExecutor).result