2017-06-20 29 views
0

我想在應用程序中通過intent設置兩個鬧鐘。這是應用程序應該如何工作的,它應該從用戶獲得時間並設置鬧鐘時間爲+3分鐘。例如,如果用戶想要設置鬧鐘對於8點30分,它應該設置爲8點30分,然後8點33分立即報警。我用3作爲例子,但在實際運作中,我會在那裏包含一個變量。這個程序是設置多個鬧鐘與用戶輸入的差距。它會提示有關此類報警到set.So數量的用戶我寫了兩個意圖吧,但只有第一個是working.This是我的代碼:如何在android中同時運行2個intents?

Intent intent = new Intent(AlarmClock.ACTION_SET_ALARM); 

    intent.putExtra(AlarmClock.EXTRA_MESSAGE, "Your alarm"); 
    intent.putExtra(AlarmClock.EXTRA_HOUR, result); 
    intent.putExtra(AlarmClock.EXTRA_MINUTES, i); 
    if (intent.resolveActivity(getPackageManager()) != null) { 
     startActivity(intent); 
     } else { 
      Toast.makeText(getApplicationContext(), "There is alarm option for your device", Toast.LENGTH_SHORT).show(); 
     } 

    Intent intent1 = new Intent(AlarmClock.ACTION_SET_ALARM); 

    intent1.putExtra(AlarmClock.EXTRA_MESSAGE, "Your alarm"); 
    intent1.putExtra(AlarmClock.EXTRA_HOUR, result); 
    intent1.putExtra(AlarmClock.EXTRA_MINUTES, i+3); 
    if (intent1.resolveActivity(getPackageManager()) != null) { 
     startActivity(intent1); 
     } else { 
      Toast.makeText(getApplicationContext(), "There is alarm option for your device", Toast.LENGTH_SHORT).show(); 
     } 

,我們可以做的意圖對象作爲一個數組?

謝謝你的幫助先生。 這是我做的。

@Override 
    public void onResume() 
{ super.onResume(); 
    secondintent(); 
} 


public void secondintent() { 
     if (test == 1) 
     { 
      Intent intent1 = new Intent(AlarmClock.ACTION_SET_ALARM); 

     intent1.putExtra(AlarmClock.EXTRA_MESSAGE, mess); 
     intent1.putExtra(AlarmClock.EXTRA_HOUR, result); 
     intent1.putExtra(AlarmClock.EXTRA_MINUTES, i + 5); 
     startActivity(intent1); 
     i=i+5; 
     } 
+0

您是硬編碼3分鐘,你想實現?每隔3分鐘就應該設置alarm..as中,這不是一個很好的approach..what準確8:33 8:36 ...等等 – Akshay

+0

我只是舉了一個例子,它會從用戶那裏得到這個值。你還記得早起的想法嗎?沒有這個,我們可以把多個報警放在用戶給出的差距上,用戶可以選擇不設置報警。 – anjani

+0

是的..但是說用戶輸入5分鐘,所以它會觸發每5分鐘?? 8:80 8; 40 8:50 ...? – Akshay

回答

1

一旦你不能回到你主要還是以前的活動執行startActivity(firstIntent),除非您將finish()下一個活動或您點擊back按鈕。 每當您回到之前的活動時,就會調用onResume(),並且爲了繼續設置您的下一個鬧鐘,您必須再次調用startActivity(nextIntent)。 將您的方法看作startActivity(firstIntent)作爲break聲明。

所以你可以做的是,嘗試從onResume()設置下一個鬧鐘。

閱讀活動生命週期的概念here

+0

[link](http:// example .com)_italic _ ** bold **'@Override public void onResume(){ super.onResume(); void secondintent(); }' 這是我該怎麼做的嗎? – anjani

+0

是啊,這將工作:) – Dennis

+0

先生,但我收到一些錯誤說, – anjani

0

我想你應該改變你的代碼中使用報警管理多個報警 如果我不是使用權
This link