创建日历事件时如何创建警报?
Posted
技术标签:
【中文标题】创建日历事件时如何创建警报?【英文标题】:How to create alarm when calendar event is created? 【发布时间】:2011-09-21 09:12:10 【问题描述】:我在日历中插入了一个事件。创建事件的时间也必须与创建时间相同的闹钟响铃。怎么做?我使用了以下代码,它给出了以下错误。
当我使用以下代码时出现以下错误: 主要活动:
Calendar caln = Calendar.getInstance();
caln.add(Calendar.SECOND, 2);
Intent intent = new Intent(ToDoApplicationActivity.this, AlarmReceiver.class);
intent.putExtra("alarm_message", title1);
PendingIntent sender = PendingIntent.getBroadcast(this, 192837, intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), sender);
startActivity(intent);
OnReceive 方法被覆盖:
public void onReceive(Context context, Intent intent)
try
Bundle bundle = intent.getExtras();
String message = bundle.getString("alarm_message");
Intent newIntent = new Intent(context, ToDoApplicationActivity.class);
newIntent.putExtra("alarm_message", message);
newIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(newIntent);
catch (Exception e)
Toast.makeText(context, "There was an error somewhere, but we still received an alarm", Toast.LENGTH_SHORT).show();
e.printStackTrace();
得到错误:
android.content.ActivityNotFoundException:找不到明确的活动类 com.android.todoapplication/android.todoapplication.AlarmReceiver;您是否在 AndroidManifest.xml 中声明了此活动?
任何帮助都非常感谢,并在此先感谢...
【问题讨论】:
【参考方案1】:尝试在您的AndroidManifest.xml
中添加您的活动“AlarmReceiver”。
如果您的活动扩展 Android Receiver(例如:BroadcastReceiver),请像这样添加它:
<application android:label="@string/app_name" ...>
...
<receiver android:name=".AlarmReceiver" android:process=":remote" />
</application>
其他
<application android:label="@string/app_name" ...>
...
<activity android:name=".AlarmReceiver"/>
</application>
【讨论】:
以上是关于创建日历事件时如何创建警报?的主要内容,如果未能解决你的问题,请参考以下文章
可以创建“隐藏”日历项目以在 iPhone 应用程序中显示通知警报吗?