Closed. This question needs to be more focused。它当前不接受答案。
                            
                        
                    
                
            
                    
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
                        
                        2年前关闭。
                    
                
        

在我的应用程序中,我希望每位用户每24小时运行一次代码!
例如:如果在上午12:00显示Toast消息,然后在明天12:00再显示此Toast消息。

我该怎么做?

最佳答案

您需要注册一个警报,请尝试以下

步骤1:注册警报。

private void registerAlarm(Context context, int requestCode) {
    int HOUR = 60 * 60 * 1000;
    Intent intent = new Intent(context, DailyAlarmReceiver.class);
    PendingIntent pendingIntent = PendingIntent.getBroadcast(
            context, requestCode, intent, PendingIntent.FLAG_UPDATE_CURRENT);
    AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
    alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()
            + 24 * HOUR, pendingIntent);
}


调用registerAlarm方法,例如从活动onCreate中调用。理想情况下,我们应该在应用安装时进行注册

registerAlarm(this, 1);


步骤2:创建BroadcastReceiver。

public class DailyAlarmReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
       Log.d("DailyAlarmReceiver","Received");
    }
}


步骤3:在清单文件中添加接收方

<receiver
      android:name=".DailyAlarmReceiver"
      android:exported="true" />

09-10 03:11
查看更多