我必须每天结束时从我的 android 应用程序通过电子邮件发送报告。如何安排任务每天执行一次。如果互联网不可用,则在互联网恢复时发送报告。请帮助我..
提前谢谢..
对于时间表,您肯定必须看到 AlarmManager http://developer.android.com/reference/android/app/AlarmManager.html。
您需要使用 AlarmManager 在特定周期或不同时间间隔触发警报..设置广播接收器以触发警报..并启动意图服务以在后台发送电子邮件
在 mainactivity 中接收警报的示例类:
public void setRepeatingAlarm()
{
Intent intent = new Intent(this, ReceiveAlarm.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0,
intent, PendingIntent.FLAG_CANCEL_CURRENT);
am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(),
(10000 * 1000), pendingIntent);
}
广播接收器:
public class ReceiveAlarm extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
context.startService(new Intent(context, InService.class));
}
}
意图服务类示例:
public class InService extends IntentService
{
public InService() {
super("InService");
// TODO Auto-generated constructor stub
}
@Override
protected void onHandleIntent(Intent intent) {
//send email here
}
}
在标签内的清单中声明您的广播接收器/服务类
<receiver android:name="ReceiveAlarm" />
<service android:name="InService"></service>
你听说过 Android 中的服务吗?
1.创建服务
2.使用报警管理器,BroadCastReciever
例如,
service.setInexactRepeating(AlarmManager.RTC_WAKEUP,cal.getTimeInMillis(), REPEAT_TIME, pending);
3.平板开机时的开机动作
例如,
Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())
这是很棒的教程http://www.vogella.com/articles/AndroidServices/article.html这可能会帮助你