2012-03-15 1 views
0

Я разработать приложение, которое remindes пользователю каждые 10 минут с alertDialog в течение 2-х часов ТОЛЬКО,Как остановить сигнал тревоги андроид приложение

Я сделал приложение, которое напоминает пользователю за каждые 10 минут, но я хочу чтобы остановить это через 2 часа, на самом деле я не мог этого сделать,

Я искал, но не ответил, если использовал amManger.cancel(); он будет отменить сигнал тревоги до 2 часов: "( так, есть ли способ сделать это и пожалуйста, дайте expamle, как я новичок в андроид ...

благодаря alooooot ..

?

-------------- После обновления ---------------------------

public class MyAlarm extends Activity { 

    private PendingIntent pendingIntent; 
    int i = 1; 

    /** Called when the activity is first created. */ 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     Button buttonStart = (Button) findViewById(R.id.startalarm); 
     Button buttonCancel = (Button) findViewById(R.id.cancelalarm); 
     Button bCancel= (Button) findViewById(R.id.button1); 

     pendingIntent = PendingIntent.getService(MyAlarm.this, 0, 
       new Intent(MyAlarm.this, MyAlarmService.class), 0); 
     buttonStart.setOnClickListener(new View.OnClickListener() { 

      public void onClick(View v) { 
       // TODO Auto-generated method stub 


       long firstTime = SystemClock.elapsedRealtime(); 
       AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE); 
       AlarmManager am2 = (AlarmManager) getSystemService(ALARM_SERVICE); 
       am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, 
         firstTime + 10 * 1000, 10 * 1000, pendingIntent); 


      } 
     }); 

     bCancel.performClick(); 

Вопрос: - Где я должен положить код, чтобы остановить будильник, когда кнопка bCancel нажата автоматически?

- и как я могу сделать этот щелчок через два часа ???

спасибо,

ответ

1

Попробуйте this-

final Button bCancel= (Button) findViewById(R.id.button1); 
bCancel.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 

       //Your code to stop the alarm goes here. 

      } 
     }); 

new Handler().postDelayed(new Runnable() { 

      @Override 
      public void run() { 
       bCancel.performClick(); 
      } 
     }, (2*60*60*1000)); 
+0

спасибо, что я отсылаю их и большую часть моего кода от них, но их будильник не останавливался, пока пользователь не нажмет StopButton, мне нужно, чтобы будильник остановился автоматически через 2 часа: | – Samiah

+0

Затем вы можете щелкнуть по этой кнопке программно через два часа, если у вас есть какая-либо кнопка, используя метод 'performClick()'. Поместите обработчик, который запускается через 2 часа, а затем введите код внутри. Дайте мне знать, если возникнут какие-либо проблемы. – Rajkiran

+0

У меня нет кнопки для остановки этой тревоги, и я не знаю, как canu я создаю кнопку программно! можете ли вы дать мне какой-либо пример, спасибо alot – Samiah

0

Вы можете создать еще один сигнал, который отменит свой основной сигнал тревоги после 2-х часов. Это похоже на простейшее решение.

+0

спасибо большое, но где создает эту тревогу ?? в основной деятельности ??? – Samiah

+0

@ user1261835, вы должны создать его вместе со своим основным аварийным сигналом, чтобы убедиться, что он остановит основной сигнал тревоги ровно через 2 часа. – Egor

+0

ok плохо попробуйте спасибо в adavnce =) – Samiah