Android 6.0 (M) menawarkan fitur baru bagi pengguna dan developer aplikasi. Dokumen ini memberikan pengantar tentang API yang paling terkenal.
Mulai mengembangkan
Untuk mulai membuat aplikasi untuk Android 6.0, Anda harus mendapatkan terlebih dahulu Android SDK. Lalu gunakan SDK Manager untuk mendownload Android 6.0 SDK Platform dan System Image.
Memperbarui target API level Anda
Untuk lebih mengoptimalkan aplikasi Anda bagi perangkat yang menjalankan Android ,
tetapkan targetSdkVersion
Anda ke
"23"
, instal aplikasi Anda di Android
image sistem, mengujinya, lalu memublikasikan aplikasi yang diupdate dengan
perubahan ini.
Anda dapat menggunakan Android API sekaligus mendukung API
versi dengan menambahkan kondisi ke kode yang memeriksa level API sistem
sebelum menjalankan API yang tidak didukung oleh minSdkVersion
Anda.
Untuk mempelajari lebih lanjut tentang mempertahankan kompatibilitas mundur, baca Mendukung
Versi Platform Berbeda.
Untuk informasi selengkapnya tentang cara kerja level API, baca Apa yang dimaksud dengan API level Tingkat?
Autentikasi Sidik Jari
Rilis ini menawarkan API baru yang memungkinkan Anda mengautentikasi pengguna dengan menggunakan pemindaian sidik jari mereka di didukung perangkat yang didukung, Gunakan API ini bersama dengan sistem Android Keystore.
Untuk mengautentikasi pengguna melalui pemindaian sidik jari, dapatkan instance
Class FingerprintManager
lalu memanggil metode
authenticate()
. Aplikasi Anda harus berjalan di
perangkat dengan sensor sidik jari. Anda harus menerapkan antarmuka pengguna untuk sidik jari
alur autentikasi di aplikasi, dan menggunakan ikon sidik jari standar Android di UI.
Ikon sidik jari Android (c_fp_40px.png
) disertakan dalam
Contoh Autentikasi Biometrik.
Jika Anda mengembangkan beberapa aplikasi yang menggunakan autentikasi sidik jari, perhatikan bahwa setiap aplikasi harus
mengotentikasi sidik jari
pengguna secara independen.
Untuk menggunakan fitur ini di aplikasi Anda, pertama-tama tambahkan
USE_FINGERPRINT
di manifes Anda.
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
Untuk melihat implementasi aplikasi autentikasi sidik jari, lihat Contoh Autentikasi Biometrik. Untuk demonstrasi tentang cara menggunakan autentikasi ini bersama API Android lainnya, lihat video ini API Sidik Jari dan Payment.
Jika Anda menguji fitur ini, ikuti langkah-langkah ini:
- Pasang Android SDK Tools Revision 24.3, jika Anda belum melakukannya.
- Daftarkan sidik jari baru di emulator dengan membuka Setelan > Keamanan > Sidik jari, lalu ikuti petunjuk pendaftaran.
- Gunakan emulator untuk mengemulasikan peristiwa sentuhan sidik jari dengan
perintah berikut. Gunakan perintah yang sama untuk mengemulasikan peristiwa sentuhan sidik jari pada layar kunci atau
dalam aplikasi Anda.
adb -e emu finger touch <finger_id>
Di Windows, Anda mungkin harus menjalankan
telnet 127.0.0.1 <emulator-id>
yang diikuti denganfinger touch <finger_id>
.
Konfirmasi Kredensial
Aplikasi Anda bisa mengautentikasi pengguna berdasarkan sudah berapa lama mereka membuka kunci perangkatnya sejak terakhir kali. Ini membebaskan pengguna dari harus mengingat kata sandi khusus aplikasi tambahan, dan menghindari kebutuhan bagi Anda untuk menerapkan antarmuka pengguna otentikasi Anda sendiri. Aplikasi Anda harus menggunakan fitur ini di bersama dengan implementasi kunci publik atau rahasia untuk otentikasi pengguna.
Untuk menyetel durasi waktu tunggu agar kunci yang sama dapat digunakan kembali setelah pengguna berhasil
diotentikasi, panggil metode
setUserAuthenticationValidityDurationSeconds()
saat Anda menyiapkan KeyGenerator
atau
KeyPairGenerator
.
Hindari menampilkan dialog autentikasi ulang secara berlebihan -- aplikasi Anda harus mencoba menggunakan
objek kriptografis terlebih dahulu, dan jika waktu tunggu berakhir, gunakan metode
createConfirmDeviceCredentialIntent()
metode untuk mengautentikasikan ulang pengguna dalam aplikasi Anda.
Penautan Aplikasi
Rilis ini menyempurnakan sistem maksud Android dengan menyediakan penautan aplikasi yang lebih andal. Fitur ini memungkinkan Anda mengaitkan aplikasi dengan domain web yang dimiliki. Berdasarkan hal ini asosiasi, platform dapat menentukan aplikasi {i>default<i} yang akan digunakan untuk menangani tautan web dan tidak meminta pengguna memilih aplikasi. Untuk mempelajari cara menerapkan fitur ini, lihat Menangani Link Aplikasi.
Auto Backup for Apps
Sistem sekarang melakukan pencadangan dan pemulihan penuh atas data aplikasi secara otomatis. Aplikasi Anda harus menargetkan Android 6.0 (API level 23) untuk mengaktifkan perilaku ini; Anda tidak perlu menambahkan kode tambahan. Jika pengguna menghapus akun Google mereka, data cadangan mereka juga akan dihapus. Untuk mempelajari bagaimana bekerja dan cara mengkonfigurasi apa yang akan dicadangkan pada sistem file, lihat Mengonfigurasi Auto Backup untuk Aplikasi.
Direct Share
Rilis ini melengkapi Anda dengan berbagai API agar pengguna bisa berbagi secara intuitif dan cepat. Anda sekarang dapat menentukan target berbagi langsung yang meluncurkan aktivitas tertentu di aplikasi Anda. Pembagian langsung ini target ditampilkan kepada pengguna melalui menu Bagikan. Fitur ini memungkinkan pengguna untuk berbagi ke target, seperti kontak, dalam aplikasi lain. Misalnya, target berbagi langsung mungkin meluncurkan aktivitas di aplikasi jejaring sosial lain, yang memungkinkan pengguna berbagi konten secara langsung ke teman atau komunitas tertentu dalam aplikasi tersebut.
Untuk mengaktifkan target berbagi langsung, Anda harus menentukan kelas yang memperluas
Class ChooserTargetService
. Deklarasikan
dalam manifes. Di dalam deklarasi tersebut, tentukan atribut
BIND_CHOOSER_TARGET_SERVICE
dan
filter intent menggunakan
Tindakan SERVICE_INTERFACE
.
Contoh berikut menunjukkan cara mendeklarasikan atribut
ChooserTargetService
di manifes Anda.
<service android:name=".ChooserTargetService" android:label="@string/service_name" android:permission="android.permission.BIND_CHOOSER_TARGET_SERVICE"> <intent-filter> <action android:name="android.service.chooser.ChooserTargetService" /> </intent-filter> </service>
Untuk setiap aktivitas yang ingin diekspos
ChooserTargetService
, tambahkan
Elemen <meta-data>
dengan nama
"android.service.chooser.chooser_target_service"
di manifes aplikasi Anda.
<activity android:name=".MyShareActivity” android:label="@string/share_activity_label"> <intent-filter> <action android:name="android.intent.action.SEND" /> </intent-filter> <meta-data android:name="android.service.chooser.chooser_target_service" android:value=".ChooserTargetService" /> </activity>
Interaksi Suara
Rilis ini menyediakan API interaksi suara baru yang, bersama
Voice Actions,
memungkinkan Anda membangun pengalaman suara percakapan ke dalam aplikasi Anda. Panggil
Metode isVoiceInteraction()
untuk menentukan apakah voice action dipicu
aktivitas Anda. Jika demikian, aplikasi Anda dapat menggunakan
Class VoiceInteractor
untuk meminta konfirmasi suara dari pengguna, pilih
dari daftar opsi, dan banyak lagi.
Umumnya interaksi suara berasal dari tindakan suara pengguna. Aktivitas interaksi suara dapat
juga, bagaimanapun, dimulai tanpa
input pengguna. Misalnya, aplikasi lain diluncurkan melalui suara
juga dapat mengirim intent untuk meluncurkan interaksi suara. Untuk menentukan apakah aktivitas Anda
diluncurkan dari kueri suara pengguna atau dari aplikasi interaksi suara lain, panggil
Metode isVoiceInteractionRoot()
. Jika aplikasi lain meluncurkan
aktivitas, metode akan menampilkan false
. Kemudian, aplikasi dapat meminta pengguna untuk mengonfirmasi bahwa
mereka menginginkan tindakan ini.
Untuk mempelajari cara menerapkan voice action lebih lanjut, lihat Situs developer Voice Actions.
Assist API
Rilis ini menawarkan cara baru bagi pengguna untuk terlibat dengan aplikasi Anda melalui semacam asisten. Untuk menggunakannya , pengguna harus mengaktifkan asisten untuk menggunakan konteks saat ini. Setelah diaktifkan, pengguna dapat memanggil asisten dalam aplikasi apa pun, dengan menekan lama tombol Layar Utama.
Aplikasi Anda dapat memilih untuk tidak membagikan konteks saat ini kepada asisten dengan menyetel
FLAG_SECURE
. Selain pasal
kumpulan informasi standar yang diteruskan platform ke asisten, aplikasi Anda
informasi tambahan menggunakan class AssistContent
yang baru.
Untuk menyediakan konteks tambahan kepada asisten dari aplikasi Anda, ikuti langkah-langkah ini:
- Mengimplementasikan antarmuka
Application.OnProvideAssistDataListener
. - Daftarkan pemroses ini dengan menggunakan
registerOnProvideAssistDataListener()
. - Untuk menyediakan informasi kontekstual khusus aktivitas, ganti metode
onProvideAssistData()
dan, jika perlu, callbackonProvideAssistContent()
.
Perangkat Storage yang Bisa Diadopsi
Dengan rilis ini, pengguna dapat menggunakan perangkat penyimpanan eksternal seperti kartu SD. Mengadopsi
perangkat penyimpanan eksternal mengenkripsi dan memformat
perangkat agar berfungsi seperti penyimpanan internal. Ini
memungkinkan pengguna memindahkan aplikasi dan data pribadi aplikasi tersebut di antara perangkat penyimpanan. Kapan
memindahkan aplikasi, sistemnya mengikuti
android:installLocation
preferensi dalam manifes.
Jika aplikasi Anda mengakses API atau kolom berikut, perhatikan bahwa jalur file yang ditampilkannya akan berubah secara dinamis ketika aplikasi dipindahkan antara perangkat penyimpanan internal dan eksternal. Saat membangun jalur file, Anda disarankan agar selalu memanggil API ini secara dinamis. Jangan menggunakan jalur file hasil hardcode atau mempertahankan jalur file yang sepenuhnya memenuhi syarat dan telah dibuat sebelumnya.
- Metode
Context
: - Kolom
ApplicationInfo
:
Untuk men-{i>debug<i} fitur ini, Anda dapat mengaktifkan adopsi {i>drive<i} USB yang terhubung ke perangkat Android melalui kabel USB On-The-Go (OTG), dengan menjalankan perintah ini:
$ adb shell sm set-force-adoptable true
Notifikasi
Rilis ini menambahkan perubahan API berikut untuk notifikasi:
- Tingkat filter
INTERRUPTION_FILTER_ALARMS
baru yang sesuai dengan mode jangan ganggu Hanya alarm yang baru. - Nilai kategori
CATEGORY_REMINDER
baru yang digunakan untuk membedakan pengingat yang dijadwalkan pengguna dari acara lain (CATEGORY_EVENT
) dan alarm (CATEGORY_ALARM
). - Kelas
Icon
baru yang dapat dilampirkan ke notifikasi melaluisetSmallIcon()
dansetLargeIcon()
metode. Demikian pula, MetodeaddAction()
kini menerima objekIcon
, bukan objek ID resource drawable. - Metode
getActiveNotifications()
baru yang memungkinkan aplikasi untuk mengetahui notifikasi mana yang aktif.
Dukungan Stilus Bluetooth
Rilis ini menyediakan dukungan yang disempurnakan untuk masukan pengguna dengan menggunakan stilus Bluetooth. Pengguna dapat menyambungkan
dan menyambungkan stilus Bluetooth yang kompatibel
dengan ponsel atau tablet mereka. Saat terhubung, posisikan
informasi dari layar sentuh menyatu dengan informasi tekanan dan tombol dari {i>stylus<i} ke
memberikan rentang ekspresi yang lebih besar
dibandingkan dengan layar sentuh saja. Aplikasi Anda dapat mendengarkan
penekanan tombol stilus dan melakukan tindakan
sekunder, dengan mendaftarkan
View.OnContextClickListener
dan
GestureDetector.OnContextClickListener
objek dalam aktivitas Anda.
Menggunakan metode dan konstanta MotionEvent
untuk mendeteksi tombol stilus
interaksi:
- Jika pengguna menyentuh stilus dengan tombol di layar aplikasi Anda,
Metode
getTooltype()
akan ditampilkanTOOL_TYPE_STYLUS
. - Untuk aplikasi yang menargetkan Android 6.0 (API level 23),
getButtonState()
menampilkanBUTTON_STYLUS_PRIMARY
saat pengguna menekan tombol stilus utama. Jika stilus memiliki tombol kedua, metode yang sama akan menampilkanBUTTON_STYLUS_SECONDARY
saat pengguna menekannya. Jika pengguna menekan kedua tombol secara bersamaan, metode mengembalikan kedua nilai OR secara bersamaan (BUTTON_STYLUS_PRIMARY
|BUTTON_STYLUS_SECONDARY
). -
Untuk aplikasi yang menargetkan versi platform yang lebih rendah,
Metode
getButtonState()
akan ditampilkanBUTTON_SECONDARY
(untuk penekanan tombol stilus utama),BUTTON_TERTIARY
(untuk penekanan tombol stilus sekunder), atau keduanya.
Pemindaian Bluetooth Low Energy yang Ditingkatkan
Jika aplikasi Anda melakukan pemindaian Bluetooth Hemat Energi, gunakan
setCallbackType()
untuk menetapkan yang Anda inginkan agar sistem memberi tahu callback saat pertama kali menemukan, atau melihat setelah callback
lama, paket iklan yang cocok
dengan ScanFilter
yang ditetapkan. Ini
pendekatan pemindaian ini lebih hemat daya daripada yang diberikan dalam versi platform sebelumnya.
Dukungan Hotspot 2.0 Release 1
Rilis ini menambahkan dukungan untuk spesifikasi Hotspot 2.0 Release 1 pada perangkat Nexus 6 dan Nexus 9. Kepada
menyediakan kredensial Hotspot 2.0 di aplikasi Anda, gunakan metode baru
Class WifiEnterpriseConfig
, seperti
setPlmn()
dan
setRealm()
. Di kolom
WifiConfiguration
, Anda dapat menyetel
FQDN
dan
providerFriendlyName
kolom.
Metode isPasspointNetwork()
baru akan menunjukkan bahwa
jaringan yang mewakili
titik akses Hotspot 2.0.
Mode Tampilan 4K
Platform ini kini memungkinkan aplikasi meminta resolusi layar diupgrade ke rendering 4K
pada perangkat keras yang kompatibel. Untuk melakukan kueri resolusi fisik saat ini, gunakan
Display.Mode
API. Jika UI digambar pada resolusi logis yang lebih rendah dan
dinaikkan ke resolusi fisik yang lebih besar, perlu diketahui bahwa resolusi fisik
Metode getPhysicalWidth()
yang ditampilkan mungkin berbeda dari metode
resolusi yang dilaporkan oleh getSize()
.
Anda bisa meminta sistem untuk mengubah resolusi fisik di aplikasi saat aplikasi sedang berjalan, dengan mengatur
properti preferredDisplayModeId
dari properti aplikasi Anda
jendela. Fitur ini berguna jika Anda ingin beralih ke resolusi tampilan 4K. Saat dalam tampilan 4K
UI akan terus dirender pada resolusi asal (misalnya 1080p) dan ditingkatkan kualitasnya menjadi
4K, tetapi objek SurfaceView
dapat menampilkan konten pada resolusi native.
ColorStateList Bertema
Atribut tema kini didukung di
ColorStateList
untuk perangkat yang menjalankan Android 6.0 (API level 23). Tujuan
Resources.getColorStateList()
dan
Resources.getColor()
metode telah
tidak digunakan lagi. Jika Anda memanggil API ini, panggil metode
Context.getColorStateList()
atau
metode Context.getColor()
. Metode ini adalah
juga tersedia di library compat v4 melalui ContextCompat
.
Fitur Audio
Rilis ini menambahkan penyempurnaan pada pemrosesan audio di Android, termasuk:
- Dukungan untuk MIDI
, dengan
android.media.midi
API baru. Gunakan API ini untuk mengirim dan menerima MIDI peristiwa. AudioRecord.Builder
danAudioTrack.Builder
baru untuk membuat objek perekaman dan pemutaran audio digital, serta mengonfigurasi properti sumber dan sink untuk mengganti default sistem.- Sangkutan API untuk mengaitkan perangkat masukan dan audio. Hal ini sangat berguna jika aplikasi Anda
memungkinkan pengguna memulai penelusuran suara dari pengontrol game atau remote control yang terhubung ke Android
TV. Sistem akan memanggil metode
onSearchRequested()
saat pengguna memulai penelusuran. Untuk menentukan apakah perangkat input pengguna memiliki mikrofon, ambil objekInputDevice
dari callback tersebut, lalu panggil metodehasMicrophone()
baru. - Metode
getDevices()
baru yang memungkinkan Anda mengambil daftar semua perangkat audio yang saat ini terhubung ke sistem. Anda juga dapat mendaftarkanAudioDeviceCallback
jika Anda ingin sistem memberi tahu aplikasi saat perangkat audio tersambung atau terputus.
Fitur Video
Rilis ini menambahkan kemampuan baru pada API pemrosesan video, termasuk:
- Class
MediaSync
baru yang membantu aplikasi merender secara sinkron streaming audio dan video. Buffer audio dikirim dengan cara yang tidak memblokir dan ditampilkan melalui callback. Ini juga mendukung kecepatan pemutaran dinamis. - Peristiwa
EVENT_SESSION_RECLAIMED
baru, yang menunjukkan bahwa sesi yang dibuka oleh aplikasi telah diklaim kembali oleh pengelola resource. Jika aplikasi Anda menggunakan sesi DRM, Anda harus menangani peristiwa ini dan memastikan untuk tidak menggunakan sesi yang diklaim kembali. - Kode error
ERROR_RECLAIMED
baru, yang menunjukkan bahwa pengelola sumber daya mengambil kembali sumber daya media yang digunakan oleh codec. Dengan pengecualian ini, codec harus dilepaskan, karena telah dipindahkan ke status terminal. - Antarmuka
getMaxSupportedInstances()
baru untuk mendapatkan petunjuk mengenai jumlah maksimum yang didukung instance codec yang serentak. - Metode
setPlaybackParams()
baru untuk menyetel kecepatan pemutaran media untuk pemutaran gerak lambat. Cara ini juga memperpanjang atau mempercepat pemutaran audio secara otomatis di dalam video.
Fitur Kamera
Rilis ini mencakup API baru berikut ini untuk mengakses senter kamera dan untuk kamera untuk memproses ulang gambar:
Flashlight API
Jika perangkat kamera memiliki unit flash, Anda dapat memanggil
setTorchMode()
untuk mengaktifkan atau menonaktifkan mode senter unit lampu flash tanpa membuka perangkat kamera. Aplikasi
tidak memiliki kepemilikan eksklusif atas unit lampu flash atau perangkat kamera. Mode senter diaktifkan
dan menjadi tidak tersedia setiap kali perangkat kamera menjadi tidak tersedia, atau saat kamera lain
membuat flash tetap aktif menjadi tidak tersedia. Aplikasi lain juga dapat memanggil
setTorchMode()
untuk menonaktifkan mode senter. Saat aplikasi terakhir yang mengaktifkan mode flash ditutup, flash
dinonaktifkan.
Anda bisa mendaftarkan callback agar diberi tahu tentang status mode flash dengan memanggil metode
registerTorchCallback()
. Saat pertama kali didaftarkan, callback akan langsung dipanggil dengan mode flash
semua perangkat kamera yang saat ini
diketahui dengan unit flash. Jika mode senter diaktifkan atau
berhasil dinonaktifkan,
onTorchModeChanged()
metode dipanggil.
Reprocessing API
Camera2
API diperluas untuk mendukung YUV dan pribadi
untuk pemrosesan ulang gambar berformat buram. Untuk menentukan apakah kemampuan
pemrosesan ulang ini tersedia,
panggil getCameraCharacteristics()
dan periksa
Tombol REPROCESS_MAX_CAPTURE_STALL
. Jika
perangkat mendukung pemrosesan ulang, Anda dapat membuat sesi
pengambilan kamera yang dapat diproses ulang dengan memanggil
createReprocessableCaptureSession()
,
dan membuat permintaan untuk pemrosesan ulang buffer input.
Gunakan class ImageWriter
untuk menghubungkan alur buffer input ke kamera
memproses ulang input. Untuk mendapatkan buffer kosong, ikuti model pemrograman ini:
- Panggil metode
dequeueInputImage()
. - Isilah data ke dalam buffer masukan.
- Kirim buffer ke kamera dengan memanggil metode
Metode
queueInputImage()
.
Jika Anda menggunakan objek ImageWriter
bersama dengan objek
Gambar PRIVATE
, aplikasi Anda tidak dapat mengakses gambar
data secara langsung. Sebagai gantinya, teruskan gambar PRIVATE
langsung ke
ImageWriter
dengan memanggil
Metode queueInputImage()
tanpa salinan {i>buffer<i}.
Class ImageReader
kini mendukung
Streaming gambar berformat PRIVATE
. Dukungan ini memungkinkan aplikasi Anda untuk
pertahankan antrean gambar dalam lingkaran dari ImageReader
gambar output, pilih satu atau
lebih banyak gambar, lalu kirimkan ke ImageWriter
untuk diproses ulang kamera.
Fitur Android for Work
Rilis ini menyertakan API baru berikut untuk Android for Work:
- Kontrol yang ditingkatkan untuk perangkat Milik Perusahaan dan Sekali Pakai: Pemilik Perangkat
sekarang dapat mengontrol setelan berikut untuk meningkatkan pengelolaan
Perangkat Milik Perusahaan, Sekali Pakai (COSU):
- Nonaktifkan atau aktifkan kembali keyguard dengan
Metode
setKeyguardDisabled()
. - Nonaktifkan atau aktifkan kembali bilah status (termasuk pengaturan cepat, notifikasi, dan
gestur geser navigasi ke atas yang meluncurkan Google Now) dengan
setStatusBarDisabled()
. - Menonaktifkan atau mengaktifkan kembali booting aman dengan konstanta
UserManager
DISALLOW_SAFE_BOOT
. - Cegah layar mati saat dicolokkan dengan
Konstanta
STAY_ON_WHILE_PLUGGED_IN
.
- Nonaktifkan atau aktifkan kembali keyguard dengan
Metode
- Menginstal dan meng-uninstal aplikasi secara otomatis oleh Pemilik Perangkat: Pemilik Perangkat kini dapat
instal dan uninstal aplikasi secara diam-diam menggunakan
PackageInstaller
API, terpisah dari Google Play for Work. Sekarang Anda dapat menyediakan perangkat melalui Pemilik Perangkat yang mengambil dan menginstal aplikasi tanpa interaksi pengguna. Fitur ini berguna untuk mengaktifkan tindakan sekali sentuh penyediaan kios atau perangkat serupa lainnya tanpa mengaktifkan akun Google. - Senyapkan akses sertifikat perusahaan: Saat aplikasi melakukan panggilan
choosePrivateKeyAlias()
, sebelum pengguna diminta memilih sertifikat, Pemilik Profil atau Pemilik Perangkat sekarang dapat memanggilonChoosePrivateKeyAlias()
untuk menyediakan alias secara diam-diam ke aplikasi permintaan. Fitur ini memungkinkan Anda memberikan akses aplikasi terkelola ke sertifikat tanpa interaksi pengguna. - Persetujuan otomatis terhadap update sistem. Dengan mengatur kebijakan
pembaruan sistem menggunakan
setSystemUpdatePolicy()
, Pemilik Perangkat kini dapat menerima sistem secara otomatis melakukan update, misalnya pada perangkat kios, atau menunda update dan mencegahnya yang diambil oleh pengguna hingga 30 hari. Selain itu, administrator dapat mengatur periode waktu harian di pembaruan harus dilakukan, misalnya selama jam-jam saat perangkat kios tidak digunakan. Kapan pembaruan sistem tersedia, sistem akan memeriksa apakah aplikasi pengontrol kebijakan perangkat telah menyetel sistem memperbarui kebijakan, dan berperilaku sebagaimana mestinya. -
Penginstalan sertifikat yang didelegasikan: Pemilik Profil atau Pemilik Perangkat kini dapat memberikan
aplikasi pihak ketiga kemampuan untuk memanggil sertifikat
DevicePolicyManager
ini API pengelolaan: - Pelacakan penggunaan data. Pemilik Profil atau Perangkat kini dapat mengajukan kueri untuk
statistik penggunaan data yang terlihat di Setelan > Penggunaan data dengan menggunakan
Metode
NetworkStatsManager
. Pemilik Profil diberikan secara otomatis izin untuk mengkueri data di profil yang mereka kelola, sementara Pemilik Perangkat mendapatkan akses ke data penggunaan dari pengguna utama yang dikelola. - Pengelolaan izin runtime:
Pemilik Profil atau Perangkat dapat menetapkan kebijakan izin untuk semua permintaan runtime dari semua aplikasi yang menggunakan
setPermissionPolicy()
, untuk meminta pengguna memberikan izin atau memberikan atau secara otomatis menolak izin secara diam-diam. Jika kebijakan yang terakhir disetel, pengguna tidak dapat ubah pilihan yang dibuat oleh Pemilik Profil atau Pemilik Perangkat dalam layar izin aplikasi di Setelan. - VPN di Setelan: Aplikasi VPN kini dapat dilihat di Setelan > Lainnya > VPN. Selain itu, pemberitahuan yang menyertai penggunaan VPN sekarang spesifik tentang bagaimana VPN dikonfigurasi. Untuk Pemilik Profil, notifikasinya khusus tentang apakah VPN dikonfigurasi untuk profil terkelola, profil pribadi, atau keduanya. Untuk Pemilik Perangkat, notifikasi secara khusus mengenai apakah VPN dikonfigurasi untuk seluruh perangkat.
- Notifikasi status kerja: Ikon koper status bar kini muncul setiap kali aplikasi dari profil terkelola memiliki aktivitas di latar depan. Selain itu, jika perangkat dibuka kuncinya secara langsung ke aktivitas aplikasi dalam profil terkelola, toast akan ditampilkan memberi tahu pengguna bahwa mereka berada dalam profil kerja.