CastContext.getSharedInstance(Context) 现已弃用

问题描述 投票:0回答:3

正如标题所示,

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
    });
android google-play-services chromecast android-cast-api
3个回答
0
投票

这才是正确的使用方法。在 Xamarin (C#) 中,您可以这样做:

var instanceTask =  CastContext.GetSharedInstance(Application.Context, Executors.NewSingleThreadExecutor());
var sharedInstance = await instanceTask as CastContext;

// do something with it

0
投票

我们可以简单地使用已用于其他后台处理的执行程序服务,而不是创建一个全新的服务:

CastContext.getSharedInstance(getApplicationContext(), Common.getBackgroundProcessor());

0
投票

您的方法适合异步检索

CastContext

但是,在官方演员示例应用程序中,他们通过直接在

CastContext
任务上调用
getResult()
来同步检索
getSharedInstance()

val castExecutor = Executors.newSingleThreadExecutor()
val castContext = CastContext.getSharedInstance(this, castExecutor).result
© www.soinside.com 2019 - 2024. All rights reserved.