Yang ada di Android 9 untuk aplikasi perusahaan

Halaman ini menyediakan ringkasan tentang enterprise API, fitur, dan perubahan perilaku yang tersedia di Android 9.

Antarmuka pengguna profil kerja

Android 9 (API level 28) menyertakan perubahan antarmuka pengguna di peluncur default untuk membantu pengguna memisahkan aplikasi pribadi dan kerja. Produsen perangkat yang mendukung hal ini dapat menampilkan aplikasi pengguna di tab kerja dan pribadi yang terpisah. Kami juga mempermudah pengguna perangkat untuk mengaktifkan dan menonaktifkan profil kerja dengan menyertakan tombol di tab kerja peluncur.

Gambar 1. Tab pribadi dan tab kerja peluncur default dengan tombol profil kerja

Saat menyediakan profil kerja dan perangkat terkelola, Android 9 menyertakan ilustrasi animasi untuk membantu pengguna perangkat memahami fitur-fitur ini.

Beralih aplikasi di seluruh profil

Android 9 menyertakan API untuk meluncurkan instance lain aplikasi di profil yang berbeda untuk membantu pengguna beralih akun. Misalnya, aplikasi email dapat menyediakan UI yang memungkinkan pengguna beralih antara profil pribadi dan profil kerja untuk mengakses dua akun email. Semua aplikasi dapat memanggil API ini untuk meluncurkan aktivitas utama aplikasi yang sama jika sudah diinstal di profil lain. Untuk menambahkan peralihan akun antar-profil ke aplikasi Anda, ikuti langkah-langkah di bawah yang memanggil metode class CrossProfileApps:

  1. Panggil getTargetUserProfiles() untuk mendapatkan daftar profil tempat Anda dapat meluncurkan instance lain aplikasi. Metode ini memeriksa apakah aplikasi telah diinstal di profil.
  2. Panggil getProfileSwitchingIconDrawable() untuk mendapatkan ikon yang dapat Anda gunakan untuk merepresentasikan profil lain.
  3. Panggil getProfileSwitchingLabel() untuk mendapatkan teks yang dilokalkan yang meminta pengguna untuk beralih profil.
  4. Panggil startMainActivity() untuk meluncurkan instance aplikasi Anda di profil lain.

Pastikan aktivitas utama yang ingin Anda luncurkan dideklarasikan dalam file manifes aplikasi, dengan tindakan intent ACTION_MAIN, dan menyertakan kategori intent CATEGORY_LAUNCHER.

Mengaktifkan atau menonaktifkan profil kerja secara terprogram

Peluncur default (atau aplikasi yang memiliki izin MANAGE_USERS atau MODIFY_QUIET_MODE) dapat mengaktifkan atau menonaktifkan profil kerja dengan memanggil UserManager.requestQuietModeEnabled(). Anda dapat memeriksa nilai yang ditampilkan untuk mengetahui apakah pengguna perlu mengonfirmasi kredensial mereka sebelum status berubah. Karena perubahan mungkin tidak terjadi secara instan, proses siaran ACTION_MANAGED_PROFILE_AVAILABLE atau ACTION_MANAGED_PROFILE_UNAVAILABLE untuk mengetahui kapan harus mengupdate antarmuka pengguna.

Aplikasi Anda dapat memeriksa status profil kerja dengan memanggil UserManager.isQuietModeEnabled().

Mengunci aplikasi apa pun ke perangkat

Mulai Android 9, pemilik perangkat dan pemilik profil (dari pengguna sekunder) dapat mengunci aplikasi apa pun ke layar perangkat dengan menyetel aplikasi ke mode mengunci tugas. Sebelumnya, developer aplikasi harus menambahkan dukungan untuk mode mengunci tugas di aplikasi mereka. Android 9 juga memperluas API tugas kunci ke pemilik profil pengguna sekunder yang tidak terafiliasi. Ikuti langkah-langkah di bawah untuk mengunci aplikasi ke layar:

  1. Panggil DevicePolicyManager.setLockTaskPackages() agar dapat memasukkan aplikasi ke daftar yang diizinkan untuk mode mengunci tugas.
  2. Panggil ActivityOptions.setLockTaskEnabled() untuk meluncurkan aplikasi yang diizinkan ke mode mengunci tugas.

