Android 从何处启动AlarmManager?

Android 从何处启动AlarmManager?,android,multithreading,asynchronous,android-asynctask,alarmmanager,Android,Multithreading,Asynchronous,Android Asynctask,Alarmmanager,我尝试让应用程序定期向服务器报告,我希望在安装应用程序后启动该应用程序。我的问题是从哪里启动AlarmManager 如果希望在应用程序启动后立即设置警报,可以在应用程序类中进行设置。为此,我们创建一个类,比如扩展Application类的MyApplication,并在其onCreate()方法中设置报警onCreate()将在您启动应用程序的新实例时立即调用 public class MyApplication extends Application { @Override

我尝试让应用程序定期向服务器报告,我希望在安装应用程序后启动该应用程序。我的问题是从哪里启动AlarmManager

如果希望在应用程序启动后立即设置警报,可以在
应用程序
类中进行设置。为此,我们创建一个类,比如扩展
Application
类的
MyApplication
,并在其
onCreate()
方法中设置报警
onCreate()
将在您启动应用程序的新实例时立即调用

public class MyApplication extends Application {

   @Override
    public void onCreate() {
      //Set Alarm here
   }
}
要告诉Android运行时
MyApplication
是您的应用程序类,请更改应用程序的清单文件:

<application
        android:name="<your_package_name>.MyApplication"
....
>

使用监听

android.intent.action.BOOT_已完成

意图

使用广播接收器
onReceive
方法设置警报

请注意,这需要

android.permission.RECEIVE\u BOOT\u已完成


当你的应用程序处于打开状态时,或即使你的应用程序尚未启动,也随时向服务器报告?始终如此,即使应用程序已关闭。您好,感谢您的回答,但这不是解决方案。每次打开设备时,都会释放此信息。我的目的是在安装应用程序后发出警报。在用户第一次明确启动应用程序之前,Android系统会阻止您的代码运行。您将首次在应用程序中启动警报,但由于每次设备重新启动时警报都会被删除,您将使用我的回答中的方法再次设置警报。您好,谢谢您的回答。onCreate()方法是否在运行时运行?安装应用程序或激活应用程序后?在您第一次启动应用程序和/或在应用程序终止后重新启动应用程序时,会调用onCreate()。应用程序何时终止?我希望执行发送数据的任务,但无法终止该应用程序。该应用程序可能会被终止,原因有几个,例如,当您将其从最近的应用程序列表中删除时,当您强制停止时,当您的应用程序位于后台且其他前台应用程序需要内存时,然后安卓运行GC并关闭你的应用程序,这样前台的活动应用程序就可以在内存不足的情况下获得内存。我发现你的想法是可行的。虽然我现在正在努力解决另一个问题,我给AlarmManager一个1分钟的间隔,但这个延迟为5分钟来响应。你能想象出问题出在哪里吗?