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 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题