Untuk menghentikan aplikasi dalam mode mengunci tugas, hapus aplikasi dari daftar yang diizinkan mode kunci tugas menggunakan DevicePolicyManager.setLockTaskPackages().

Mengaktifkan fitur UI sistem

Saat mode kunci tugas diaktifkan, pemilik perangkat dan pemilik profil dapat mengaktifkan fitur UI sistem tertentu di perangkat dengan memanggil DevicePolicyManager.setLockTaskFeatures() dan meneruskan kolom bit tombol fitur berikut:

Anda dapat memanggil DevicePolicyManager.getLockTaskFeatures() untuk mendapatkan daftar fitur yang tersedia di perangkat saat mode kunci tugas diaktifkan. Saat keluar dari mode mengunci tugas, perangkat akan kembali ke status yang dimandatkan oleh kebijakan perangkat lainnya.

Sembunyikan dialog error

Di beberapa lingkungan, seperti demonstrasi retail atau tampilan informasi publik, Anda mungkin tidak ingin menampilkan dialog error kepada pengguna. Pengontrol kebijakan perangkat (DPC) dapat menyembunyikan dialog error sistem untuk aplikasi yang error atau tidak responsif dengan menambahkan pembatasan pengguna DISALLOW_SYSTEM_ERROR_DIALOGS. Batasan ini memengaruhi semua dialog jika diterapkan oleh pemilik perangkat, tetapi hanya dialog error yang ditampilkan pada pengguna utama atau sekunder yang akan disembunyikan saat pembatasan diterapkan oleh pemilik profil. Batasan ini tidak memengaruhi profil kerja.

Di Android 9, aplikasi yang berjalan dalam mode layar penuh yang imersif tidak menampilkan balon pengingat saat dalam mode mengunci tugas. Balon pengingat adalah panel yang ditampilkan kepada pengguna (saat peluncuran pertama) yang menjelaskan cara keluar dari mode imersif.

Mendukung banyak pengguna pada perangkat khusus

Android 9 memperkenalkan konsep pengguna efemeral untuk perangkat khusus (sebelumnya disebut perangkat COSU). Pengguna ephemeral adalah pengguna jangka pendek yang dimaksudkan untuk kasus-kasus saat beberapa pengguna berbagi satu perangkat khusus. Hal ini mencakup sesi pengguna publik di perangkat seperti kios check in perpustakaan atau perhotelan, serta sesi persisten di antara sekumpulan pengguna tetap di perangkat, misalnya, pekerja shift.

Pengguna efemeral harus dibuat di latar belakang. Pengguna dibuat sebagai pengguna sekunder di perangkat dan dihapus (beserta aplikasi dan data terkait) saat dihentikan, dialihkan, atau perangkat dimulai ulang. Untuk membuat pengguna singkat, pemilik perangkat dapat:

  1. Tetapkan flag MAKE_USER_EPHEMERAL saat memanggil DevicePolicyManager.createAndManageUser().
  2. Panggil DevicePolicyManager.startUserInBackground() untuk memulai pengguna singkat di latar belakang.

Perhatikan bahwa aplikasi yang menargetkan Android 9 harus menangkap UserManager.UserOperationException saat memanggil createAndManageUser(). Panggil metode getUserOperationResult() pengecualian untuk mengetahui alasan pengguna tidak dibuat.

Menerima notifikasi peristiwa

DeviceAdminReceiver menerima notifikasi untuk peristiwa berikut:

Menampilkan pesan peristiwa kepada pengguna

Pemilik perangkat dapat mengonfigurasi pesan yang ditampilkan kepada pengguna saat mereka memulai dan mengakhiri sesi:

Logout dan menghentikan pengguna

Pemilik perangkat dapat menggunakan DevicePolicyManager.setLogoutEnabled() untuk menentukan apakah logout diaktifkan untuk pengguna sekunder. Untuk memeriksa apakah logout diaktifkan, panggil DevicePolicyManager.isLogoutEnabled().

Pemilik profil pengguna sekunder dapat memanggil DevicePolicyManager.logoutUser() untuk menghentikan pengguna sekunder dan beralih kembali ke pengguna utama.

Pemilik perangkat dapat menggunakan DevicePolicyManager.stopUser() untuk menghentikan pengguna sekunder yang ditentukan.

Penyimpanan paket dalam cache

