Pertama-tama saya akan menganggap versi min api Anda lebih rendah dari api yang akan Anda panggil, karena di sanalah jenis anotasi ini masuk akal
@RequiresApi(Build.VERSION_CODES.N_MR1)
public void hello() { // codes that call system apis introduced in android N_MR1}
Ketika sebuah metode dianotasi dengan ini, kapan pun Anda memanggil metode itu, Anda menerima peringatan merah yang bagus bahwa panggilan ini membutuhkan versi api yang lebih tinggi dari versi api min Anda, tetapi itu tidak menghentikan Anda dari mengompilasi dan membangun apk Anda, itu hanya akan mogok di versi android yang lebih rendah saat saya mengujinya.
@TargetApi
Ini tidak membantu sama sekali, ini menekan peringatan untuk memanggil apis baru dalam metode Anda, tetapi ketika Anda memanggil metode ini dari tempat lain, tidak ada peringatan lint sama sekali, dan Anda masih dapat membangun dan menginstal apk Anda hanya untuk memenuhi crash ketika metode itu dipanggil.