我有一个AlarmManager在我的MainActivity用来检查一个网站,如果某些条件,则创建一个通知。AlarmManager膨胀布局
的AlarmManger使用未决意图>在一个单独的类广播接收器。该广播接收器类然后调用第三个活动,执行代码来检查网站并处理结果,所有这些在应用程序未打开时在后台进行。
的问题是,当报警事件触发它实际上打开应用程序的主布局。我没有专门创建或膨胀此布局,但在MainActivity中。
我认为,当我的广播接收器调用新意图的问题被引起的。我认为FLAG_ACTIVITY_NEW_TASK是导致布局打开的原因。我没有在清单中指定任何特殊的启动模式,所以我不认为这可能是问题所在。
我的问题是,有没有适合我的方式来启动这个意图在从广播接收机的背景,而不会触发布局显示?我可以在清单中添加不同的标志或其他东西吗?
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在一小时一次后台静默运行,然后,如果满足准则发送通知,应用程序本身应该很少需要打开。
我会很高兴,如果它有利于后期更多的代码。
谢谢, 克里斯
阅读'Service' – gauravsapiens 2013-04-23 07:35:21
的http://开发商。 android.com/guide/components/services.html – gauravsapiens 2013-04-23 07:37:42