我有一个设置repeating alarm.的AlarmManager (实际上不是闹钟,而是发送邮件)。因此,在BroadcastReceiver中,我执行实际的邮件发送。但是发送邮件需要互联网。因此,当手机没有互联网连接时,电子邮件就不会被发送。如何在我的BroadcastReceiver中"snooze" onReceive()中的操作?我是不是要做一个新的接收器,用它来触发(当phon haz internietz)或者?
private boolean isNetworkAvailable() {
ConnectivityManager cm
= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ai= cm.getActiveNetworkInfo();
return ai!= null;
}编辑:让它正常工作。使用IntentService,它每10分钟检查一次互联网是否可用,如果可用,则发送邮件。如果没有互联网,IntentService将从我的BroadcastReceiver启动,这是最初发送电子邮件的位置。
发布于 2012-02-06 18:17:30
只需使用后台服务检查Internet连接即可。
如果互联网可用,它只是发送电子邮件,除非启动您的服务,它会每分钟检查一次互联网连接,直到电子邮件发送,然后关闭您的服务。
https://stackoverflow.com/questions/9158316
复制相似问题