Java AlarmManager充气布局

Java AlarmManager充气布局,java,android,android-intent,broadcastreceiver,alarmmanager,Java,Android,Android Intent,Broadcastreceiver,Alarmmanager,我的MainActivity中有一个AlarmManager,用于检查网站并在某些条件为真时创建通知 AlarmManger在单独的类中使用pending intent>broadcast receiver。然后,广播接收器类调用第三个活动,该活动执行代码以检查网站并处理结果,所有这些都是在应用程序未打开时在后台进行的 问题在于,当报警事件触发时,它实际上会打开应用程序的主布局。除了在Main活动中,我没有在任何地方专门创建或膨胀此布局 我认为当我的广播接收器调用新的意图时,问题就出现了。我认为

我的MainActivity中有一个AlarmManager,用于检查网站并在某些条件为真时创建通知

AlarmManger在单独的类中使用pending intent>broadcast receiver。然后,广播接收器类调用第三个活动,该活动执行代码以检查网站并处理结果,所有这些都是在应用程序未打开时在后台进行的

问题在于,当报警事件触发时,它实际上会打开应用程序的主布局。除了在Main活动中,我没有在任何地方专门创建或膨胀此布局

我认为当我的广播接收器调用新的意图时,问题就出现了。我认为FLAG_ACTIVITY_NEW_任务是导致布局打开的原因。我的清单中没有指定任何特殊的启动模式,所以我认为这可能不是问题所在

我的问题是,有没有一种方法可以让我在不触发布局的情况下,从广播接收器的背景中开始这一意图?我可以在清单中添加不同的标志或其他内容吗

package alert.wow.onlinealert;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;

public class AlarmReceiver1 extends BroadcastReceiver {

@Override
public void onReceive(final Context context, final Intent intent) {
System.out.println("Timed Signal received by AlarmReceiver");
   try {

 Intent intent1 = new Intent(context, Jrequest.class);
intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    context.startActivity(intent1);       
    } catch (Exception e) {
    System.out.println(e.toString());

    } 
    }
 }
这里的最终目标是让AlarmReceiver每小时在后台静默运行一次,然后发送通知。如果满足条件,应用程序本身应该很少需要打开

如果有帮助的话,我很乐意发布更多的代码

谢谢,
克里斯

用服务代替活动,下面是马克·墨菲的作品


希望这对你有所帮助,亚龙

谢谢你的链接!我对这一切都很陌生。您能为这些java文件提供一些上下文吗?我假设我需要全部使用它们,因为它们似乎相互链接,但我不确定它们的确切用途,也不确定我是如何开始使用它们的。此外,在使用这些服务时,即使手机处于睡眠状态,服务是否仍会继续执行,或者进程是否会等待并在唤醒时运行?下面是一个完整项目的示例,您可以下载该项目,然后将其导入Eclipse。