簡體   English   中英

AlarmManager一次警報不觸發

[英]AlarmManager one time alarm does not fire

我想用以下內容觸發一次警報,該警報基本上是從https://developer.android.com/training/scheduling/alarms.html復制的(第二個ELAPSED_REALTIME_WAKEUP示例)。

這是在公共靜態類PlaceholderFragment內的擴展Fragment實現View.OnClickListener:

    @Override 
    public void onClick(View v) {
        Intent intent;
        intent = new Intent(this.getActivity(), MuteReceiver.class);
        AlarmManager alm = (AlarmManager)(this.getActivity().getSystemService(Context.ALARM_SERVICE));
        PendingIntent alarmIntent = PendingIntent.getBroadcast(getActivity(), 0, intent, 0);
        alm.set(AlarmManager.ELAPSED_REALTIME_WAKEUP,
            SystemClock.elapsedRealtime() + 60*1000, 
            alarmIntent);
        Log.d("MainActivity", "alarm set");
    }

公共類MuteReceiver擴展了BroadcastReceiver就像這樣:

public MuteReceiver() {
    Log.d("MuteReceiver", "constructed");
}

@Override
public void onReceive(Context context, Intent intent) {
    final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
    boolean started = prefs.getBoolean(MuteService.STARTED, false);
    Log.d("MuteReceiver", "Started=" + started);
}

我按了Fragment中的按鈕,看到了日志消息“ alarm set”,但是一分鍾后(甚至更晚),仍然沒有關於正在構建MuteReceiver或啟動MuteReceiver的日志(在onReceive中)

您擁有一個已注冊廣播的保證清單文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM