https://stackoverflow.com/a/47020822/12620073我试图在我的代码中使用这个解决方案,以便检查手机是否正在充电。然而,在这一行中-
BatteryManager myBatteryManager = (BatteryManager) context.getSystemService(Context.BATTERY_SERVICE);我不明白“上下文”这个术语应该属于什么类别,也不知道它到底是什么。如果有人能给我解释一下,我将不胜感激。
发布于 2021-11-21 17:10:01
Context是从Context类派生的任何类。这3种主要类型是活动、应用程序和服务。因此,如果您在活动中运行该代码,它将是this.getSystemService()。如果在另一个类中运行它,则需要向该类传递一个上下文。通常是您的活动,或您的应用程序(通常使用activity.getApplicationContext()访问)。对于getSystemService来说,在任何方便的上下文中运行它都是可以接受的。
通常,在将上下文传递给方法时,首选传递应用程序上下文。这是为了防止该类保存上下文的实例,因为在某些情况下,这样做会导致内存泄漏。
https://stackoverflow.com/questions/70056739
复制相似问题