BroadcastReceiver has no default constructor in android manifest

is there a way around this?

No. Android has no idea how to invoke any other constructor, or what values to pass to that constructor.

this class is also a singleton class

That is not possible. Android will create a new instance of your manifest-registered BroadcastReceiver for every broadcast that it receives.

but there has to be a simpler method right?

Yes: do not make the BroadcastReceiver a singleton. Make some other class be the singleton, that the BroadcastReceiver uses.