首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >即使应用程序关闭,也会每5分钟播放一次提示歌曲

即使应用程序关闭,也会每5分钟播放一次提示歌曲
EN

Stack Overflow用户
提问于 2019-04-19 06:59:58
回答 1查看 51关注 0票数 1

我试着每隔5分钟播放一次祝酒词,并播放一首警示歌曲,但它不起作用,什么也没有发生。

清单:

代码语言:javascript
复制
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

..

<receiver android:name=".AlarmReceiver"
            android:enabled="false">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED"></action>
            </intent-filter>
        </receiver>

MainActivity:

代码语言:javascript
复制
alarmMgr = (AlarmManager)MainActivity.this.getSystemService(Context.ALARM_SERVICE);
        Intent intent = new Intent(MainActivity.this, AlarmReceiver.class);
        alarmIntent = PendingIntent.getBroadcast(MainActivity.this, 0, intent, 0);

// Set the alarm to start at 8:30 a.m.
        Calendar calendar = Calendar.getInstance();
        calendar.setTimeInMillis(System.currentTimeMillis());
        calendar.set(Calendar.HOUR_OF_DAY, 8);
        calendar.set(Calendar.MINUTE, 30);

// setRepeating() lets you specify a precise custom interval--in this case,
// 5 minutes.
        alarmMgr.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),
                1000 * 60 * 5, alarmIntent);

AlarmReceiver:

代码语言:javascript
复制
public class AlarmReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub

        Toast.makeText(context, "OnReceive alarm test", Toast.LENGTH_SHORT).show();
    }
}

如果有什么东西丢失了或者有什么地方错了,你有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2019-04-19 07:22:13

setRepeating在功能上被弃用(从api 19开始),取而代之的是最小间隔为15分钟的setInexactRepeating,并且在批量处理多个告警时可能会增加额外的延迟。

如果你想要这样的侵略性警报,你需要使用单次setExact警报,并在onReceive中重新安排下一个警报。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55754696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档