Вы можете:
1- Создать класс приложения MyApplication, расширяющий класс приложения, и использовать его в качестве глобального контекста для получателя.
2- (не гарантировано, вы можете попробовать)параметр контекста, который вы получаете в методе onReceive для AppCompatActivity, затем вызывает getAppContext
Подсказка * Я не рекомендую код базы данных внутри метода onReceive. Лучше создать другую службу или службу intentservice и позволить службе обрабатывать код базы данных.
Редактировать:
Сначала создать новый класс в основном пакете:
public class MyApplication extends Application {
private static Context context;
public void onCreate() {
super.onCreate();
MyApplication.context = getApplicationContext();
}
public static Context getAppContext() {
return MyApplication.context;
}
}
Затем в файле манифеста Android объявите следующее.
<application android:name="your.package.name.MyApplication">
</application>
Теперь в вашем методе onReceive
или в любом другом месте вы можете вызвать MyApplication.getAppContext (), чтобы получить контекст вашего приложения.