【发布时间】:2015-09-09 22:10:38
【问题描述】:
我正在尝试将我的应用设置为每天在同一时间向用户发送通知。我设置了运行应用程序的时间,以便在我在模拟器上运行应用程序时显示。但是显示设置了闹钟却没有显示我设置的通知? 我创建了一个 Alarm.java 类来保存警报管理器,然后在我的 Main.java 类的 onCreate 方法中添加通知。
这是我的 Alarm.java 类
import android.app.Activity;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.Bundle;
import java.util.Calendar;
public class Alarm extends Activity {
Intent myIntent = new Intent(Alarm.this , Main.class);
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
PendingIntent pendingIntent = PendingIntent.getService(Alarm.this, 0, myIntent, 0);
Calendar today = Calendar.getInstance();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
today.set(Calendar.HOUR_OF_DAY, 12);
today.set(Calendar.MINUTE, 00);
today.set(Calendar.SECOND, 00);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, today.getTimeInMillis(), 24 * 60 * 60 * 1000, pendingIntent); //set repeating every 24 hours
}
}
这是来自我的 MainActivity.java 类的通知
nm=(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
notify=new Notification(R.drawable.feet,"Almost here!",today.getTimeInMillis());
CharSequence from="Here!";
CharSequence message=arriving.getText().toString();
Intent intent=new Intent(Main.this,Main.class);
PendingIntent pendingIntent=PendingIntent.getActivity(Main.this,0,intent,0);
Notification.Builder builder=new Notification.Builder(Main.this);
builder.setAutoCancel(false);
builder.setContentTitle(from);
builder.setContentTitle(message);
builder.setSmallIcon(R.drawable.fee);
builder.setContentIntent(pendingIntent);
builder.build();
notify=builder.getNotification();
nm.notify(0,notify);
finish();
PS.我把我的意图 Main.this 和 Main.class 因为我想调用 Main 类,当点击通知时保存用户输入,但是当我点击通知时,它打开 Main 类但是没有用户之前输入的内容。
感谢任何帮助!
【问题讨论】:
标签: android android-intent notifications sharedpreferences alarmmanager