PubNub can receive a message on an iPhone or Android device when the client app is inactive. This can be accomplished via a native Android app. PubNub runs a background process that boots when the device turns on. Then through Android Intents the app can be notified when a message from PubNub is received. This solution is very energy efficient (concerning battery discharge) due to the keep-alive policy for the open socket connection managed by PubNub.

Otherwise, you can send push notifications to Android devices using FCM or iPhone devices using APNS.