page.title=Pembaruan Android for Work page.metaDescription=API dan fitur baru Android for Work di Android N. page.keywords="android for work", "android N", "enterprise", "QR code" @jd:body <div id="qv-wrapper"> <div id="qv"> <h2>Dalam dokumen ini</h2> <ol> <li><a href="#qr">Penyediaan Kode QR </a></li> <li><a href="#sec-challenge">Pertanyaan Keamanan Profil Kerja </a></li> <li><a href="#suspend">Menonaktifkan Akses ke Aplikasi </a></li> <li><a href="#toggle-work">Beralih Mode Kerja </a></li> <li><a href="#always-on-vpn">Always-On VPN </a></li> <li><a href="#contacts">Integrasi Kontak dengan Profil Kerja </a></li> <li><a href="#remote-reboot">Boot Ulang Jarak Jauh </a></li> <li><a href="#disable-roaming">Menonaktifkan Roaming Data </a></li> <li><a href="#process-logging">Pencatatan Proses Enterprise </a></li> <li><a href="#bug-reports">Laporan Bug Jarak Jauh </a></li> <li><a href="#remove-cert">Membuang Sertifikat Klien </a></li> <li><a href="#grant-cert-on-install">Memberi Akses ke Sertifikat Klien saat Pemasangan</a></li> <li><a href="#ui-policy">Transparansi Kebijakan UI Sistem </a></li> <li><a href="#restrictions-mgmt">Penyempurnaan Manajemen Pembatasan Aplikasi </a></li> <li><a href="#location-off">Tombol Lokasi Nonaktif </a></li> <li><a href="#custom-provisioning">Penyediaan yang Disesuaikan </a></li> <li><a href="#multi-wifi-ca">Multi-Sertifikat CA Wi-Fi </a></li> <li><a href="#custom-lock">Pesan Layar Kunci yang Disesuaikan </a></li> <li><a href="#work-connectionservice">ConnectionService Profil Kerja </a></li> <li><a href="#lock-wp">Mengunci Wallpaper </a></li> <li><a href="#lock-user-icon">Mengunci Ikon Pengguna </a></li> <li><a href="#health-monitoring">Pemantauan Kesehatan Perangkat </a></li> </ol> <h2>Lihat Juga</h2> <ul> <li><a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referensi N Preview SDK</a></li> </ul> </div> </div> <p>Dokumen ini menjelaskan fitur baru Android for Work yang disediakan di Android N.</p> <h2 id="qr">Penyediaan Kode QR</h2> <p> Android for Work kini mendukung penggunaan kode QR untuk penyediaan perangkat milik perusahaan. Wizard persiapan kini memungkinkan Anda memindai kode QR untuk penyediaan perangkat. </p> <h2 id="sec-challenge">Pertanyaan Keamanan Profil Kerja</h2> <p> Pemilik profil bisa mengharuskan pengguna menetapkan pertanyaan keamanan untuk aplikasi yang berjalan dalam profil kerja. Sistem akan menampilkan pertanyaan keamanan bila pengguna mencoba membuka aplikasi kerja apa pun. Jika pengguna berhasil menyelesaikan pertanyaan keamanan, sistem akan membuat profil kerja dan mendekripsinya jika diperlukan. </p> <p> Jika pemilik profil mengirim intent {@link android.app.admin.DevicePolicyManager#ACTION_SET_NEW_PASSWORD} , sistem akan menampilkan pertanyaan keamanan kepada pengguna. Pemilik profil juga dapat mengirim intent <code>ACTION_SET_NEW_PARENT_PROFILE_PASSWORD</code> untuk meminta pengguna menyetel kunci perangkat. </p> <p> Pemilik profil dapat memilih untuk menyetel kebijakan sandi untuk pertanyaan pekerjaan yang berbeda dari kebijakan sandi perangkat lainnya. Misalnya, panjang minimum jawaban pertanyaan perangkat bisa berbeda dari panjang yang diperlukan untuk sandi lainnya. Pemilik profil menyetel kebijakan pertanyaan menggunakan metode{@link android.app.admin.DevicePolicyManager} biasa, seperti {@link android.app.admin.DevicePolicyManager#setPasswordQuality setPasswordQuality()} dan {@link android.app.admin.DevicePolicyManager#setPasswordMinimumLength setPasswordMinimumLength()}. Pemilik profil juga bisa menyetel penguncian perangkat, dengan menggunakan instance {@link android.app.admin.DevicePolicyManager} yang dikembalikan secara langsung oleh metode <code>DevicePolicyManager.getParentProfileInstance()</code> baru. Selain itu, pemilik profil dapat menyesuaikan layar kredensial untuk pertanyaan kerja menggunakan kelas {@link android.app.admin.DevicePolicyManager} dengan metode <code>setOrganizationColor()</code> dan <code>setOrganizationName()</code> baru. </p> <p> Untuk mengetahui detail tentang kelas dan metode berikut, lihat halaman referensi <code>DevicePolicyManager</code> di <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referensi N Preview SDK</a>. </p> <h2 id="suspend">Menonaktifkan Akses ke Aplikasi</h2> <p> Pemilik perangkat dan pemilik profil bisa menangguhkan akses untuk sementara ke paket dengan memanggil metode <code>DevicePolicyManager.setPackagesSuspended()</code> baru. Pemilik bisa menggunakan metode yang sama untuk mengaktifkan kembali paket tersebut. </p> <p> Selagi paket ditangguhkan, maka tidak bisa memulai aktivitas, pemberitahuan ke paket akan disembunyikan, dan entri aplikasi dalam <a href="{@docRoot}guide/components/recents.html">layar ringkasan</a> akan disembunyikan. Paket yang ditangguhkan tidak muncul di <a href="{@docRoot}guide/components/recents.html">layar ringkasan</a>, dan tidak bisa menampilkan dialog (termasuk toast dan snackbar). Juga tidak bisa memutar audio atau menggetarkan perangkat. </p> <p> Launcher harus menerapkan UI berbeda pada aplikasi yang ditangguhkan untuk menunjukkan aplikasi saat ini tidak tersedia; misalnya, bisa merender ikon aplikasi dalam warna abu-abu. Launcher bisa mengetahui apakah aplikasi ditangguhkan dengan memanggil metode <code>DevicePolicyManager.getPackageSuspended()</code> baru. </p> <h2 id="toggle-work">Beralih Mode Kerja</h2> <p> Pada perangkat dua-profil, pengguna bisa mengaktifkan dan menonaktifkan mode kerja. Selagi mode kerja dinonaktifkan, profil yang dikelola akan dinonaktifkan untuk sementara. Aplikasi Profil Kerja, sinkronisasi latar belakang, dan pemberitahuan semuanya dinonaktifkan, termasuk aplikasi pemilik profil. Selagi profil kerja dinonaktifkan, sistem akan menampilkan ikon status tetap untuk mengingatkan pengguna bahwa mereka tidak bisa meluncurkan aplikasi kerja. Peluncur sistem menunjukkan bahwa aplikasi kerja dan widget tidak bisa diakses. </p> <h2 id="always-on-vpn">Always-On VPN</h2> <p> Pemilik perangkat dan pemilik profil bisa mengharuskan aplikasi kerja selalu terhubung ke jaringan melalui VPN yang ditetapkan. Jika pemilik menyetel persyaratan ini, perangkat secara otomatis akan memulai VPN itu saat booting. </p> <p> Pemilik bisa menggunakan VPN dengan memanggil metode <code>DevicePolicyManager.setAlwaysOnVpnPackage()</code> baru. Untuk mengetahui apakah pemilik telah menyetel persyaratan VPN, panggil metode <code>DevicePolicyManager.GetAlwaysOnVpnPackage()</code> baru. </p> <p> Karena sistem bisa secara langsung mengikat layanan VPN tanpa interaksi aplikasi, klien VPN perlu menangani titik masuk baru untuk Always-On VPN. Seperti sebelumnya, Anda bisa menemukan layanan aktif dengan menggunakan filter intent yang cocok dengan tindakan {@link android.net.VpnService android.net.VpnService}. </p> <p> Pengguna bisa secara manual menyetel klien Always-On VPN yang mengimplementasikan {@link android.net.VpnService} dengan menggunakan layar <strong>Settings > More > VPN</strong>. </p> <h2 id="contacts">Integrasi Kontak dengan Profil Kerja</h2> <p> Pemilik profil bisa mengizinkan penelusuran lokal dan pencarian direktori kontak kerja dari pengguna utama. Misalnya, seorang pengguna bisa mengakses kontak direktori pribadi dan pekerjaan dari telepon pribadi atau aplikasi kontak mereka (jika diizinkan oleh administrator profil mereka). </p> <p> Pengembang yang memanfaatkan Contact Provider bisa menggunakan Enterprise Contacts API untuk mengakses entri direktori profil kerja dari pengguna utama jika diizinkan oleh kebijakan: </p> <ul> <li><code>ContactsContract.Contacts.ENTERPRISE_CONTENT_FILTER_URI</code> </li> <li><code>ContactsContract.Phone.ENTERPRISE_CONTENT_FILTER_URI</code> </li> <li><code>ContactsContract.Email.ENTERPRISE_CONTENT_FILTER_URI</code> </li> <li><code>ContactsContract.Callable.ENTERPRISE_CONTENT_FILTER_URI</code> </li> <li><code>ContactsContract.Directory.ENTERPRISE_CONTENT_URI</code> </li> <li><code>ContactsContract.Directory.isEntepriseDirectoryId()</code> </li> </ul> <p> Pemilik profil bisa mengendalikan visibilitas kontak kerja di pengguna utama menggunakan metode baru berikut: </p> <ul> <li> <code>DevicePolicyManager.setCrossProfileContactsSearchDisabled()</code> </li> <li> <code>DevicePolicyManager.getCrossProfileContactsSearchDisabled()</code> </li> </ul> <h2 id="remote-reboot">Boot Ulang Jarak Jauh</h2> <p> Pemilik perangkat bisa mem-boot ulang perangkat dari jarak jauh. Di beberapa kasus, perangkat yang diluncurkan di tempat umum dalam pembatas bisa mencegah akses ke tombol daya. Jika perangkat perlu di-boot ulang, administrator bisa melakukannya dengan metode <code>DevicePolicyManager.reboot()</code> baru. </p> <h2 id="disable-roaming">Menonaktifkan Roaming Data</h2> <p> Pemilik perangkat bisa menonaktifkan roaming data menggunakan pembatasan pengguna {@link android.os.UserManager} <code>DISALLOW_DATA_ROAMING</code> baru. </p> <h2 id="process-logging">Pencatatan Proses Enterprise</h2> <p> Pemilik perangkat bisa mengenali aktivitas mencurigakan dengan melacak perangkat dari jarak jauh, termasuk peluncuran aplikasi, aktivitas adb, dan pembukaan kunci layar. Log proses tidak memerlukan persetujuan pengguna. Untuk mengambil log, pemilik perangkat mengaktifkan pencatatan perangkat menggunakan <code>DevicePolicyManager.setSecurityLoggingEnabled()</code>. </p> <p> Perubahan API meliputi: </p> <ul> <li> Kelas <code>android.app.admin.SecurityLog</code> baru dan metodenya </li> <li> <code>void DevicePolicyManager.setSecurityLoggingEnabled()</code> </li> <li> <code>boolean DevicePolicyManager.isSecurityLoggingEnabled()</code> </li> <li> <code>List<SecurityEvent> DevicePolicyManager.retrieveSecurityLogs()</code> </li> <li> <code>List<SecurityEvent> DevicePolicyManager.retrievePreRebootSecurityLogs()</code> </li> <li> <code>void DeviceAdminReceiver.onSecurityLogsAvailable()</code> </li> </ul> <h2 id="bug-reports">Laporan Bug Jarak Jauh</h2> <p> Pemilik perangkat bisa memicu dari jarak jauh dan mengambil laporan bug yang berisi file dump status perangkat, yang memungkinkan penyelidikan forensik atas kesalahan yang diketahui atau perangkat yang telah diutak-atik. Dikarenakan sifat detail laporan bug, maka diperlukan persetujuan pengguna. </p> <p> Android N menyertakan tambahan API berikut untuk mendukung fitur ini. Untuk detailnya, lihat <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referensi N Preview SDK</a>. </p> <ul> <li> <code>DevicePolicyManager.requestBugreport()</code> </li> <li> <code>DeviceAdminReceiver.onBugreportFailed()</code> </li> <li> <code>DeviceAdminReceiver.onBugreportShared()</code> </li> <li> <code>DeviceAdminReceiver.onBugreportSharingDeclined()</code> </li> <li> <code>DeviceAdminReceiver.BUGREPORT_FAILURE_FAILED_COMPLETING</code> </li> <li> <code>DeviceAdminReceiver.BUGREPORT_FAILURE_FILE_NO_LONGER_AVAILABLE</code> </li> </ul> <h2 id="remove-cert">Membuang Sertifikat Klien</h2> <p> Pemilik profil dan pemilik perangkat kini bisa membuang sertifikat klien yang telah dipasang melalui {@link android.app.admin.DevicePolicyManager#installKeyPair installKeyPair()} dengan memanggil metode baru <code>DevicePolicyManager.removeKeyPair()</code>. </p> <h2 id="grant-cert-on-install">Memberi Akses ke Sertifikat Klien saat Pemasangan</h2> <p> Jika pemilik profil dan pemilik perangkat memberikan kemampuan kepada aplikasi pihak ketiga untuk mengelola sertifikat, aplikasi bisa memberikan akses pada dirinya sendiri ke sertifikat yang dipasangnya tanpa intervensi dari pemilik. </p> <p> API yang sudah ada untuk mengelola sertifikat diperluas untuk mencakup: </p> <ul> <li><code>DevicePolicyManager.installKeyPair()</code> </li> </ul> <h2 id="ui-policy">Transparansi Kebijakan UI Sistem</h2> <p> Kebijakan yang memengaruhi pengalaman pengguna atau membatasi Settings pengguna sepenuhnya diungkapkan kepada pengguna, serta pemilik profil dan pemilik perangkat bisa memberlakukan kebijakannya kepada departemen TI perusahaan mereka. Selain pesan “Action not allowed” yang konsisten di Settings, administrator TI bisa menyetel pesan dukungan khusus-organisasi di setelan perangkat dengan metode {@link android.app.admin.DevicePolicyManager} baru berikut: </p> <ul> <li> <code>DevicePolicyManager.setShortSupportMessage()</code> </li> <li> <code>DevicePolicyManager.setLongSupportMessage()</code> </li> </ul> <h2 id="restrictions-mgmt">Penyempurnaan Manajemen Pembatasan Aplikasi</h2> <p> Pemilik perangkat atau profil bisa mengaktifkan aplikasi lain untuk mengelola pembatasan aplikasi melalui metode <code>DevicePolicyManager.setApplicationRestrictionsManagingPackage()</code> baru. Aplikasi yang dipilih bisa memeriksa apakah izin ini telah diberikan dengan memanggil <code>DevicePolicyManager.isCallerApplicationRestrictionsManagingPackage()</code>. </p> <p> Aplikasi yang dipilih untuk mengelola pembatasan aplikasi bisa memanggil {@link android.app.admin.DevicePolicyManager#setApplicationRestrictions setApplicationRestrictions()} dan {@link android.app.admin.DevicePolicyManager#getApplicationRestrictions getApplicationRestrictions()} untuk paket apa pun di pengguna atau profil itu. </p> <h2 id="location-off">Tombol Lokasi Nonaktif</h2> <p> Pengguna bisa menonaktifkan izin lokasi untuk aplikasi kerja sambil melanjutkan akses informasi lokasi di aplikasi pribadi mereka. Tombol akses lokasi yang terpisah di Location Settings memungkinkan pengguna untuk menolak pembaruan lokasi atau kueri lokasi terakhir untuk aplikasi yang berjalan di profil kerja. </p> <p> Tombol lokasi nonaktif level teratas menonaktifkan akses lokasi untuk profil utama dan profil yang dikelola. </p> <h2 id="custom-provisioning">Penyediaan yang Disesuaikan</h2> <p> Aplikasi bisa menyesuaikan alur penyediaan pemilik profil dan pemilik perangkat dengan warna dan logo perusahaan. </p> <dl> <dt> <code>DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR</code> </dt> <dd> Menyesuaikan warna alur. </dd> <dt> <code>DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI</code> </dt> <dd> Menyesuaikan alur dengan logo perusahaan. </dd> </dl> <h2 id="multi-wifi-ca">Multi-Sertifikat CA Wi-Fi</h2> <p> Pemilik profil dan pemilik perangkat bisa menyetel beberapa sertifikat CA sekaligus untuk konfigurasi Wi-Fi yang diberikan. Bila jaringan Wi-Fi perusahaan memiliki CA terpisah untuk titik akses yang terpisah dengan SSID yang sama, administrator TI bisa menyertakan semua CA yang relevan dalam konfigurasi Wi-Fi menggunakan metode <code>setCaCertificates()</code> baru. </p> <p> API yang ditambah adalah: </p> <ul> <li> <code>WifiEnterpriseConfig.setCaCertificates()</code> </li> <li> <code>WifiEnterpriseConfig.getCaCertificates()</code> </li> </ul> <h2 id="custom-lock">Pesan Layar Terkunci yang Disesuaikan</h2> <p> Pemilik perangkat bisa menyediakan informasi pemilik agar ditampilkan di layar kunci. Informasi ini lebih diprioritaskan dari pesan layar kunci pengguna (jika sudah ada yang disetel). Metode {@link android.app.admin.DevicePolicyManager} baru adalah: </p> <ul> <li> <code>setDeviceOwnerLockScreenInfo()</code> </li> <li> <code>getDeviceOwnerLockScreenInfo()</code> </li> </ul> <h2 id="work-connectionservice">ConnectionService Profil Kerja</h2> <p> Pemilik profil bisa menetapkan aplikasi telepon kerja yang menggunakan {@link android.telecom.ConnectionService} khusus-kerja untuk backend panggilan (akun panggilan). Telepon kerja hanya menyimpan log panggilan kerja dan hanya mengandalkan kontak kerja. Pengguna memiliki pengalaman UI saat-panggilan yang konsisten, apa pun aplikasi panggilannya. Panggilan telepon kerja yang masuk ke akun panggilan kerja dibedakan dari telepon pribadi yang masuk ke akun panggilan pribadi. </p> <p> Penelepon harus memeriksa tanda baru <code>android.telecom.Call.PROPERTY_WORK_CALL</code> untuk menentukan apakah telepon tersebut merupakan telepon kerja. Jika merupakan telepon kerja, penelepon harus menunjukkannya, misalnya dengan menambahkan lencana kerja. </p> <h2 id="lock-wp">Mengunci Wallpaper</h2> <p> Pembatasan pengguna baru (<code>DISALLOW_SET_WALLPAPER</code>) mencegah pengguna mengubah wallpaper mereka. Pemilik perangkat atau pemilik profil tetap bisa mengubah wallpaper, namun mereka hanya bisa mengubah wallpaper untuk pengguna atau profil yang mereka kontrol. Misalnya, pemilik profil tidak bisa mengubah wallpaper pengguna induk, namun pemilik profil utama di profil utama atau pemilik perangkat bisa melakukannya. Pemilik profil atau pemilik perangkat yang ingin mengubah wallpapernya harus memeriksa apakah pengguna atau profil yang mereka kelola memiliki wallpaper ({@link android.app.WallpaperManager#isWallpaperSupported isWallpaperSupported()}) dan apakah mereka diperbolehkan untuk mengubahnya (dengan metode baru<code>WallpaperManager.isWallpaperSettingAllowed()</code>) </p> <h2 id="lock-user-icon">Mengunci Ikon Pengguna</h2> <p> Pembatasan pengguna baru (<code>DISALLOW_SET_USER_ICON</code>) mencegah pengguna mengubah ikon pengguna mereka. Pemilik perangkat atau pemilik profil pengguna tetap bisa mengubah ikon. Akan tetapi, pemilik profil hanya bisa mengubah ikon pengguna untuk profil yang dikontrolnya. </p> <h2 id="health-monitoring">Pemantauan Kesehatan Perangkat</h2> <p> Pemilik perangkat atau pemilik profil bisa menggunakan antarmuka <code>HardwarePropertiesManager</code> baru untuk mengambil informasi tentang kesehatan perangkat, seperti suhu CPU atau GPU dan penggunaan CPU. Antarmuka pemantauan baru ini khususnya berguna untuk memantau berjalannya perangkat yang tidak diawasi di lokasi yang jauh. </p>