Mode Perlindungan Lanjutan Android (AAPM) adalah fitur baru yang diluncurkan di Android 16 yang bertujuan untuk meningkatkan keamanan perangkat Android bagi pengguna yang berisiko, seperti jurnalis dan aktivis. Fitur ini berfungsi sebagai satu setelan yang menerapkan serangkaian konfigurasi yang telah ditentukan sebelumnya dan dirancang untuk meningkatkan perlindungan perangkat. AAPM memprioritaskan keamanan daripada beberapa fungsi dan kegunaan yang berpotensi berkurang, yang berarti beberapa fitur mungkin dibatasi untuk meminimalkan permukaan serangan.
Dampak
AAPM mengubah perilaku layanan sistem tertentu untuk meningkatkan keamanan. Jika aplikasi Anda ditujukan untuk pengguna yang memperhatikan keamanan, Anda harus beradaptasi dengan batasan ini.
- Sinyal sistem: Saat pengguna mengaktifkan AAPM, sistem akan memberi tahu aplikasi yang berlangganan sehingga aplikasi tersebut dapat beradaptasi dengan lingkungan yang dibatasi.
- Modifikasi aplikasi yang diperlukan: Anda harus mengupdate aplikasi untuk menangani perubahan perilaku yang dipicu oleh AAPM. Misalnya, aplikasi Anda harus memperhitungkan:
- Menonaktifkan koneksi jaringan 2G dan WEP.
- Memblokir pengunduhan tidak resmi aplikasi.
- Logging forensik aktif.
- Panggilan yang diblokir dari nomor tidak dikenal.
- Mengaktifkan mekanisme perlindungan terhadap spam untuk link di aplikasi pesan.
- Mitigasi kustom tambahan untuk melindungi pengguna yang berisiko
Integrasi dengan AAPM
Untuk menggunakan API yang relevan, izin berikut harus dideklarasikan.
Mendapatkan izin
<uses-permission android:name="android.permission.QUERY_ADVANCED_PROTECTION_MODE" />
Periksa status
Pastikan pengguna telah mengaktifkan AAPM di perangkat. Hal ini dilakukan menggunakan layanan sistem AdvancedProtectionManager.
import android.security.advancedprotection.AdvancedProtectionManager
// ... inside your Activity or Service
val aapmManager = getSystemService(AdvancedProtectionManager::class.java)
if (aapmManager?.isAdvancedProtectionEnabled) {
// 🛡️ User is in Advanced Protection Mode.
// Engage shields: Disable risky features, enforce stricter authentication.
// TODO: Add Method which implements extra protections
}
Memantau perubahan runtime
Pengguna dapat mengaktifkan atau menonaktifkan AAPM saat aplikasi Anda berjalan. Daftarkan Callback untuk menerima info terbaru secara real time.
import android.security.advancedprotection.AdvancedProtectionManager
import java.util.concurrent.Executor
// Define the callback
val aapmCallback = AdvancedProtectionManager.Callback { isEnabled ->
if (isEnabled) {
// TODO: User just engaged protections. Lock it down!
} else {
// TODO: User disabled protections. You may relax restrictions.
}
}
// Register the callback (for example, in onStart)
// Ensure you use the correct executor (for example, mainExecutor for UI updates)
aapmManager?.registerAdvancedProtectionCallback(mainExecutor, aapmCallback)