在视图模型中使用短信检索器API

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

我想在视图模型中使用 Sms Retriver Api,但为了获取客户端对象,我应该将 android 上下文传递给 getClient 方法,如下所示。

val smsRetreiverClient = SmsRetriever.getClient(requireContext())

但问题是我想让我的业务代码保持在视图模型层。并且将上下文注入视图模型并不被认为是好的。 我应该怎么做才能避免在 ui 层注入上下文或实现业务代码? 任何建议和解决方案将不胜感激。

android viewmodel anti-patterns sms-retriever-api
1个回答
0
投票

对此问题的简短回答是,您应该利用 依赖注入 来提供已使用

SmsRetreiverClient
初始化的
Context
实例。

更长的答案是,您应该花一些时间来学习在 Android 上执行此操作的实际方法,即使用 Hilt 库。

您可以在此处找到官方 Google 指南。

这篇文章有一个使用

ApplicationContext
创建依赖关系的示例,您应该也会发现它很有用。

祝你好运

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.