我想在视图模型中使用 Sms Retriver Api,但为了获取客户端对象,我应该将 android 上下文传递给 getClient 方法,如下所示。
val smsRetreiverClient = SmsRetriever.getClient(requireContext())
但问题是我想让我的业务代码保持在视图模型层。并且将上下文注入视图模型并不被认为是好的。 我应该怎么做才能避免在 ui 层注入上下文或实现业务代码? 任何建议和解决方案将不胜感激。
对此问题的简短回答是,您应该利用 依赖注入 来提供已使用
SmsRetreiverClient
Context
更长的答案是,您应该花一些时间来学习在 Android 上执行此操作的实际方法,即使用 Hilt 库。
您可以在此处找到官方 Google 指南。
这篇文章有一个使用
ApplicationContext
祝你好运