Android 8.0'daki yenilikler

Bu sayfada, Android 8.0'da (API düzeyi 26) kullanıma sunulan ve Android in the enterprise'ı etkileyen yeni API'lere, özelliklere ve davranış değişikliklerine genel bir bakış sunulmaktadır.

Yeni API'ler ve özellikler

Profil sahibi ve cihaz sahibi yönetim modlarını her zamankinden daha güçlü, verimli ve temel hazırlığı her zamankinden daha kolay hale getirdik. Ayrıca, tümüyle yönetilen cihazlardaki iş profillerini kapsayan tamamen yeni bir dağıtım senaryosunu etkinleştirdik. Bunlar ve diğer özellikler aşağıdaki bölümlerde açıklanmıştır.

Tamamen yönetilen cihazlarda iş profilleri

Android 8.0'da, tümüyle yönetilen cihazların da iş profilleri olabilir. Bu sayede kuruluşlar, her iki profilde de kontrolü ve görünürlüğü korurken uygulamaları ve politikaları birbirinden ayırabilir. Yönetilen profili mevcut cihaz sahibi veya farklı bir cihaz politikası denetleyicisi (DPC) oluşturabilir.

Tümüyle yönetilen cihazlardaki iş profilleriyle cihaz sahipleri şunları yapabilir:

  • EXTRA_PROVISIONING_SKIP_USER_CONSENT yöntemini çağırarak kullanıcı etkileşimi olmadan yönetilen bir profil oluşturun.
  • İkincil kullanıcılar veya yönetilen profiller oluşturulduğunda ya da kaldırıldığında bildirim alın. Geri çağırmalar onUserAdded() ve onUserRemoved() şeklindedir.
  • Diğer DPC'lerin DISALLOW_ADD_MANAGED_PROFILE kullanarak yönetilen profiller oluşturmasını engelleyin. Bu ayar, yeni temel hazırlığı yeni yapılmış veya Android 8.0'a yükseltilmiş cihazlardaki cihaz sahipleri için Android 8.0'da varsayılan ayardır.
  • Cihaz sahipleri, kullanıcıların DISALLOW_REMOVE_MANAGED_PROFILE kullanarak mevcut yönetilen profilleri kaldırmasını da engelleyebilir.

Cihaz sahipleri ve profil sahipleri, aynı APK'dan olmaları ve sahiplerin ilişkili olması durumunda birbirleriyle iletişim kurabilir (aşağıdaki Kullanıcı bağlantısı bölümüne bakın).

Bu yeni dağıtım senaryosunu destekleme hakkında daha ayrıntılı bilgi edinmek için tümüyle yönetilen cihazlardaki iş profillerine özel sayfayı inceleyin.

Kullanıcı ilişkilendirme

Bir cihaz sahibi ve bir profil sahibi aynı kuruluşu temsil ettiğinde:

  • Cihaz ve profil sahipleri aynı APK içinde birbirleriyle iletişim kurabilirler. Politikaları veya durumları paylaşmak isteyebilirler (yukarıdaki Tamamen yönetilen cihazlardaki iş profilleri bölümüne bakın).

  • Günlük kaydı veya kilitleme görevi modu gibi cihaz genelindeki özellikler ilişkili kullanıcılar için geçerli olabilir.

Bir profile veya kullanıcıya eklenen satış ortağı kimlikleri, kuruluşları tanımlar. Satış ortağı kimlikleri eşleştiğinde kullanıcılar ilişkilendirilebilir. Cihaz sahipleri ve profil sahipleri, satış ortaklığı kimliklerini ayarlamak için setAffiliationIds() yöntemini kullanır. Tahmin edilmesi zor, uzun dize kimlikleri kullanan kuruluşları temsil eder.

Satış ortağı kullanıcılar için yeni erişim

Bir cihazdaki tüm ikincil kullanıcılar ve profiller cihaz sahibiyle ilişkiliyse aşağıdaki özellikler kullanılabilir:

Güvenlik günlük kaydı ve hata raporlama, önceden yalnızca tek kullanıcılı veya tek bir profili ve bir kullanıcısı olan cihazlarda kullanılabiliyordu.

Görev kilitleme modu, setLockTaskPackages() üzerinden cihaz sahibiyle ilişkilendirildiğinde ikincil kullanıcılar ve yönetilen profiller tarafından kullanılabilir. Kullanıcı ilişkileri hakkında daha ayrıntılı bilgi için İlişkili kullanıcılar bölümünü inceleyin.

