Java-Android试图让我的应用程序在启动/解锁时运行

Java-Android试图让我的应用程序在启动/解锁时运行,java,android,Java,Android,我有一个应用程序,我希望它在设备启动的第二天运行。我在网上进行了一些挖掘,发现了以下代码: 在我的清单中,我添加了以下内容: <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 但当我在模拟器中运行时,它确实在启动时运行。我做错了什么 更新 我创建了一个名为StartMyServiceAtBootReceiver的活动,如下所示: public class StartMyServi

我有一个应用程序,我希望它在设备启动的第二天运行。我在网上进行了一些挖掘,发现了以下代码:

在我的清单中,我添加了以下内容:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
但当我在模拟器中运行时,它确实在启动时运行。我做错了什么

更新

我创建了一个名为StartMyServiceAtBootReceiver的活动,如下所示:

public class StartMyServiceAtBootReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
            Intent serviceIntent = new Intent(context, MainActivity.class);
            context.startService(serviceIntent);
        }
    }

}

但是,当我重新启动android插件时,它不会在启动时启动我的应用程序。我做错了什么?

然后重新启动模拟器了吗?操作\u引导\u完成仅在设备引导时发生。当你的应用程序启动时不会。您应该将onReceive添加到StartMyServiceAtBootReceiver中,而不是添加到MainActivity中。您正在通过传递MainActivity启动服务。删除权限Android.permission.RECEIVE\u BOOT\u完成后,您是否也可以尝试?我已更新了我的问题…我添加了一个新的活动以放入onReceive代码,但它在启动时仍不会运行我的应用程序。
public void onReceive(Context context, Intent intent) {
        if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
            Intent serviceIntent = new Intent(context, MainActivity.class);
            context.startService(serviceIntent);
        }
    }
public class StartMyServiceAtBootReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
            Intent serviceIntent = new Intent(context, MainActivity.class);
            context.startService(serviceIntent);
        }
    }

}