IllegalStateException:当我尝试在 Hilt 中提供 activity 时,onCreate() 之前的活动无法使用系统服务

IllegalStateException: System services not available to Activities before onCreate() When I tried to provide activity in Hilt

主要Activity

@AndroidEntryPoint
class MainActivity : AppCompatActivity() {

private lateinit var binding : ActivityMainBinding

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    binding = ActivityMainBinding.inflate(layoutInflater)
    setContentView(binding.root)

}

刀柄模块

@Module
@InstallIn(SingletonComponent::class)
class AppModule {

@Singleton
@Provides
fun provideActivity(): MainActivity = MainActivity()

@Singleton
@Provides
fun provideActivityUtils(@ActivityRetainedScoped context: MainActivity): ActivityUtils = 
ActivityUtilsImpl(context)
}

以及具有所需功能的实用程序 class

class ActivityUtilsImpl @Inject constructor(@ActivityRetainedScoped private val activity: 
MainActivity) : ActivityUtils {

override fun showKeyboard() {
    val imm = activity.getSystemService(Context.INPUT_METHOD_SERVICE) as 
InputMethodManager?
    imm?.toggleSoftInput(InputMethodManager.SHOW_IMPLICIT, 0)
 }
}

当我尝试使用 activity 实例从实用程序 class 调用某些内容时,出现错误 java.lang.IllegalStateException:系统服务在 onCreate ()[= 之前​​对 Activity 不可用14=]

试过@Activity上下文是一样的,怎么才能让它正常调用

   @Singleton
   @Provides
   fun provideActivity(): MainActivity = MainActivity()

永远不要手动实例化 Activity。

应该是

 @InstallIn(ActivityComponent::class)
 @Module
 class ActivityModule {
     @Provides @ActivityScope fun activityUtils(activity: Activity): ActivityUtils = ActivityUtilsImpl(activity)