2011-08-31 71 views
0

在我的應用程序中,用戶可以設置一定的時間,我希望當時間達到設定的時間(基本上是一個鬧鐘)時,在屏幕上顯示通知,以確定應用程序當前是否正在運行。在android上運行鬧鐘的後臺服務?

我該如何去做這件事?

回答

2

檢查現在,我已經更新了代碼。

這裏是CountDownTimer的代碼。 當時間完成時,它發送一個通知。 您可以在Service或正常活動中使用它。

 public String ns = Context.NOTIFICATION_SERVICE; 
     public NotificationManager mNotificationManager;  
     Notification notification; 
     PendingIntent contentIntent; 
     Intent notificationIntent; 

     public class Main extends Activity{ 
      private final long startTime = 50000; 
      private final long interval = 1000; 

      @Override 
      public void onCreate(Bundle savedInstanceState) 
       { 
        super.onCreate(savedInstanceState); 
          int time=Integer.parseInt(editText.getText().toString()); 
          time=time*1000; 
          startTime = time; 

          // place this code on button listener if you want. 
        countDownTimer = new MyTimer(startTime, interval); 
       } 
     } 

     public class MyTimer extends CountDownTimer 
     { 
      public MyTimer(long startTime, long interval) 
       { 
        super(startTime, interval); 
       } 

       @Override 
       public void onFinish() 
       { 
        mNotificationManager = (NotificationManager) getSystemService(ns); 
        notificationIntent = new Intent(this, MyActivity.class); 
        notificationIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
        contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); 
        notification = new Notification(R.drawable.icon,"Time up..", System.currentTimeMillis()); 
        notification.setLatestEventInfo(this, "CallingaCab", "YOUR TIME COMPLETED", contentIntent); 
        mNotificationManager.notify(0, notification); 
        startActivity(notificationIntent); 
       } 

       @Override 
       public void onTick(long millisUntilFinished) 
       { 
        //Perform what do you want on each tick. 
       } 
      } 
     } 
+0

如何從倒數計時器內開始活動? – molleman

+0

什麼是傳入getSystemService的變量? NS? – molleman

+0

現在檢查,我已經更新了代碼。 – Noby