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);
}
}
}