Bu sayfa, kurumsal API'lere, özelliklere ve davranışa dair genel bir bakış sunar. bazı değişiklikler var.
İş profili kullanıcı arayüzü
Android 9 (API düzeyi 28), varsayılan olarak kullanıcı arayüzü değişikliklerini içerir kullanıcıların kişisel uygulamaları ile iş uygulamalarını ayırmalarına yardımcı olacak başlatıcıyı kullanın. Cihaz üreticileri daha fazla dikkat edilmesi için ayrı iş ve kişisel sekmelerde kullanabilirsiniz. Ayrıca cihaz kullanıcılarının iş profilini açıp kapatmalarını da kolaylaştırdık. ve başlatıcının çalışma sekmesinde bir anahtar da dahil.
![](https://developer.android.com/static/images/about/versions/pie/p-work-profile.jpg?authuser=0000&hl=tr)
Android 9, iş profilleri ve yönetilen cihazların temel hazırlığını yaparken şunları içerir: cihaz kullanıcılarının bu özellikleri anlamalarına yardımcı olacak animasyonlu resimler.
Uygulamalar arasında geçiş yapma
Android 9, bir uygulamanın başka bir örneğini farklı bir yerde başlatmak için API'ler içerir.
profil oluşturabilirsiniz. Örneğin, bir e-posta uygulaması
Kullanıcının kişisel profil ve iş arasında geçiş yapmasına olanak tanıyan bir kullanıcı arayüzü sağlar
iki e-posta hesabına erişmek için profil. Tüm uygulamalar,
diğer profilde zaten yüklüyse aynı uygulamanın ana etkinliği Alıcı:
uygulamanıza profiller arası hesap geçişi ekleyin, aşağıdaki adımları uygulayın:
yöntem olan
CrossProfileApps
sınıf:
- Aşağıdakilerin listesini almak için
getTargetUserProfiles()
numaralı telefonu arayın başka bir örnek başlatabileceğiniz profillerinizi de kullanabilirsiniz. Bu yöntem, Uygulama profillere yüklenir. getProfileSwitchingIconDrawable()
numaralı telefonu arayın simgesini tıklayın.- Almak için
getProfileSwitchingLabel()
numaralı telefonu arayın kullanıcının profil değiştirmesini isteyen yerelleştirilmiş metin. - Şunun bir örneğini başlatmak için
startMainActivity()
adlı kişiyi çağırın başka bir profilde kullanabilirsiniz.
Başlatmak istediğiniz ana etkinliğin, uygulamanızın
ACTION_MAIN
intent işlemine sahip manifest dosyasıdır ve
CATEGORY_LAUNCHER
amaç kategorisi.
İş profillerini programatik olarak etkinleştirme veya devre dışı bırakma
Varsayılan başlatıcı (veya MANAGE_USERS
ya da
MODIFY_QUIET_MODE
), şu numarayı arayarak iş profilini etkinleştirebilir veya devre dışı bırakabilir:
UserManager.requestQuietModeEnabled()
. Şunları yapabilirsiniz:
kullanıcının kontrol etmek isteyip istemediğini anlamak için döndürülen
kimlik bilgilerini daha iyi anlamanızı sağlar. Çünkü bu değişiklik gerçekleşmeyebilir
hemen dinlemesini
ACTION_MANAGED_PROFILE_AVAILABLE
veya
ACTION_MANAGED_PROFILE_UNAVAILABLE
güncellememiz gerektiğini öğreneceğiz.
Uygulamanız iş profilinin durumunu şu numarayı arayarak kontrol edebilir:
UserManager.isQuietModeEnabled()
.
Uygulamaları tek bir cihaza kilitleyin
Android 9'dan itibaren, cihaz sahipleri ve profil sahipleri (ikincil kullanıcıların) herhangi bir uygulamayı kilit görevi moduna geçirerek cihazın ekranına kilitleyebilir. Önceden uygulama geliştiricilerin kilit görevi için destek eklemesi gerekiyordu. modlarında kontrol edin. Android 9, kilitleme görevini de uzatır İlişkili olmayan ikincil kullanıcıların profil sahiplerine yönelik API'ler. Aşağıdaki adımları uygulayın bir uygulamayı ekrana kilitlemek için:
- Şu numara için
DevicePolicyManager.setLockTaskPackages()
numaralı telefonu arayın: kilit görevi modu için uygulamaları izin verilenler listesine ekleyin. - Başlatmak için
ActivityOptions.setLockTaskEnabled()
numaralı telefonu arayın izin verilenler listesindeki bir uygulamayı kilit görevi moduna sokabilir.
Bir uygulamayı kilit görevi modunda durdurmak için uygulamayı kilit görevi modundan kaldırın
izin verilenler listesi -
DevicePolicyManager.setLockTaskPackages()
.
Sistem kullanıcı arayüzü özelliklerini etkinleştir
Görev kilitleme modu etkinleştirildiğinde cihaz sahipleri ve profil sahipleri
cihazdaki belirli sistem kullanıcı arayüzü özelliklerini
DevicePolicyManager.setLockTaskFeatures()
ve
bit alanını içerir:
LOCK_TASK_FEATURE_NONE
LOCK_TASK_FEATURE_SYSTEM_INFO
LOCK_TASK_FEATURE_HOME
LOCK_TASK_FEATURE_NOTIFICATIONS
yalnızcaLOCK_TASK_FEATURE_HOME
ile birlikte kullanılabilir.LOCK_TASK_FEATURE_KEYGUARD
LOCK_TASK_FEATURE_OVERVIEW
yalnızcaLOCK_TASK_FEATURE_HOME
ile birlikte kullanılabilir.LOCK_TASK_FEATURE_GLOBAL_ACTIONS
DevicePolicyManager.getLockTaskFeatures()
numaralı telefonu arayabilirsiniz
kilit görevi modu etkinken cihazda kullanılabilen özelliklerin listesini almak için
etkin. Bir cihaz kilit görevi modundan çıktığında
diğer cihaz politikaları.
Hata iletişim kutularını gizle
Perakende satış gösterileri veya kamuya açık bilgiler gibi bazı ortamlarda
görüntülendiğinde, kullanıcılara hata iletişim kutuları göstermek istemeyebilirsiniz. Cihaz politikası
Denetleyici (DPC), kilitlenen veya yanıt vermeyen sistem hatası iletişim kutularını gizleyebilir
Google Ads'e
DISALLOW_SYSTEM_ERROR_DIALOGS
kullanıcısı
olur. Bu kısıtlama, cihaz sahibi tarafından uygulandığında tüm iletişim kutularını etkiler
ancak yalnızca birincil veya ikincil kullanıcıda gösterilen hata iletişim kutuları gösterilmez
Kısıtlama profil sahipleri tarafından uygulandığında. Bu kısıtlama
nasıl etkilediğini öğreneceğiz.
Android 9'da, sürükleyici tam ekranda çalışan uygulamalar moddayken hatırlatma balonu gösterilmez kilit görevi moduna girer. Hatırlatıcı baloncuğu, kullanıcılara gösterilen bir paneldir (ilk başlatmada) konulu videomuzu izleyin.
Bir amaca özel ayrılmış cihazlarda birden fazla kullanıcıyı destekleme
Android 9, özel amaçlı kullanım için geçici kullanıcı kavramını tanıtmaktadır. cihazlar (eski adıyla COSU cihazlar). Geçici kullanıcılar Birden fazla kullanıcının tek bir hesabı paylaştığı durumlar için tasarlanmış kısa süreli kullanıcılar ayrı bir cihazdır. Kütüphane gibi cihazlardaki herkese açık kullanıcı oturumları da buna dahildir ya da konaklama amaçlı konaklama kiosk'ları veya sabit bir kontrol grubu Örneğin, vardiyalı çalışanlar.
Geçici kullanıcılar arka planda oluşturulmalıdır. Oluşturulma yöntemi cihazdaki ikincil kullanıcılar kaldırılır (ilişkili uygulamalar ve verileri) kullanılamaz. Bir geçici kullanıcı kullanıyorsanız cihaz sahipleri şunları yapabilir:
- Arama sırasında
MAKE_USER_EPHEMERAL
işaretini ayarlaDevicePolicyManager.createAndManageUser()
. DevicePolicyManager.startUserInBackground()
numaralı telefonu arayın arka planda başlatın.
Android 9'u hedefleyen uygulamaların yakalaması gerektiğini unutmayın
Arama yapılırken UserManager.UserOperationException
createAndManageUser()
. İstisnayı çağırın
getUserOperationResult()
yöntemini kullanarak
kullanıcı oluşturulmadı.
Etkinlik bildirimleri alma
DeviceAdminReceiver
, şunlar için bildirim alır:
takip eden etkinlikler:
onUserStarted()
: Kullanıcı başlatıldığında çağrılır.onUserSwitched()
: Kullanıcı geçişi yapıldığında çağrılır tamamlandı.onUserStopped()
: Şununla çağrıldı:onUserRemoved()
bir kullanıcı işlemi durdurduğunda veya günlüğe kaydettiğinde dışa aktarabilirsiniz.
Kullanıcılara etkinlik mesajlarını gösterme
Cihaz sahipleri, aşağıdakileri yaptıklarında kullanıcılara gösterilecek mesajları yapılandırabilir ve bitirmelerini sağlar:
- Tekliflerinizi otomatikleştirmek ve optimize etmek için
DevicePolicyManager.setStartUserSessionMessage()
oturumu başladığında kullanıcıya gösterilecek mesajı ayarlamak için kullanabilirsiniz. Alıcı: mesajı al, çağrıDevicePolicyManager.getStartUserSessionMessage()
. - Tekliflerinizi otomatikleştirmek ve optimize etmek için
DevicePolicyManager.setEndUserSessionMessage()
kullanın. Alıcı: mesajı al, çağrıDevicePolicyManager.getEndUserSessionMessage()
.
Çıkış yap ve kullanıcıları durdur
Cihaz sahipleri şunları kullanabilir:
DevicePolicyManager.setLogoutEnabled()
ile
çıkış yapma özelliğinin ikincil kullanıcılar için etkin olması gerekir. Çıkış yapma özelliğinin etkin olup olmadığını kontrol etmek için şu numarayı arayın:
DevicePolicyManager.isLogoutEnabled()
.
İkincil kullanıcıların profil sahipleri arayabilir
İkincil kullanıcıyı durdurmak için DevicePolicyManager.logoutUser()
ve
birincil kullanıcıya geri dönmesini sağlayabilirsiniz.
Cihaz sahipleri bir öğeyi durdurmak için DevicePolicyManager.stopUser()
aracını kullanabilir:
belirtilen ikincil kullanıcı.
Paketleri önbelleğe alma
Sabit bir kullanıcı grubuyla paylaşılan cihazlarda kullanıcı temel hazırlığını kolaylaştırmak için: için kullanılan cihazlarda olduğu gibi, çok kullanıcılı oturumlar için gerekenler:
Telefonla arama
DevicePolicyManager.setKeepUninstalledPackages()
kullanarak APK olarak saklanacak paketlerin listesini belirtin. Bu öğelerin listesini almak için paketler, çağrıDevicePolicyManager.getKeepUninstalledPackages()
.DevicePolicyManager.installExistingPackage()
numaralı telefonu arayın kaldırma işleminden sonra tutulan bir paketi yüklemeksetKeepUninstalledPackages()
.
Ek yöntemler ve sabit değerler
Android 9, daha fazla destek sağlamak için aşağıdaki yöntemleri ve sabitleri de içerir paylaşılan cihazlardaki kullanıcı oturumları:
DevicePolicyManager.getSecondaryUsers()
şunların listesini alır: cihazdaki tüm ikincil kullanıcılarDISALLOW_USER_SWITCH
yapabileceğiniz bir kullanıcı kısıtlamasıdır şunu arayarak etkinleştirebilirsiniz: Kullanıcıların geçiş yapmasını engellemek içinDevicePolicyManager.addUserRestriction()
.LEAVE_ALL_SYSTEM_APPS_ENABLED
bayraktır şunlar için kullanılabilir:DevicePolicyManager.createAndManageUser()
. Ayarlandığında, kullanıcı temel hazırlığı sırasında sistem uygulamaları devre dışı bırakılmaz.UserManager.UserOperationException
DevicePolicyManager.createAndManageUser()
: Kullanıcı oluşturulamadığı için istisna, hatanın nedenini içerir.
Paket verilerini temizle ve hesapları kaldır
Cihaz sahipleri ve profil sahipleri telefon edebilir
Kullanıcı verilerini temizlemek için clearApplicationUserData()
ifade eder. Bir hesabı
AccountManager
, cihaz ve profil sahipleri telefon edebilir
removeAccount()
.
Kullanıcı kısıtlamaları ve ayarlar üzerinde daha fazla kontrol
Android 9, DPC'ler için bir dizi kullanıcı kısıtlaması ve bir cihazda APN'leri, saati, saat dilimini ve sistem ayarlarını yapılandırabilme.
APN'leri yapılandırın
Cihaz sahipleri,
DevicePolicyManager
APN'leri
cihaz:
addOverrideApn()
updateOverrideApn()
removeOverrideApn()
getOverrideApns()
setOverrideApnEnabled()
isOverrideApnEnabled()
Saati ve saat dilimini yapılandırın
Cihaz sahipleri,
Saat ve saat dilimini ayarlamak için DevicePolicyManager
sınıfı
cihazda:
Önemli ayarlarda kullanıcı kısıtlamalarını zorunlu kıl
Android 9, sistem özelliklerini ve ayarlarını devre dışı bırakmak için kullanıcı kısıtlamaları ekler. Alıcı:
kısıtlama ekle,
DevicePolicyManager.addUserRestriction()
aşağıdaki UserManager
sabit değer:
DISALLOW_AIRPLANE_MODE
DISALLOW_AMBIENT_DISPLAY
DISALLOW_CONFIG_BRIGHTNESS
DISALLOW_CONFIG_DATE_TIME
DISALLOW_CONFIG_LOCATION
DISALLOW_CONFIG_SCREEN_TIMEOUT
DISALLOW_PRINTING
DISALLOW_CONFIG_BRIGHTNESS
ve
DISALLOW_CONFIG_SCREEN_TIMEOUT
zorunlu kılındı
bir cihazda, cihaz sahipleri yine de ekranı
parlaklık, ekran parlaklığı
modu ve ekran zaman aşımı ayarlarını değiştirebilirsiniz
API'yi kullanarak cihazda
DevicePolicyManager.setSystemSetting()
.
Ölçülen veriler
Cihaz sahipleri ve profil sahipleri, uygulamaların bir cihazın
sayaçlı veri ağlarında da Bir ağ şu durumlarda sınırlı olarak kabul edilir:
maliyet, veri limitleri veya pil nedeniyle yoğun veri kullanımına karşı hassastır.
performans sorunları var. Uygulamaların sayaçlı ağları kullanmasını engellemek için şu çağrıyı yapın:
DevicePolicyManager.setMeteredDataDisabledPackages()
bir liste aktarma yöntemidir. Şu anda kısıtlanmış uygulamaları almak için şu numarayı arayın:
DevicePolicyManager.getMeteredDataDisabledPackages()
.
Android'de sayaçlı veriler hakkında daha fazla bilgi edinmek için Ağ Verilerini Optimize Etme Kullanım.
DPC'leri taşı
Cihaz politikası denetleyiciler (DPC'ler) bir cihazın sahipliğini aktarabilirler. iş profilini başka bir DPC'ye Bazı özellikleri taşımak için sahipliği aktarabilirsiniz Android Yönetimi API: veya BT yöneticilerinin EMM'nize taşımasına yardımcı olmak için görmenizi sağlar. Çünkü değiştirirseniz, bu özelliği kullanarak veri türünün türünü değiştirmek için yönetimi (ör. yönetilen bir cihazdan iş profiline taşıma) ve bu böyle devam eder.
Cihaz yöneticisi politikaları XML kaynağını kullanarak
DPC'nizin bu sürümünün taşıma işlemini desteklediğini belirtir. Hedef DPC
adlı bir öğe ekleyerek sahiplik alabileceğini gösterir.
<support-transfer-ownership>
Aşağıdaki örnek, bu sorunu
DPC'nizin cihaz yöneticisi XML dosyası:
<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>
Sahipliği yeni DPC uygulamasına taşımak isteyen DPC'ler, hedef DPC'nin
sürümü, DeviceAdminInfo
yöntemini çağırarak taşımayı destekliyor
supportsTransferOwnership()
Aktarmadan önce
kaynak DPC'nin sorumluluğundadır.
karşılaştırıyoruz. PackageManager
sınıfı şunları içerir:
yöntemlerine göz atacağız.
Android, kaynak DPC'nin sistemini ve kullanıcı politikalarını bir sahiplik aracılığıyla yönetir.
aktarım: DPC'lerin bunları taşıması gerekmez. Kaynak DPC, özel verileri
PersistableBundle
içindeki anahtar/değer çiftlerini kullanarak hedef DPC'yi çağırın. Ardından
aktarma işlemi başarılı olursa hedef DPC,
DevicePolicyManager.getTransferOwnershipBundle()
.
Yönetilen bir cihazın veya iş profilinin sahipliğini aktarma adımları şunlardır: aynı:
- Kaynak DPC, hedef DPC'nin sürümünün taşımayı desteklediğini ve hedef DPC'nin uygulama imzasının beklenen değerle eşleştiğini onaylar.
- Kaynak DPC,
transferOwnership()
aktarmalısınız. - Sistem, hedef DPC'yi etkin yönetici yapar ve yönetilen cihazın veya iş profilinin sahibi olarak oturum açmanız gerekir.
- Hedef DPC, geri çağırmayı alır
onTransferOwnershipComplete()
ve yapılandırabilirbundle
bağımsız değişkenindeki değerleri kullanarak otomatik olarak oluşturulur. - Aktarım işleminde bir sorun olursa sistem, sahipliği
kaynak DPC'dir. Kaynak DPC'nizin, sahiplik aktarımını onaylaması gerekiyorsa
başarılı olduysa kaynak DPC'nin doğru olup olmadığını kontrol etmek için
isAdminActive()
numaralı telefonu çağırın artık etkin yönetici değil.
İş profilinde çalışan tüm uygulamalar
ACTION_PROFILE_OWNER_CHANGED
şu durumlarda yayınla:
profil sahibinin değişmesi. Yönetilen bir cihazda çalışan uygulamalar
ACTION_DEVICE_OWNER_CHANGED
cihaz sahibi değişiklikleri.
Tamamen yönetilen cihazlarda iş profilleri
Cihaz sahibi ve profil sahibi olarak çalışan bir DPC'nin iki örneğini aktarma iki aşamada gerçekleşir. Kişisel profil ve iş profili satış ortağı kullanıyorsanız aktarımı aşağıdaki sırayla tamamlayın:
- Öncelikle iş profilinin sahipliğini aktarın.
DeviceAdminReceiver
geri çağırmasını bekleyinonTransferAffiliatedProfileOwnershipComplete()
iş profilinin hedef DPC'ye aktarıldığını onaylayın.- Son olarak, yönetilen cihazın sahipliğini hedef DPC'ye aktarın.
Kablosuz güncellemelerini ertele
Cihaz sahipleri, OTA sistem güncellemelerini cihazlarda 90 güne kadar erteleyebilir. kritik dönemlerde bu cihazlarda çalışan işletim sistemi sürümünün dondurulması (ör. tatiller). Sistem, tanımlanan herhangi bir öğe için 60 günlük zorunlu bir tampon cihazın süresiz olarak donmasını engellemek için dondurma süresini kontrol edin.
Dondurma döneminde:
- Cihazlar, bekleyen OTA güncellemeleri hakkında bildirim almaz.
- Cihazlar, işletim sistemine herhangi bir OTA güncellemesi yüklemez.
- Cihaz kullanıcıları, Ayarlar'da OTA güncellemelerini manuel olarak kontrol edemez.
Dondurma süresini ayarlamak için şu numarayı arayın:
SystemUpdatePolicy.setFreezePeriods()
. Çünkü donduğu için
dönem her yıl tekrarlanırsa dönemin başlangıç ve bitiş tarihleri temsil edilir
yıl başlangıcından bu yana geçen gün sayısını tam sayılarla hesaplama. Başlangıç günü
herhangi bir dondurma süresinin sona ermesinden en az 60 gün sonra başlamalıdır. Cihaz
sahipler SystemUpdatePolicy.getFreezePeriods()
numaralı telefonu arayarak
sistem güncelleme politikası nesnesinde daha önce ayarlanmış dondurma dönemlerinin listesini alma.
DevicePolicyManager.getSystemUpdatePolicy()
adlı kullanıcılar
cihaz sahibi tarafından ayarlanan dondurma dönemlerini döndürecek şekilde güncellenir.
İş profiliyle paylaşımı kısıtlama
Profil sahipleri, kullanıcıların kişisel verilerini bir iş profilinde paylaşmasını engelleyebilir
cihaza kullanıcı kısıtlaması ekleyerek
DISALLOW_SHARE_INTO_MANAGED_PROFILE
.
Bu kısıtlama, aşağıdaki niyetlerin ele alınmasını ve paylaşılmasını engeller:
- İş profili uygulamalarıyla veri ve dosya paylaşan kişisel profil uygulamaları.
- Kişisel profilden öğeler seçen iş profili uygulamaları. Örneğin: dosyalar olabilir.
Bu kısıtlamayı ayarladıktan sonra DPC'niz profiller arası etkinliklere izin vermeye devam edebilir
niyetlerini çağırın
addCrossProfileIntentFilter()
.
Donanım korumalı anahtarlar ve makine sertifikaları
Android 9, kullanabileceğiniz anahtarlar ve sertifikalarla çalışmanıza yardımcı olacak API'ler ekler. birleştirmek için kullanılmasını öneririz. Profil sahibinde veya cihazda çalışan DPC kullanıcı modları veya yetki verilmiş sertifika yükleyicisi, şu görevleri tamamlayın:
- Güvenli donanımda (örneğin, güvenilen bir donanımda) anahtar ve sertifika oluşturun
veya Güvenlik Unsuru (SE) ya da uygulama ortamını (TEE) içerebilir. İlgili içeriği oluşturmak için kullanılan
oluşturulan anahtarlar güvenli donanımdan hiçbir zaman dışarı çıkmaz ve Android
KeyChain'i seçin. Telefonla arama
DevicePolicyManager.generateKeyPair()
(bkz.KeyPairGenerator
) ve kullandığınız donanım kimliklerinin resmi numarası (ör. seri numarası veya IMEI) sağlamanız gerekir. Güvenlik ile ilgili daha fazla bilgi edinmek için donanım değişiklikleri hakkında bilgi edinmek için Android 9 Güvenlik geliştirmeler başlıklı makaleyi inceleyin. - Bir sertifikayı, cihaz tarafından oluşturulmuş mevcut bir anahtarla ilişkilendirme. Telefonla arama
DevicePolicyManager.setKeyPairCertificate()
tedarik ediyor mevcut anahtarın ve sertifika zincirinin takma adı (yapraktan başlayarak) güven zincirini dahil etmelisiniz. - Kullanmadan önce güvenli donanımın anahtarı koruduğundan emin olun. Kontrol etmek için hangi mekanizmaların anahtarı koruduğunu öğrenmek için Anahtar Onay.
- Cihaz sahipleri ve yetki verilmiş sertifika yükleyicileri,
cihazın açıklaması donanım kimliklerinin sayısı. Telefonla arama
DevicePolicyManager.generateKeyPair()
bir veya daha fazlasını geçtiID_TYPE_BASE_INFO
,ID_TYPE_SERIAL
,ID_TYPE_IMEI
veyaID_TYPE_MEID
idAttestationFlags
bağımsız değişken. Döndürülen sertifika, Onay kaydındaki kimlikler. Donanım kimliklerinin dahil edilmesini istemiyorsanız0
Profil sahipleri yalnızca üretici bilgilerini alabilir (ID_TYPE_BASE_INFO
) bilgileri gösterilir. Cihazın kimlikleri onaylayıp onaylamadığını kontrol etmek için şu numarayı arayın:isDeviceIdAttestationSupported()
- Cihaz kullanıcılarının kurumsal anahtarları kötüye kullanmasını önleyin (kurumsal olmayan görevlerde)
yapabilirsiniz. Sistem,
seçim yapılamayan sertifikaları gösterir.
DeviceAdminReceiver.onChoosePrivateKeyAlias()
geri çağırma yöntemini kullanıyorsanız, takma adı kurumsal anahtarınıza geri döndürerek Kullanıcı adına otomatik olarak sertifikayı seçer. Anahtar oluşturmak için seçilemez, aşağıdakiDevicePolicyManager
yöntemlerini çağırın:setKeyPairCertificate()
veisUserSelectable
bağımsız değişkeni içinfalse
değerini iletin.installKeyPair (ComponentName, PrivateKey, Certificate[], String, int)
ve şu dizedenINSTALLKEY_SET_USER_SELECTABLE
çıkarın:flags
bağımsız değişkeni.
Kuruluşlar bu API'leri birleştirerek cihazları güvenli bir şekilde tanımlayıp onaylayabilir sağlamadan önce doğruluk kontrolü yapmaktan kaçınılmalıdır:
- Android cihaz, güvenli donanımda yeni bir özel anahtar oluşturur. Özel anahtar, güvenli donanımdan hiçbir zaman dışarı çıkmadığı için gizli kalır.
- Cihaz, bu anahtarı kullanarak bir sertifika imzalama isteği oluşturup gönderir (CSR) üzerinden sunucuya gönderir. CSR, Cihaz kimlikleri.
- Sunucu, sertifika zincirini doğrular (Google sertifikasına rootlanır) ve onay kaydından cihaz meta verilerini ayıklar.
- Sunucu, güvenli donanımın özel anahtarı koruduğunu ve kuruluşun kayıtlarıyla eşleştiğinden emin olun. Sunucu ayrıca, Android sistem ve yama sürümlerinin tüm gereksinimleri karşıladığından emin olun.
- Sunucu, CSR'den sertifika oluşturur ve bu sertifikayı için geçerlidir.
- Cihaz, sertifikayı özel anahtarla eşler ( güvenli donanım) sağlayan uygulamaların kurumsal hizmetlere bağlanmasını sağlar.
Daha fazla güvenlik API'si, özellik ve değişiklik
Güvenlik ve ağ günlüklerinin kimlikleri
Android 9'un güvenlik ve ağ etkinliği günlüklerinde kimlikler bulunur. Sayısal kimlik her etkinlik için tek tip bir artış sağlayarak BT yöneticilerinin bunu fark etmesini kolaylaştırır fark edebilirsiniz. Güvenlik günlükleri ile ağ günlükleri birbirinden farklı olduğu için sistem, ayrı kimlik değerleri korur.
SecurityEvent.getId()
numaralı telefonu arayın,
DnsEvent.getId()
veya
Kimlik değerini almak için ConnectEvent.getId()
. Sistem
Bir DPC günlük kaydını etkinleştirdiğinde veya cihaz yeniden başlatıldığında kimliği sıfırlar.
Çağrıyla getirilen güvenlik günlükleri
DevicePolicyManager.retrievePreRebootSecurityLogs()
bu kimlikleri dahil etmeyin.
Güvenlik günlük kaydı
Güvenlik günlük kaydı her SecurityEvent
için bir günlük düzeyi atar. Günlük düzeyine ulaşmak için:
getLogLevel()
numaralı telefonu arayın. Bu yöntem,
Şunlardan biri olabilir: LEVEL_INFO
, LEVEL_WARNING
veya
LEVEL_ERROR
.
Android 9, aşağıdaki tabloda listelenen etkinlikleri security
günlüklere bakın. Bir etkinliğin etiketini kontrol etmek için getTag()
komutunu çağırın. Alıcı:
etkinlik verilerini almak için getData()
numaralı telefonu arayın.
Etiketle | Etkinlik açıklaması |
---|---|
TAG_CERT_AUTHORITY_INSTALLED |
Sistemin kimlik bilgileri deposuna yeni bir kök sertifika yükleme girişimi. |
TAG_CERT_AUTHORITY_REMOVED |
Sistemin kimlik bilgileri deposundan kök sertifikayı kaldırma girişimi. |
TAG_CERT_VALIDATION_FAILURE |
Bir kablosuz sertifikası, bağlantı sırasındaki doğrulama kontrolünde başarısız oldu. |
TAG_CRYPTO_SELF_TEST_COMPLETED |
Sistem, kriptografik kendi kendine testi tamamladı. |
TAG_KEYGUARD_DISABLED_FEATURES_SET |
Bir yönetici uygulaması, cihazın veya iş profili kilit ekranının özelliklerini devre dışı bıraktı. |
TAG_KEY_DESTRUCTION |
Şifreleme anahtarı silme girişimi. |
TAG_KEY_GENERATED |
Yeni bir şifreleme anahtarı oluşturma girişimi. |
TAG_KEY_IMPORT |
Yeni bir şifreleme anahtarı içe aktarma girişimi. |
TAG_KEY_INTEGRITY_VIOLATION |
Android, hasarlı bir şifreleme veya kimlik doğrulama anahtarı algıladı. |
TAG_LOGGING_STARTED |
Güvenlik günlüğü kaydı başladı. |
TAG_LOGGING_STOPPED |
Güvenlik günlük kaydı kaydı durdu. |
TAG_LOG_BUFFER_SIZE_CRITICAL |
Güvenlik günlüğü arabelleği, kapasitesinin% 90'ına ulaştı. |
TAG_MAX_PASSWORD_ATTEMPTS_SET |
Bir yönetici uygulaması, izin verilen yanlış şifre denemesi sayısını ayarladı. |
TAG_MAX_SCREEN_LOCK_TIMEOUT_SET |
Bir yönetici uygulaması, maksimum ekran kilidi zaman aşımı süresi ayarladı. |
TAG_MEDIA_MOUNT |
Cihaza çıkarılabilir depolama medyası monte edildi. |
TAG_MEDIA_UNMOUNT |
Cihazdaki çıkarılabilir depolama medyası kaldırıldı. |
TAG_OS_SHUTDOWN |
Android sistemi kapatıldı. |
TAG_OS_STARTUP |
Android sistemi başlatıldı. |
TAG_PASSWORD_COMPLEXITY_SET |
Bir yönetici uygulaması tarafından belirlenen şifre karmaşıklığı şartları. |
TAG_PASSWORD_EXPIRATION_SET |
Bir yönetici uygulaması, şifre geçerlilik süresi ayarladı. |
TAG_PASSWORD_HISTORY_LENGTH_SET |
Bir yönetici uygulaması, şifre geçmişi uzunluğu ayarlayarak kullanıcıların eski şifreleri yeniden kullanmasını engelliyor. |
TAG_REMOTE_LOCK |
Bir yönetici uygulaması cihazı veya iş profilini kilitledi. |
TAG_USER_RESTRICTION_ADDED |
Bir yönetici uygulaması kullanıcı kısıtlaması ayarlamış. |
TAG_USER_RESTRICTION_REMOVED |
Bir yönetici uygulaması bir kullanıcı kısıtlamasını kaldırdı. |
TAG_WIPE_FAILURE |
Cihazı veya iş profilini temizleme girişimi başarısız oldu. |
İş profili kilit ekranı sorgulaması
Android 9'dan itibaren, profil sahipleri kullanıcıların ayrı bir kilit ayarlamasını zorunlu kılabilir
iş profilinde ekran sorgulaması özelliğini kullanarak
DISALLOW_UNIFIED_PASSWORD
kullanıcı kısıtlaması. Alıcı:
Kullanıcının cihazında aynı kilit ekranı sorgulamasının ayarlanıp ayarlanmadığını kontrol etme ve
iş profili, çağrı
DevicePolicyManager.isUsingUnifiedPassword()
.
Cihazın ayrı bir iş profili kilit ekranı varsa
DevicePolicyManager.setMaximumTimeToLock()
yalnızca bir
kilit ekranı zaman aşımını tüm cihaz için değil, iş profili için de değiştirebilirsiniz.
Geliştirici araçları erişimi
Android Debug Bridge (adb) aracı, iş verilerinin iş profilinde saklanmasına yardımcı olmak için , iş profilindeki dizinlere ve dosyalara erişemez.
Daha fazla biyometrik seçenek için destek
Android 9, biyometrik donanım kimlik doğrulaması üzerinde ayrıntılı kontrol sağlar.
iş profilinin kilit ekranına gidin. Mevcut
DevicePolicyManager.setKeyguardDisabledFeatures()
KEYGUARD_DISABLE_FACE
ve
KEYGUARD_DISABLE_IRIS
.
Cihazın sağladığı tüm biyometrik kimlik doğrulama yöntemlerini devre dışı bırakmak için KEYGUARD_DISABLE_BIOMETRICS
özelliğini ekleyin.
Cihaz yöneticisi politikalarının kullanımdan kaldırılması
Android 9, aşağıda listelenen politikaları device kullanan DPC'ler için desteği sonlandırıldı olarak işaretler. inceleyebilirsiniz. Politikalar işlev göstermeye devam ediyor olduğu gibi Android 9'da da kullanıma sunuyoruz. Android 10 sürümünden itibaren aynı politikalar bir cihaz yöneticisi tarafından çağrıldığında bir SecurityException verir.
USES_POLICY_DISABLE_CAMERA
USES_POLICY_DISABLE_KEYGUARD_FEATURES
USES_POLICY_EXPIRE_PASSWORD
USES_POLICY_LIMIT_PASSWORD
Bazı uygulamalar, tüketici cihaz yönetimi için cihaz yöneticisini kullanır. Örneğin, Örneğin, kayıp bir cihazı kilitleme ve silme. Aşağıdaki politikalar geçerli olmaya devam edecek kullanılabileceklerini unutmayın:
Bu değişiklikler hakkında daha fazla bilgi edinmek için Cihaz yöneticisi desteğinin sonlandırılması.
Basitleştirilmiş QR kodu kaydı
Yerleşik QR kitaplığı
Android 9, QR kodu cihazını kolaylaştırmak için bir QR kitaplığıyla birlikte gelir temel hazırlık. BT yöneticilerinin kurulum için artık kablosuz ağ ayrıntılarını manuel olarak girmesi gerekmiyor cihaz. Bunun yerine, Android 9'da aşağıdaki kablosuz ağ ayrıntılarını eklemek mümkündür bir kontrol panelidir. BT yöneticisinin şirkete ait bir QR kodunu taraması Cihaz, kablosuz ağa otomatik olarak bağlanır ve temel hazırlığı süreci tamamlamak için kullanılabilmesidir.
QR kodu temel hazırlık yöntemi, aşağıdaki temel hazırlık eklerini destekler: kablosuz ağ ayrıntılarını belirtin:
EXTRA_PROVISIONING_WIFI_HIDDEN
EXTRA_PROVISIONING_WIFI_PAC_URL
EXTRA_PROVISIONING_WIFI_PASSWORD
EXTRA_PROVISIONING_WIFI_PROXY_BYPASS
EXTRA_PROVISIONING_WIFI_PROXY_HOST
EXTRA_PROVISIONING_WIFI_PROXY_PORT
EXTRA_PROVISIONING_WIFI_SECURITY_TYPE
EXTRA_PROVISIONING_WIFI_SSID
Temel hazırlık ekstralarını kullanarak tarihi ve saat dilimini ayarlayın
QR kodu temel hazırlık yöntemi, saati ve saati ayarlamak için ilave temel hazırlıkları destekler. cihazın saat dilimi:
Veri silme seçenekleri
Cihaz yöneticileri, bir işi kaldırırken kullanıcılara kişiselleştirilmiş bir mesaj gösterebilir
profil veya ikincil kullanıcı olabilir. Mesaj, cihaz kullanıcılarının
BT yöneticisi iş profilini veya ikincil kullanıcıyı kaldırdı. Telefonla arama
wipeData(int, CharSequence)
ve bir Shorts videosu
bir açıklamadır. Birincil kullanıcı veya cihaz sahibi tarafından çağrıldığında, sistem
Bu durumda bir mesaj gösterilmez ve cihazı fabrika ayarlarına sıfırlama işlemi başlar.
Yerleşik bir eUICC SIM'deki abonelik verilerini kaldırmak için şu numarayı arayın:
wipeData()
ve flags
öğesine WIPE_EUICC
dahil
bağımsız değişkeninin önüne geçer.
İlişkili profil sahipleri için yöntemler
Aşağıdaki yöntemler satış ortağı profil tarafından kullanılabilir sahipler:
DevicePolicyManager.setKeyguardDisabled()
DevicePolicyManager.setStatusBarDisabled()
PackageInstaller.createSession()