0
我有一个public class AlarmReceiver extends BroadcastReceiver
和具有以下部分活动在其onCreate
广播接收器不触发
Intent intent = new Intent(this, AlarmReceiver.class);
pintent = PendingIntent.getBroadcast(this, 0, intent, 0);
AlarmManager alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
alarm.setExact(AlarmManager.RTC, Calendar.getInstance().getTimeInMillis() + 5000, pintent);
} else {
alarm.set(AlarmManager.RTC, Calendar.getInstance().getTimeInMillis()+5000, pintent);
}
因此,执行该代码后,我的AlarmReceiver
应该叫5秒的onReceive
方法,应该不会吧?但事实并非如此,我等了几分钟,但没有任何反应。是的,我已将<uses-permission android:name="com.android.alarm.permission.SET_ALARM"/>
添加到我的清单中。 (我的手机执行setExact
)
你有没有在清单中所列的接收器?另外,你不需要'SET_ALARM'权限。 –
啊当然...忘了那个。可惜的是,这并没有给我一个错误,比如当我尝试开始一个没有在那里列出的活动时。为什么我不需要许可?那是什么? – Ginso
使用'Intent'设置闹钟应用需要'SET_ALARM'权限。看看[这里](https://developer.android.com/reference/android/provider/AlarmClock.html)。 –