Untuk menyederhanakan penyediaan pengguna di perangkat bersama dengan sekumpulan pengguna tetap, seperti perangkat untuk pekerja shift, Anda dapat meng-cache paket yang diperlukan untuk sesi multi-pengguna:

  1. Panggil DevicePolicyManager.setKeepUninstalledPackages() untuk menentukan daftar paket yang akan disimpan sebagai APK. Untuk mengambil daftar paket ini, panggil DevicePolicyManager.getKeepUninstalledPackages().

  2. Panggil DevicePolicyManager.installExistingPackage() untuk menginstal paket yang telah disimpan setelah dihapus melalui setKeepUninstalledPackages().

Metode dan konstanta tambahan

Android 9 juga menyertakan metode dan konstanta berikut untuk mendukung lebih lanjut sesi pengguna di perangkat bersama:

Hapus data paket dan hapus akun

Pemilik perangkat dan pemilik profil dapat memanggil clearApplicationUserData() untuk menghapus data pengguna untuk paket tertentu. Untuk menghapus akun dari AccountManager, pemilik perangkat dan profil dapat memanggil removeAccount().

Pembatasan pengguna dan peningkatan kontrol atas setelan

Android 9 memperkenalkan serangkaian batasan pengguna untuk DPC, serta kemampuan untuk mengonfigurasi APNs, waktu dan zona waktu, serta setelan sistem di perangkat.

Mengonfigurasi APN

Pemilik perangkat dapat menggunakan metode berikut di class DevicePolicyManager untuk mengonfigurasi APNs di perangkat:

Mengonfigurasi waktu dan zona waktu

Pemilik perangkat dapat menggunakan metode berikut di class DevicePolicyManager untuk menyetel waktu dan zona waktu di perangkat:

Terapkan batasan pengguna pada setelan penting

Android 9 menambahkan pembatasan pengguna untuk menonaktifkan setelan dan fitur sistem. Untuk menambahkan batasan, panggil DevicePolicyManager.addUserRestriction() dengan salah satu konstanta UserManager berikut:

Jika DISALLOW_CONFIG_BRIGHTNESS dan DISALLOW_CONFIG_SCREEN_TIMEOUT diterapkan di perangkat, pemilik perangkat masih dapat menyetel setelan kecerahan layar, mode kecerahan layar, dan waktu tunggu layar di perangkat menggunakan API DevicePolicyManager.setSystemSetting().

Data berkuota

Pemilik perangkat dan pemilik profil dapat mencegah aplikasi menggunakan jaringan data berbayar perangkat. Jaringan dianggap berbayar jika pengguna sensitif terhadap penggunaan data yang berat karena biaya, batas data, atau masalah baterai dan performa. Untuk mencegah aplikasi menggunakan jaringan berkuota, panggil DevicePolicyManager.setMeteredDataDisabledPackages() yang meneruskan daftar nama paket. Untuk mengambil aplikasi yang saat ini dibatasi, panggil DevicePolicyManager.getMeteredDataDisabledPackages().

Untuk mempelajari lebih lanjut data berbayar di Android, baca Mengoptimalkan Penggunaan Data Jaringan.

Memigrasikan DPC

Pengontrol kebijakan perangkat (DPC) dapat mentransfer kepemilikan mereka atas perangkat atau profil kerja ke DPC lain. Anda dapat mentransfer kepemilikan untuk memindahkan beberapa fitur ke Android Management API, untuk memigrasikan perangkat dari DPC lama, atau membantu admin IT bermigrasi ke EMM. Karena Anda baru saja mengubah kepemilikan DPC, Anda tidak dapat menggunakan fitur ini untuk mengubah jenis pengelolaan, misalnya, bermigrasi dari perangkat terkelola ke profil kerja atau sebaliknya.

Anda dapat menggunakan resource XML kebijakan admin perangkat untuk menunjukkan bahwa versi DPC ini mendukung migrasi. DPC target menunjukkan bahwa ia dapat menerima kepemilikan dengan menyertakan elemen bernama <support-transfer-ownership>. Contoh di bawah menunjukkan cara melakukannya di file XML admin perangkat DPC:

<device-admin xmlns:android="http://schemas.android.com/apk/res/android">
    <support-transfer-ownership />
    <uses-policies>
        <limit-password />
        <watch-login />
        <reset-password />
    </uses-policies>
</device-admin>

