我使用一个名为MyTimeReceiver的广播接收器,每隔一小时显示一次吐司(为了测试,每10秒显示一次)。我的问题是吐司没有显示出来。
下面是我从主活动文件(SafeDrive3Activity)中截取的代码:
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(System.currentTimeMillis());
//add 10 seconds to calendar object
cal.add(Calendar.SECOND, 10);
mAlarmSender = PendingIntent.getBroadcast(SafeDrive3Activity.this,
0, new Intent(SafeDrive3Activity.this, MyTimeReceiver.class), 0);
// Schedule the alarm!
AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP,
SystemClock.elapsedRealtime(),mAlarmSender); broadcastreceiver类:
public class MyTimeReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context,"HOUNOTIFICATION", Toast.LENGTH_LONG).show();
}
}请帮帮忙,这已经让我发疯好几个小时了。
发布于 2012-02-03 05:26:04
这里到处都是。您创建了一个从未使用过的Calendar,您告诉AlarmManager使用该RTC_WAKEUP,然后使用elapsedRealtime()时间源:)。
试试这个:
am.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), mAlarmSender);发布于 2012-02-03 05:26:31
试试这个,每10秒显示一次吐司。
am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 1000*10, mAlarmSender));https://stackoverflow.com/questions/9120041
复制相似问题