我遇到了类似的问题,并通过在我的应用程序中添加BOOT_COMPLETED接收器来修复它

时间:2017-03-16 06:11:03

标签: android

我正在使用FCM进行Android的推送通知,但是我的推送不能使用像MI这样的设备,Oppo我使用了以下内容;

public class BootReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) {

            Intent startServiceIntent = new Intent(context, FBTokenService.class);
            context.startService(startServiceIntent);

            Intent notificationServiceIntent = new Intent(context, FBNotificationService.class);
            context.startService(notificationServiceIntent);
        }
    }
}

这个接收器根本没有被呼叫,任何人都可以在这方面帮助我。

提前致谢。

1 个答案:

答案 0 :(得分:0)

一些制造商(如MI,OPPO,华为)已禁止应用程序默认接收android.intent.action.BOOT_COMPLETED操作,即使您已在清单中注册也是如此。

除非用户通过添加"允许在启动时启动"(类似于此)对安全设置中特定应用的权限启用它,否则您可以获得启动时的操作完成。