renwo713 2016-08-28 08:06 采纳率: 0%
浏览 3203
已结题

android的alarmmanager 设置闹铃就是不执行

先看代码,添加闹铃的,

 Intent intent = new Intent(context,RepeatingAlarm.class);
        intent.setAction("com.ryan.alarm.bbb");
        Log.i("获取日程id",""+alarmid);
        PendingIntent sender = PendingIntent.getBroadcast(
                context, alarmid, intent, PendingIntent.FLAG_CANCEL_CURRENT);

        Calendar calendar = Calendar.getInstance();
        calendar.setTime(alarmtime);
        Log.i("addAlarm",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(alarmtime));


        Log.i("addAlarm","当前系统时间:"+System.currentTimeMillis());
        AlarmManager am = (AlarmManager)context.getSystemService(Activity.ALARM_SERVICE);
        am.setTimeZone("GMT+08:00");
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
            am.setExact(AlarmManager.RTC, System.currentTimeMillis()+15*1000, sender);
        } else {
            am.set(AlarmManager.RTC, System.currentTimeMillis()+15*1000,  sender);
        }

广播很简单

 public class RepeatingAlarm extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
         Toast.makeText(context,"进入onReceive",Toast.LENGTH_SHORT).show();
        Log.i("RepeatingAlarm","进入onReceive");
    }
}

广播的注册

 <receiver android:name=".alarmtool.RepeatingAlarm" android:process=":remote" >
            <intent-filter>
                <action android:name="com.ryan.alarm.bbb" /><!-- 广播接收的Intent -->
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </receiver>

我先让当前时间的15秒后执行闹铃,但是就是收不到广播。
但是我用模拟器就可以收到广播,执行正常。我怀疑跟时区有关系,模拟器是标准格林尼治时间,手机是我们的东八区。但是也不应该啊,我看其他的也都是默认时区,都很正常。我的手机是奇酷的,我用vivo的手机试了,是可以正常进去的。就我的手机不行。奇怪了

  • 写回答

1条回答 默认 最新

  • renwo713 2016-08-28 08:07
    关注

    alarmtime 是我传进来的时间,本来是要设为某 年月日时分秒的, 但是不行,所以我用当前时间的15秒后来测, 还是不行

    评论

报告相同问题?

悬赏问题

  • ¥15 关于logstash转发日志时发生的部分内容丢失问题
  • ¥17 pro*C预编译“闪回查询”报错SCN不能识别
  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?