public class MainActivity extends AppCompatActivity {
    private static final int NOTIFICATION_ID = 0;
    AlarmManager alarmManager;
    Intent AlarmReceiver;
    PendingIntent pi;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
        AlarmReceiver = new Intent(this, AlarmReceiver.class);
        pi = PendingIntent.getBroadcast
                (this, NOTIFICATION_ID, AlarmReceiver, PendingIntent.FLAG_UPDATE_CURRENT);
      alarmManager.setExact(AlarmManager.ELAPSED_REALTIME_WAKEUP,SystemClock.elapsedRealtime() + 5000, pi);//定时
    }

    public void cancel(View view) {//取消定时
        alarmManager.cancel(pi);
    }

}

新建一个类 AlarmReceiver 继承 BroadcastReceiver 

public class AlarmReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
    //
    Toast.makeText(context, "time's up", Toast.LENGTH_SHORT).show();
    }
}

 最后在manifest文件中注册:

<receiver android:name=".AlarmReceiver" android:exported="true">
        <intent-filter>
            <action android:name="AlarmReceiver" />
       </intent-filter>
</receiver>

 

 

 posted on 2022-08-27 12:02  laremehpe  阅读(23)  评论(0编辑  收藏  举报