Özelleştirilmiş temel hazırlık sorumluluk reddi beyanları

DPC'ler artık temel hazırlık sırasında kullanıcılara kendi sorumluluk reddi beyanlarını gösterebilir. Stil verilmiş metin sorumluluk reddi beyanları sağlamak için EXTRA_PROVISIONING_DISCLAIMERS, EXTRA_PROVISIONING_DISCLAIMER_HEADER ve EXTRA_PROVISIONING_DISCLAIMER_CONTENT kullanın. DPC'nin özel sorumluluk reddi beyanları, daraltılabilir Şartlar listesinde gösterilir.

Güvenlik

Profil sahipleri ve cihaz sahipleri, bir cihazın veya parmak izi ya da güven aracıları gibi ikincil kimlik doğrulama yöntemi içeren bir profilin kilidini açarken zaman aşımı süresini yapılandırmak için setRequiredStrongAuthTimeout() özelliğini kullanabilir. Zaman aşımı süresi sona erdiğinde kullanıcı şifre, PIN veya desen gibi güçlü bir kimlik doğrulama yöntemi kullanarak cihazın veya profilin kilidini açmalıdır.

Cihaz sahipleri ve profil sahipleri, cihaz ve iş profili şifrelerini resetPasswordWithToken() kullanarak güvenli bir şekilde sıfırlayabilir. Dosya tabanlı şifrelemeyi destekleyen cihazlarda bu API, DPC şifrelemeye duyarlı olması koşuluyla kullanıcı cihazının veya profilinin kilidini açmadan önce kullanılabilir.

Dosya tabanlı şifrelemeyi destekleyen bir cihazda iş profili kilitlenirken lockNow(int), isteğe bağlı olarak FLAG_EVICT_CREDENTIAL_ENCRYPTION_KEY kullanarak iş profilinin birincil şifreleme anahtarlarını çıkarabilir. Kullanıcı iş profilini devre dışı bıraktığında da şifreleme anahtarları atılır.

Cihaz sahipleri, şirkete ait cihazlardan başlatılan DNS sorgularının ve TCP bağlantılarının ağ günlük kaydını etkinleştirmek için setNetworkLoggingEnabled() özelliğini de kullanabilir. Daha fazla bilgi için Ağ Etkinliği Günlüğü sayfasını inceleyin.

Profil sahipleri, birincil kullanıcı paketlerinden hangilerinin iş profili bildirimlerini görüntüleyebileceğini kısıtlayabilir. NotificationListenerService üzerinden etkinlik alan, izin verilenler listesindeki paketleri ayarlamak için setPermittedCrossProfileNotificationListeners() numaralı telefonu arayın. İzin verilen işleyicileri null (varsayılan) değerine ayarlamak, izin verilenler listesini devre dışı bırakır ve tüm paketler bildirimleri dinleyebilir. Etkinlikleri sistem paketleriyle sınırlamak için boş bir Set iletin. İş profili bildirimlerine erişemeyen uygulamaları görüntülemek için kullanıcılar Ayarlar > Uygulamalar ve bildirimler > Özel uygulama erişimi > Bildirim erişimi'ne dokunabilir.

Son olarak, profil sahipleri ve cihaz sahipleri getPendingSystemUpdate() kullanarak bir cihazda bulunan beklemedeki sistem güncellemeleri hakkında bilgi alabilirler.

App Management API yetkisi

API yetkisi, cihaz sahiplerinin ve profil sahiplerinin uygulama yönetimini diğer uygulamalara tamamen aktarmasına olanak tanır. DevicePolicyManager sınıfı, cihaz ve profil sahiplerinin bir pakete verebileceği yetki kapsamlarını yönetmeyi sağlayan yöntemler sunar:

Aşağıdaki tabloda DevicePolicyManager içindeki çeşitli yöntemlerin farklı kapsamlar halinde nasıl düzenlendiği gösterilmektedir:

Tablo 1. Kapsamlar ve cihaz politikası yöntemleri arasındaki yazışmalar,

Gruplandır Yöntemler
DELEGATION_CERT_INSTALL
DELEGATION_APP_RESTRICTIONS
DELEGATION_BLOCK_UNINSTALL setUninstallBlocked()
DELEGATION_PERMISSION_GRANT
DELEGATION_PACKAGE_ACCESS
DELEGATION_ENABLE_SYSTEM_APP enableSystemApp()

