0

ボタンが押されたときに AlarManager を起動したい。問題は次のとおりです。アプリを起動すると AM が開始されます :/

私のコード:

public void scheduleAlarm()
    {  
            int time = 10 * 1000;

            intentAlarm = new Intent(this, AlarmReciever.class);

            alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
            alarm.setRepeating(AlarmManager.RTC_WAKEUP, time, time, PendingIntent.getBroadcast(this,1,  intentAlarm, PendingIntent.FLAG_UPDATE_CURRENT));

    }

そして、ボタンの onClickListener でこれを呼び出そうとします。しかし、それは活動の最初から始まります:/

誰でも私を助けることができますか?

4

4 に答える 4

1

コードを投稿していただきありがとうございます。これを試して:

public static String ALARM_TO_SET = "ALRMTOSEND";
yourButton.setOnClickListener(new OnClickListener(){
public void onClick(View view){
     int time = 10 * 1000;

    intentAlarm = new Intent(ALARM_TO_SET);

    alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
    PendingIntent pIntent = PendingIntent.getBroadcast(this, 0, intentAlarm, 0)
    alarm.setRepeating(AlarmManager.RTC_WAKEUP, time, time, pIntent);


  }
});

ブロードキャスト レシーバーは、Manifest.xml ファイルに次のように登録する必要があります。

<receiver android:name=".AlarmRecieverClass">
<intent-filter>
<action android:name="ALRMTOSEND" />
</intent-filter>
</receiver>
于 2013-07-19T12:24:32.817 に答える
0

これには timerTask を使用してみませんか..

于 2013-07-19T09:13:35.563 に答える
0

メソッドsetRepeating内で呼び出しを移動する必要がありますonClickListener

于 2013-07-19T09:12:23.430 に答える