昨天我问了一个类似这样的问题,但已经改变了我的代码,并且现在有一个不同的问题。报警管理器无法触发
我有一个切换按钮,设置报警经理挂起的意图5秒后,应能触发。我有一次性的设置,所以我希望消息出现一次(后面我会实现这个日期值)。
我没有得到这个代码的错误,但我似乎不能触发我的意图,然后显示我的吐司消息。
下面是我所定义的“DateAlarm”类中的XML活动:
<activity
android:name=".DateAlarm"
android:label="@string/app_name" >
<intent-filter>
<action android:name="com.example.flybase2.DateAlarm" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
我的继承人我的切换按钮的onClick方法为我与报警经理切换按钮:
case (R.id.toggleButton1):
Integer dobMonth = setDate.getMonth();
Integer dobYear = setDate.getYear();
Integer dobDate = setDate.getDayOfMonth();
Date set;
set = new Date(dobYear - 1900, dobMonth, dobDate);
AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(this, DateAlarm.class);
PendingIntent pendingIntent = PendingIntent.getService(this, 0, intent, PendingIntent.FLAG_ONE_SHOT);
am.set(AlarmManager.RTC_WAKEUP,System.currentTimeMillis() + (5 * 1000), pendingIntent);
break;
和我最后的'DateAlarm'类持有意图的行动。
package com.example.flybase2;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.widget.Toast;
public class DateAlarm extends Activity {
Context context;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Toast.makeText(context, "Appointment is today", Toast.LENGTH_LONG).show();
}
}
尝试改变PendingIntent.getService到PendingIntent.getActivity –
@ A - Ç感谢那似乎开始了这个意图。现在只有问题当在DateAlarm类上打开类时,即时获取Null指针异常。 – user1352057
您尚未初始化上下文。在onCreate()做'context = this;' –