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: BroadcastReceiver の作成

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 に答える