DPC yang ingin memigrasikan kepemilikan ke aplikasi DPC baru dapat memeriksa apakah versi DPC target mendukung migrasi dengan memanggil metode DeviceAdminInfo supportsTransferOwnership(). Sebelum mentransfer kepemilikan, DPC sumber bertanggung jawab untuk memverifikasi DPC target dengan membandingkan tanda tangan aplikasi. Class PackageManager menyertakan metode untuk menangani tanda tangan kode.

Android mempertahankan sistem DPC sumber dan kebijakan pengguna melalui transfer kepemilikan—DPC tidak perlu memigrasikannya. DPC sumber dapat meneruskan data kustom ke DPC target menggunakan key-value pair di PersistableBundle. Setelah transfer berhasil, DPC target dapat mengambil data ini dengan memanggil DevicePolicyManager.getTransferOwnershipBundle().

Langkah-langkah untuk mentransfer kepemilikan perangkat terkelola atau profil kerja sama:

  1. DPC sumber memeriksa apakah versi DPC target mendukung migrasi dan mengonfirmasi bahwa tanda tangan aplikasi DPC target cocok dengan nilai yang diharapkan.
  2. DPC sumber memanggil transferOwnership() untuk memulai transfer.
  3. Sistem menjadikan DPC target sebagai admin aktif dan menetapkannya sebagai pemilik perangkat terkelola atau profil kerja.
  4. DPC target menerima callback onTransferOwnershipComplete() dan dapat mengonfigurasi sendiri menggunakan nilai dari argumen bundle.
  5. Jika terjadi masalah dengan transfer, sistem akan mengembalikan kepemilikan ke DPC sumber. Jika DPC sumber perlu mengonfirmasi bahwa transfer kepemilikan berhasil, panggil isAdminActive() untuk memeriksa bahwa DPC sumber tidak lagi menjadi admin aktif.

Semua aplikasi yang berjalan di profil kerja menerima siaran ACTION_PROFILE_OWNER_CHANGED saat pemilik profil berubah. Aplikasi yang berjalan di perangkat terkelola menerima siaran ACTION_DEVICE_OWNER_CHANGED saat pemilik perangkat berubah.

Profil kerja di perangkat yang terkelola sepenuhnya

Mentransfer dua instance DPC yang berjalan sebagai pemilik perangkat dan pemilik profil terjadi dalam dua tahap. Jika profil pribadi dan profil kerja terafiliasi, selesaikan transfer dalam urutan berikut:

  1. Pertama, transfer kepemilikan profil kerja.
  2. Tunggu callback DeviceAdminReceiver onTransferAffiliatedProfileOwnershipComplete() untuk mengonfirmasi bahwa profil kerja telah ditransfer ke DPC target.
  3. Terakhir, transfer kepemilikan perangkat terkelola ke DPC target.

Menunda update over the air (OTA)

Pemilik perangkat dapat menunda update sistem OTA ke perangkat hingga 90 hari untuk membekukan versi OS yang berjalan di perangkat tersebut selama periode penting (seperti hari libur). Sistem akan menerapkan buffering wajib 60 hari setelah periode pembekuan yang ditentukan untuk mencegah pembekuan perangkat tanpa batas waktu.

Selama masa pembekuan:

  • Perangkat tidak menerima notifikasi apa pun tentang update OTA yang tertunda.
  • Perangkat tidak menginstal update OTA ke OS.
  • Pengguna perangkat tidak dapat memeriksa update OTA secara manual di Settings.

Untuk menetapkan periode pembekuan, panggil SystemUpdatePolicy.setFreezePeriods(). Karena masa pembekuan berulang setiap tahun, tanggal mulai dan akhir periode tersebut diwakili dengan bilangan bulat yang menghitung jumlah hari sejak awal tahun. Hari mulai harus dimulai setidaknya 60 hari setelah akhir periode pembekuan sebelumnya. Pemilik perangkat dapat memanggil SystemUpdatePolicy.getFreezePeriods() untuk mendapatkan daftar periode pembekuan yang sebelumnya ditetapkan di objek kebijakan update sistem. DevicePolicyManager.getSystemUpdatePolicy() telah diupdate untuk menampilkan periode pembekuan yang ditetapkan oleh pemilik perangkat.

Membatasi fitur berbagi di profil kerja

