我写了这样的代码:
mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
它将在Application的onCreate
函数中运行。但在某些Android手机中,它会在AudioManager
的构造函数中崩溃。我发现其他人有这个问题,他说应该在onCreate
内调用,这就是我所做的。
所以我的问题是什么时候调用getSystemService?或者我对它的使用是完全错误的?
logcat的:
答案 0 :(得分:0)
您只能在Context
或之后的组件生命周期中调用onCreate()
方法。
您发布的堆栈跟踪显示您正在getSystemService()
中调用ApkDownloadInfoDataManager.<init>
,即构造函数或成员变量初始化。假设ApkDownloadInfoDataManager
是一个Context
并且你正在调用一个方法,那就太早了。导致此问题的其他原因包括无效的Context
,例如使用new
实例化的问题。