Uzun süredir çalışan arka plan hizmetleri

Cihaz ve profil sahipleri, arka plan hizmetleri oluşturmak için DeviceAdminService alt sınıfı oluşturabilir. Android sistemi, kullanıcı çalışırken hizmetin çalışmaya devam etmesini sağlamaya çalışır. Periyodik görevler çalıştırmak istiyorsanız arka plan hizmeti oluşturmadan önce JobScheduler hizmetini kullanabilirsiniz.

Yedekleme hizmetini kontrol etme

Cihaz sahipleri, DevicePolicyManager uygulamasındaki yeni yöntemleri kullanarak Android Yedekleme Hizmeti'ni açıp kapatabilir. setBackupServiceEnabled() kullanarak yedekleme hizmetini etkinleştirin ve devre dışı bırakın. isBackupServiceEnabled() kullanarak yedekleme hizmet durumunu kontrol edin.

Kablosuz proxy yapılandırması

Cihaz sahipleri ve profil sahipleri, kablosuz ağlar için HTTP proxy sunucuları yapılandırabilir. Her kablosuz ağ için bir proxy sunucu yapılandırmak üzere PAC dosyası veya manuel ayarlar kullanın. Bir WifiConfiguration için proxy'yi ayarlamak veya kaldırmak üzere ilgili setHttpProxy() yöntemini çağırın. Proxy ayarlarını almak için getHttpProxy().

Yönetici tarafından devre dışı bırakılan özellikler için açıklama iletişim kutuları

Uygulamanız, yönetici tarafından devre dışı bırakılan bir özelliği kullanmaya çalışan kullanıcılara faydalı bir açıklama göstermelidir. Artık tüm uygulamalar startActivity(Intent) uygulamasına iletildiğinde açıklama iletişim kutusu görüntüleyen bir amaç oluşturmak için createAdminSupportIntent() kullanabilir. Bu amaçlar arasında, devre dışı bırakılan kameralar için özelleştirilmiş, yerelleştirilmiş açıklamalar, devre dışı bırakılan ekran görüntüleri ve tüm UserManager kısıtlamaları bulunur.

Bluetooth kısıtlanıyor

Cihaz sahipleri Bluetooth'u devre dışı bırakabilir ve bu işlem, cihazdaki tüm kullanıcıları ve profilleri etkiler. Bluetooth'u kapatmak için kullanıcı kısıtlamasını ekleyin DISALLOW_BLUETOOTH.

Cihaz sahipleri ve profil sahipleri, kullanıcıların DISALLOW_BLUETOOTH_SHARING kullanarak Bluetooth üzerinden dosya göndermesini engelleyebilir. Dosya alma işlemi etkilenmiyor. DISALLOW_BLUETOOTH_SHARING, bir cihaz sahibi tarafından ayarlandığında cihazdaki tüm kullanıcılar için geçerli olur. Bu ayar, Android 8.0 sürümüne yükseltilen cihazlardaki yeni profiller ve mevcut profiller için Android 8.0'da varsayılan ayardır.

Davranış değişiklikleri

DPC'ler de dahil olmak üzere işletmeler için uygulama oluşturuyorsanız Android 8.0'da aşağıdaki davranış değişikliklerini incelemeniz ve uygulamanızda gerekli değişiklikleri yapmanız gerekir.

Kullanıcıları kaldırma

DISALLOW_REMOVE_USER etkinleştirilmiş olsa bile, cihaz sahipleri removeUser() kullanarak ikincil kullanıcıları ve yönetilen profilleri kaldırabilir.

Güvenlik

Kimlik doğrulama

Aşağıdaki değişiklikler DevicePolicyManager sınıfında geçerlilik kazandı:

  • lockNow() yöntemi, iş profilini yalnızca ayrı bir iş sorgulaması etkinse kilitler.
  • resetPassword() yöntemi artık cihaz sahibi ya da profil sahibi olarak görev yapan ve Android 8.0'ı hedefleyen DPC'ler tarafından kullanılamaz. Çağrıldığında bir güvenlik istisnası atılır. Bunun yerine, DPC'ler resetPasswordWithToken() kullanmalıdır.

    Not: Android 7.1.1 (API düzeyi 25) veya önceki sürümleri hedefleyen VPC'ler ve yalnızca cihaz yöneticisi ayrıcalıklarına sahip DPC'ler bu değişiklikten etkilenmeyecektir.

  • Dosya tabanlı şifrelemeyi destekleyen cihazlarda, yeniden başlatma sonrasında kullanıcı cihazın kilidini ilk kez açmadan isActivePasswordSufficient() kullanılamaz. Kullanıcı cihazın kilidini açmadan önce çağrılırsa bir istisna atılır.