Pemilik profil dapat mencegah pengguna membagikan data pribadi ke profil kerja di perangkat dengan menambahkan batasan pengguna DISALLOW_SHARE_INTO_MANAGED_PROFILE. Pembatasan ini mencegah berbagi dan penanganan intent berikut:

  • Aplikasi profil pribadi yang berbagi data dan file dengan aplikasi profil kerja.
  • Aplikasi profil kerja yang memilih item dari profil pribadi—misalnya, gambar atau file.

Setelah menetapkan pembatasan ini, DPC masih dapat mengizinkan intent Aktivitas lintas-profil dengan memanggil addCrossProfileIntentFilter().

Sertifikat mesin dan kunci dengan pengamanan hardware

Android 9 menambahkan API untuk membantu Anda menggunakan kunci dan sertifikat yang dapat digabungkan untuk mengidentifikasi perangkat dengan aman. DPC yang berjalan dalam mode pemilik profil atau pemilik perangkat, atau penginstal sertifikat yang didelegasikan, dapat menyelesaikan tugas-tugas berikut:

  • Buat kunci dan sertifikat di hardware aman (seperti trusted execution environment (TEE) atau Secure Element (SE)) perangkat Android. Kunci yang dihasilkan tidak pernah meninggalkan hardware aman dan dapat digunakan dari Android KeyChain. Panggil DevicePolicyManager.generateKeyPair() yang memberikan algoritma (lihat KeyPairGenerator) dan semua ID hardware yang ingin Anda buktikan, seperti nomor seri atau IMEI. Untuk mempelajari perubahan hardware yang aman lebih lanjut, lihat Peningkatan Keamanan Android 9.
  • Mengaitkan sertifikat dengan kunci yang dihasilkan perangkat yang ada. Panggil DevicePolicyManager.setKeyPairCertificate() dengan memberikan alias kunci yang ada dan rantai sertifikat—dimulai dengan leaf certificate dan menyertakan rantai kepercayaan secara berurutan.
  • Pastikan hardware aman melindungi kunci sebelum menggunakannya. Untuk memeriksa mekanisme mana yang melindungi kunci, ikuti langkah-langkah dalam Pengesahan Kunci.
  • Pemilik perangkat dan penginstal sertifikat yang didelegasikan dapat menerima pernyataan bertanda tangan dari ID hardware perangkat dengan versi sistem Android. Panggilan DevicePolicyManager.generateKeyPair() dengan meneruskan satu atau beberapa ID_TYPE_BASE_INFO, ID_TYPE_SERIAL, ID_TYPE_IMEI, atau ID_TYPE_MEID dalam argumen idAttestationFlags. Sertifikat yang ditampilkan menyertakan ID hardware dalam data pengesahan. Jika Anda tidak ingin ID hardware disertakan, teruskan 0. Pemilik profil hanya dapat menerima informasi produsen (dengan meneruskan ID_TYPE_BASE_INFO). Untuk memeriksa apakah perangkat dapat mengesahkan ID, panggil isDeviceIdAttestationSupported().
  • Cegah pengguna perangkat menyalahgunakan kunci perusahaan (dalam tugas non-perusahaan) dengan menjadikan sertifikat kunci tidak dapat dipilih. Sistem tidak menyertakan sertifikat yang tidak dapat dipilih di panel pemilih. Dalam metode callback DeviceAdminReceiver.onChoosePrivateKeyAlias(), tampilkan alias ke kunci perusahaan Anda sehingga sistem secara otomatis memilih sertifikat atas nama pengguna. Agar kunci tidak dapat dipilih, panggil metode DevicePolicyManager berikut:

Dengan menggabungkan API ini, perusahaan dapat dengan aman mengidentifikasi perangkat dan mengonfirmasi integritasnya sebelum memberikan akses:

  1. Perangkat Android membuat kunci pribadi baru di hardware aman. Karena kunci privat tidak pernah meninggalkan hardware aman, maka akan tetap rahasia.
  2. Perangkat menggunakan kunci tersebut untuk membuat dan mengirim permintaan penandatanganan sertifikat (CSR) ke server. CSR menyertakan data pengesahan yang berisi ID perangkat.
  3. Server memvalidasi rantai sertifikat (di-root ke sertifikat Google) dan mengekstrak metadata perangkat dari data pengesahan.
  4. Server mengonfirmasi bahwa hardware aman melindungi kunci pribadi dan bahwa ID perangkat cocok dengan data perusahaan. Server juga dapat memeriksa apakah sistem Android dan versi patch memenuhi persyaratan.
  5. Server menghasilkan sertifikat dari CSR dan mengirim sertifikat tersebut ke perangkat.
  6. Perangkat menyambungkan sertifikat dengan kunci pribadi (yang tetap berada di hardware aman) sehingga aplikasi dapat terhubung ke layanan perusahaan.

