我正在开发一个安卓应用程序,我一直在尝试编写代码来设置每天特定时间的通知。起初,我认为这将是一项容易的任务,几乎所有在Play商店中的应用都有计时通知。但是,在反复搜索之后,我找到的所有方法和Youtube教程都无法为我工作。问题可能出在我身上,但我不知道具体原因。我只需要一个简单、优雅、易于理解的方法(如果有的话)。非常感谢您的帮助。
我所做的所有搜索都让我走了这么远......但仍然没有任何运气:
这个方法在我的MainActivity类中,只有在首次启动应用程序时才会被调用以设置闹钟...
我所做的所有搜索都让我走了这么远......但仍然没有任何运气:
这个方法在我的MainActivity类中,只有在首次启动应用程序时才会被调用以设置闹钟...
private void alarmMethod() {
Intent myIntent = new Intent(this, NotifyService.class);
AlarmManager alarmMgr = (AlarmManager) getSystemService(ALARM_SERVICE);
pendingIntent = PendingIntent.getService(this, 0, myIntent, 0);
// Set the alarm to start at approximately 2:00 p.m.
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY, 14);
// With setInexactRepeating(), you have to use one of the AlarmManager interval
// constants--in this case, AlarmManager.INTERVAL_DAY.
alarmMgr.setInexactRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),
AlarmManager.INTERVAL_DAY, pendingIntent);
Toast.makeText(MainActivity.this, "Start Alarm", Toast.LENGTH_LONG)
.show();
以下是我的 NotifyService 类:
package com.OHS.example;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.Intent;
import android.media.RingtoneManager;
import android.net.Uri;
import android.os.IBinder;
import android.support.v4.app.NotificationCompat;
public class NotifyService extends Service {
@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onCreate() {
Uri sound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
NotificationManager mNM = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
Intent intent1 = new Intent(this.getApplicationContext(), MainActivity.class);
PendingIntent pIntent = PendingIntent.getActivity(this, 0, intent1, 0);
Notification mNotify = new NotificationCompat.Builder(this)
.setContentTitle("Title")
.setContentText("Hello World!")
.setSmallIcon(R.drawable.ic_launcher)
.setContentIntent(pIntent)
.setSound(sound)
.build();
mNM.notify(1, mNotify);
}
}
onDestroy()
方法,但这并没有帮助。有什么想法可以让闹钟响起,即使应用程序当前没有启动? - OHSalarmManager
的整个意义在于在特定时间在后台执行某些操作。 - OHS