Kilitli iş profillerinden veriler

Android 8.0, kilitli bir iş profilinden verileri ayırmak için kullanıcı arayüzü değişiklikleri içerir.

  • İş profilindeki uygulamaların bildirimleri artık bu uygulamaların içeriklerini gizleyebilir. Önceden bildirim çekmecesinde, kilitli bir iş profilindeki iş uygulamaları içeriği gösteriliyordu.
  • Son Kullanılanlar ekranı artık kilitli bir iş profilinden uygulamaların çalıştırılması için düz bir panel göstermektedir. Sade, renk içeren panelde bir uygulamanın simgesi ve adı yer alır. Önceden kilitli bir iş profilindeki etkinlikler veya görevler Son Kullanılanlar ekranında bir önizleme gösteriyordu.

Cihaz bütünlüğü

  • ENSURE_VERIFY_APPS işareti artık genel bir kullanıcı kısıtlamasıdır. Cihazdaki herhangi bir kullanıcı bu kısıtlamaya sahipse uygulama doğrulama işlemi cihazdaki tüm kullanıcılar için zorunlu kılınır. Örneğin, bir profil sahibi iş profilindeki kısıtlamayı ayarlarsa uygulama doğrulaması kullanıcının kişisel profilinde zorunlu kılınır.
  • onSystemUpdatePending() yöntemi artık cihaz sahiplerinin yanı sıra profil sahipleri için de çağrılıyor.
  • SystemUpdatePolicy sınıfı kullanılırken erteleme politikası artık güvenlik yamalarına uygulanmaz, bu nedenle güvenlik yamaları artık ertelenemez. Ancak otomatik ve aralıklı gibi diğer politika türlerinin davranışı etkilenmez.
  • Cihaz sahipleri, DISALLOW_FACTORY_RESET etkin olsa bile wipeData() kullanarak fabrika ayarlarına sıfırlama işlemini tetikleyebilir.

Her zaman açık VPN

Android 8.0, kullanıcıların her zaman açık VPN bağlantılarının durumunu anlamalarına yardımcı olmak için kullanıcı arayüzü değişiklikleri içerir:

  • Her zaman açık VPN bağlantıları kesildiğinde veya bağlanamadığında kullanıcılar kapatılamayan bir bildirim görür. Bildirime dokunduğunuzda VPN yapılandırma ayarları gösterilir. VPN'e yeniden bağlanıldığında veya kullanıcı her zaman açık VPN seçeneğini kapattığında bildirim kaybolur.
  • Her zaman açık VPN, cihazı kullanan kişinin VPN'i kullanmayan ağ bağlantılarını engellemesine olanak tanır. Bu seçenek açıldığında Ayarlar uygulaması, kullanıcıyı VPN bağlantısı olana kadar internet bağlantısı olmayacağı konusunda uyarır. Ayarlar, kullanıcıdan devam etmesini veya iptal etmesini ister.

VPN uygulamalarının VpnService kadarı, lansmandan sonra artık startForeground() yöntemini çağırmalıdır. Android sistemi bir VPN uygulamasının hizmetini doğrudan başlattığından, ön plana geçiş yapmak uygulamanın sorumluluğundadır. Android 8.0, VPN hizmetini ön plana geçirmeyen VPN uygulamalarını kapatır.

Şifre geri aramaları

DeviceAdminReceiver alanının şifre değişikliği geri çağırmaları artık şifrenin ait olduğu kullanıcıyı veya profili tanımlamak için bir user parametresi içeriyor. Yeni yöntem imzaları şunlardır:

Her yeni yöntemin varsayılan uygulaması, kullanıcı bağımsız değişkenini çıkararak önceki sürümü çağırır. Android 8.0 önceki yöntemleri kullanımdan kaldırır.

App Management API yetkisi

DevicePolicyManager sınıfında yer alan aşağıdaki yöntemler artık kullanımdan kaldırılmıştır:

Ayrıca artık tek bir kapsamı birden fazla pakete yetkilendirmek mümkündür. Başka bir deyişle, cihaz sahipleri ve profil sahipleri aynı API grubuna aynı anda iki farklı pakete erişim izni verebilir.