簡體   English   中英

在Android上運行警報的后台服務?

[英]running a background service for an alarm on android?

在我的應用程序中,用戶可以設置一個特定的時間,我希望當該時間達到設置的時間(基本上是警報)時,無論應用程序當前是否正在運行,通知都會顯示在屏幕上。

我將如何去做?

冗長的答案毫無用處,您顯然搜索得並不多。

http://developer.android.com/reference/android/app/AlarmManager.html

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

這是CountDownTimer的代碼。 當時間結束時,它會發送通知。 您可以在“服務”或常規活動中使用它。

     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.
                }
            }
        }

請創建服務以擴展該服務類在后台運行的服務類,並檢查您想要執行的操作。 在這里您可以找到服務示例

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM