Android:自动启动问题导致无法获取推送通知

时间:2017-10-11 12:47:37

标签: android firebase firebase-realtime-database firebase-cloud-messaging autostart

我有一个具有推送通知功能的应用。我注意到某些设备特别是中文手机,如 xiamoi,oppo,one plu 等,可以选择自动启动,这可以控制推送通知。当应用程序不在后台或最近列表中时,我没有获得推送通知。默认我的应用程序自动启动已关闭

但我很困惑,为什么像 Flipkart,亚马逊,Whatsapp,自动启动的应用程序默认启用

是否有任何选项可将默认设置为自动启动

1 个答案:

答案 0 :(得分:0)

我认为,更好的方法是使用默认的Android API功能在启动后运行服务,而不是使用中文手机中使用的自定义功能。 要按默认Android方式制作autrun,您应该添加到mainfest:

 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

 <receiver
      android:name=".BootReceiver"
      android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
      <intent-filter>
          <action android:name="android.intent.action.BOOT_COMPLETED" />
      </intent-filter>
 </receiver>

并编写Boot receiver:

public class BootReceiver extends BroadcastReceiver {

    public BootReceiver() {
        // TODO Auto-generated constructor stub
    }

    @Override
    public void onReceive(Context context, Intent intent) {
        //Run your service here 
    }
}