API keamanan, fitur, dan perubahan lainnya

ID untuk log keamanan dan log jaringan

Android 9 menyertakan ID dalam log keamanan dan aktivitas jaringan. ID numerik akan meningkat secara monoton untuk setiap peristiwa, sehingga memudahkan admin IT untuk menemukan kesenjangan dalam log mereka. Karena log keamanan dan log jaringan adalah koleksi terpisah, sistem mempertahankan nilai ID yang terpisah.

Panggil SecurityEvent.getId(), DnsEvent.getId(), atau ConnectEvent.getId() untuk mendapatkan nilai ID. Sistem mereset ID setiap kali DPC mengaktifkan logging atau saat perangkat dimulai ulang. Log keamanan yang diambil dengan memanggil DevicePolicyManager.retrievePreRebootSecurityLogs() tidak menyertakan ID ini.

Logging keamanan

Logging keamanan menetapkan level log untuk setiap SecurityEvent. Untuk mendapatkan level log, panggil getLogLevel(). Metode ini menampilkan nilai level log yang dapat berupa salah satu dari: LEVEL_INFO, LEVEL_WARNING, atau LEVEL_ERROR.

Android 9 mencatat peristiwa yang tercantum dalam tabel di bawah ini ke dalam log keamanan. Untuk memeriksa tag peristiwa, panggil getTag(). Untuk mengambil data peristiwa, panggil getData().

Tag Deskripsi acara
TAG_CERT_AUTHORITY_INSTALLED Percobaan untuk menginstal root certificate baru ke dalam penyimpanan kredensial sistem.
TAG_CERT_AUTHORITY_REMOVED Upaya untuk menghapus root certificate dari penyimpanan kredensial sistem.
TAG_CERT_VALIDATION_FAILURE Pemeriksaan validasi sertifikat Wi-Fi gagal selama koneksi berlangsung.
TAG_CRYPTO_SELF_TEST_COMPLETED Sistem telah menyelesaikan pengujian mandiri kriptografi.
TAG_KEYGUARD_DISABLED_FEATURES_SET Aplikasi admin menonaktifkan fitur perangkat atau layar kunci profil kerja.
TAG_KEY_DESTRUCTION Upaya untuk menghapus kunci kriptografis.
TAG_KEY_GENERATED Upaya untuk membuat kunci kriptografis baru.
TAG_KEY_IMPORT Upaya mengimpor kunci kriptografis baru.
TAG_KEY_INTEGRITY_VIOLATION Android mendeteksi kunci autentikasi atau enkripsi yang rusak.
TAG_LOGGING_STARTED Logging keamanan mulai merekam.
TAG_LOGGING_STOPPED Logging keamanan berhenti merekam.
TAG_LOG_BUFFER_SIZE_CRITICAL Buffering log keamanan telah mencapai 90% dari kapasitasnya.
TAG_MAX_PASSWORD_ATTEMPTS_SET Aplikasi admin menetapkan jumlah upaya memasukkan sandi salah yang diizinkan.
TAG_MAX_SCREEN_LOCK_TIMEOUT_SET Aplikasi admin menyetel waktu tunggu kunci layar maksimum.
TAG_MEDIA_MOUNT Perangkat memasang media penyimpanan yang dapat dilepas.
TAG_MEDIA_UNMOUNT Perangkat melepas media penyimpanan yang dapat dilepas.
TAG_OS_SHUTDOWN Sistem Android dimatikan.
TAG_OS_STARTUP Sistem Android dimulai.
TAG_PASSWORD_COMPLEXITY_SET Aplikasi admin menetapkan persyaratan kompleksitas sandi.
TAG_PASSWORD_EXPIRATION_SET Aplikasi admin menyetel durasi masa berlaku sandi.
TAG_PASSWORD_HISTORY_LENGTH_SET Aplikasi admin menetapkan panjang histori sandi, sehingga mencegah pengguna menggunakan lagi sandi lama.
TAG_REMOTE_LOCK Aplikasi admin mengunci perangkat atau profil kerja.
TAG_USER_RESTRICTION_ADDED Aplikasi admin menetapkan batasan pengguna.
TAG_USER_RESTRICTION_REMOVED Aplikasi admin menghapus pembatasan pengguna.
TAG_WIPE_FAILURE Upaya menghapus total perangkat atau profil kerja gagal.

