0

我必须创建一个每隔几秒重复一次的 AlarmManager,我使用这段代码

Intent in = new Intent(context,Tempo_Indietro.class);
in.putExtra("id_widget", appWidgetIds[i]);
PendingIntent pi = PendingIntent.getActivity(context, 0, in, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarm = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
alarm.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 1000, pi);

但它没有开始......为什么?

4

1 回答 1

0

要开始计划的活动:您可以使用如下:

Step1:AlarmManager 的设置

    Intent intent =new Intent(context,AlarmReceiver.class);

    PendingIntent pi = PendingIntent.getBroadcast(context, 0, in, PendingIntent.FLAG_UPDATE_CURRENT);

    AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);
    am.setRepeating(AlarmManger.RTC_WAKEUP,System.currentTimeMillis(), 1000, pi);

Step2:创建一个广播接收器

public class AlarmReceiver extends BroadcastReceiver {

 //override onReceive(Context, Intent) method
 @Override public void onReceive(Context context, Intent intent)
 {
 //.........
    Intent i = new Intent(context,Tempo_Indietro.class);
    i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    context.startActivity(i);
//..........  
 }

}

注意:不要忘记在 AndroidManifest.xml 文件中包含新创建的活动、接收者。

于 2012-04-21T01:34:46.860 回答