Tantangan layar kunci profil kerja

Mulai Android 9, pemilik profil dapat mewajibkan pengguna menyetel tantangan layar kunci terpisah untuk profil kerja mereka menggunakan pembatasan pengguna DISALLOW_UNIFIED_PASSWORD. Untuk memeriksa apakah pengguna telah menetapkan tantangan layar kunci yang sama untuk perangkat dan profil kerja mereka, panggil DevicePolicyManager.isUsingUnifiedPassword().

Jika perangkat memiliki layar kunci profil kerja terpisah, DevicePolicyManager.setMaximumTimeToLock() hanya menetapkan waktu tunggu layar kunci untuk profil kerja, bukan untuk seluruh perangkat.

Akses alat developer

Untuk membantu menyimpan data kerja dalam profil kerja, alat Android Debug Bridge (adb) tidak dapat mengakses direktori dan file di profil kerja.

Dukungan untuk opsi biometrik lainnya

Android 9 menambahkan kontrol mendetail atas autentikasi hardware biometrik di layar kunci profil kerja. Panggil metode DevicePolicyManager.setKeyguardDisabledFeatures() yang ada dengan KEYGUARD_DISABLE_FACE dan KEYGUARD_DISABLE_IRIS. Untuk menonaktifkan semua metode autentikasi biometrik yang disediakan oleh perangkat, tambahkan KEYGUARD_DISABLE_BIOMETRICS.

Penghentian kebijakan admin perangkat

Android 9 menandai kebijakan yang tercantum di bawah ini sebagai tidak digunakan lagi untuk DPC yang menggunakan admin perangkat. Kebijakan tersebut terus berfungsi di Android 9 seperti sebelumnya. Mulai rilis Android 10, kebijakan yang sama akan menampilkan SecurityException saat dipanggil oleh admin perangkat.

Beberapa aplikasi menggunakan administrator perangkat untuk administrasi perangkat konsumen. Misalnya, mengunci dan menghapus total perangkat yang hilang. Kebijakan berikut akan tetap tersedia untuk memungkinkan hal ini:

Untuk mengetahui informasi selengkapnya tentang perubahan ini, baca Penghentian admin perangkat.

Pendaftaran kode QR yang disederhanakan

Koleksi QR bawaan

Android 9 dilengkapi dengan library QR untuk menyederhanakan penyediaan perangkat kode QR. Admin IT tidak perlu lagi memasukkan detail Wi-Fi secara manual untuk menyiapkan perangkat. Sebagai gantinya, dengan Android 9, Anda dapat menyertakan detail Wi-Fi ini dalam kode QR. Saat admin IT memindai kode QR dengan perangkat milik perusahaan, perangkat tersebut akan otomatis terhubung ke Wi-Fi dan memasuki proses penyediaan tanpa input manual tambahan.

Metode penyediaan kode QR mendukung tambahan penyediaan berikut untuk menentukan detail Wi-Fi:

Menyetel tanggal dan zona waktu menggunakan tambahan penyediaan

Metode penyediaan kode QR mendukung tambahan penyediaan untuk menyetel waktu dan zona waktu di perangkat:

Opsi menghapus total data

Admin perangkat dapat menampilkan pesan yang dipersonalisasi kepada pengguna saat menghapus profil kerja atau pengguna sekunder. Pesan ini membantu pengguna perangkat memahami bahwa admin IT mereka telah menghapus profil kerja atau pengguna sekunder. Panggil wipeData(int, CharSequence) dan berikan pesan penjelasan singkat. Saat dipanggil oleh pengguna utama atau pemilik perangkat, sistem tidak akan menampilkan pesan dan memulai reset ke setelan pabrik.

Untuk menghapus data langganan dari SIM eUICC tersemat, panggil wipeData() dan sertakan WIPE_EUICC dalam argumen flags.

Metode untuk pemilik profil terafiliasi

Metode berikut tersedia untuk pemilik profil terafiliasi: