Android 10 özellikleri ve API'leri

Android 10, hem kullanıcılara hem de kullanıcılara birlikte çalışır. Bu dokümanda, geliştiricilerin kullanabileceği özellikler vurgulanmaktadır.

API'ler hakkında bilgi edinmek için API farkları raporuna göz atın veya Android API referansı: "Android API'ye API düzeyi 29". Android 10 davranışına da göz atmayı unutmayın. API düzeyi 29'u hedefleyen uygulamalar ve tüm uygulamalar) ve gizlilik değişiklikleri inceleyin. nasıl etkilediğini öğrenin.

Güvenlik geliştirmeleri

Android 10'da çeşitli güvenlik özellikleri sunuluyor. özetleyeceğiz.

Geliştirilmiş biyometrik kimlik doğrulama iletişim kutuları

Android 10, biyometrik kimlik doğrulama desteği:

  • Biyometrik kimlik doğrulama özelliği için yapılan bir kontrol.
  • Kullanıcıların, cihazlarını kullanarak kimlik doğrulamasına olanak tanıyan yedek mekanizma Biyometri kullanarak kimlik doğrulanamıyorsa PIN, desen veya şifre giriş.
  • Kullanıcı gizli bir biyometrik modalite kullanarak kimliğini doğruladıktan sonra sistemden kullanıcı onayı istememesini söyleyen bir ipucu. Örneğin, kullanıcı yüz kimlik doğrulamasını kullanarak kimliğini doğruladıktan sonra başka bir onay gerekmediğini sisteme bildirebilirsiniz.

Doğrudan APK'dan yerleştirilmiş DEX kodunu çalıştır

Android 10 sürümünden itibaren, platforma yerleştirilmiş DEX'leri çalıştırmasını söyleyebilirsiniz . Bu seçenek, saldırının önlenmesine yardımcı olabilir bir saldırganın web sitesindeki yerel olarak derlenmiş kodu değiştirmesi halinde olanak tanır.

Daha fazla bilgi için bkz. Yerleştirilmiş DEX kodunu doğrudan APK'dan çalıştırın.

TLS 1.3 desteği

Android 10, TLS 1.3. TLS 1.3, Çevik yaklaşımın Performans avantajları ve gelişmiş güvenlik içeren TLS standardı. Bizim karşılaştırmalar, ortalama %40 oranında güvenli bağlantıların kurulabileceğini gösteriyor daha hızlı sunmamızı sağlar.

TLS 1.3 uygulamamız hakkında daha fazla bilgi için TLS bölümüne bakın tüm uygulamalara yönelik davranış değişiklikleri kapsamında öğrenin.

Public Conscrypt API'si

Conscrypt güvenlik sağlayıcısı, Android 10'dan itibaren şu uygulamayı içerir: TLS işlevi için genel API.

Şunun altındaki sınıf koleksiyonu: android.net.ssl statik içeriyor normal hizmetlerde bulunmayan işlevlere erişme yöntemlerini javax.net.ssl API. Bu sınıfların adları çoğul karşılık gelen javax.net.ssl sınıfının. Örneğin, javax.net.ssl.SSLSocket örnekleri, bunun yerine SSLSockets

Bağlantı özellikleri

Android 10, ağ ve bağlantıyla ilgili çeşitli iyileştirmeler içerir.

Kablosuz ağ bağlantısı API'sı

Android 10'a eşler arası bağlantı desteği eklendi. Bu özelliği, uygulamanızın, kullanıcının girdiği erişim noktasını değiştirmesini cihazın bağlantısı WifiNetworkSpecifier kullanabilirsiniz. Eşler arası bağlantı Bu, aynı ağ için önyükleme yapılandırması gibi ağ sağlamayan amaçlar için kullanılır. Chromecast ve Google Home donanımı gibi ikincil cihazlar

Daha fazla bilgi için Eşler arası için Wi-Fi Ağ İsteği API'si bölümüne bakın. bağlantı.

Kablosuz ağ önerisi API'sı

Android 10, uygulamanıza kullanıcının bağlanmasını istemek için destek ekler kablosuz erişim noktasına dönüştürür. Hangi ağın bağlanacağıyla ilgili öneriler sağlayabilirsiniz . Kabul edilecek erişim noktasını nihai olarak platform belirler hem de diğer uygulamalarınızdan gelen girişi kontrol edebilirsiniz.

Bu özellikle ilgili daha fazla bilgi için bkz. Kablosuz ağ önerisi.

Kablosuz ağ yüksek performanslı ve düşük gecikmeli modlarında iyileştirmeler

Android 10, gecikmeyi en aza indirmek için temel modeme ipucu vermenize olanak tanır.

Android 10, yüksek performansı etkili bir şekilde desteklemek için Wi-Fi Lock API'nin kapsamını genişletir ve düşük gecikme modu olduğundan emin olun. Kablosuz güç tasarrufu yüksek performans için devre dışı ve düşük gecikme modu ve düşük gecikmelide daha fazla gecikme optimizasyonu etkinleştirilebilir özellikleri hakkında daha fazla bilgi edinin.

Düşük gecikme modu yalnızca kilidi alan uygulama şu durumlarda etkinleştirilir: ve ekran açık olduğundan emin olun. Düşük gecikmeli mod, özellikle gerçek zamanlı mobil oyun uygulamaları için faydalıdır.

DNS çözümleyicide uzman aramalar

Android 10, aşağıdaki gibi özel DNS aramaları için yerel destek sunar: ve TLS'de DNS modunu göz önünde bulundurabilirsiniz. Önceden, platform DNS çözümleyici yalnızca IP adresini aramaya izin veren A ve AAAA kayıtlarını destekler bir adla ilişkilendirilen ancak başka hiçbir kayıt türünü desteklemeyen adreslere sahiptir. DnsResolver API, genel, eşzamansız çözünürlük, SRV, NAPTR ve diğerlerini aramanızı sağlar kayıt türleri. Yanıtı ayrıştırmanın, gerçekleştirilecek uygulamaya bırakıldığını unutmayın.

NDK tabanlı uygulamalar için bkz. android_res_nsend.

Kablosuz Kolay Bağlantı

Android 10, Easy Connect'i kullanarak kablosuz ağ sağlamanıza olanak tanır kimlik bilgilerini bir benzer cihaza aktarması gerekir. Uygulamalar, "the" ACTION_PROCESS_WIFI_EASY_CONNECT_URI isteyebilirsiniz.

Bu özellikle ilgili daha fazla bilgi için bkz. Wi-Fi Kolay Bağlantı.

Wi-Fi Direct bağlantı API'sı

Android 10'da WifiP2pConfig ve WifiP2pManager API sınıflarında güncellemeler var Kablosuz Doğrudan Bağlantı ile hızlı bağlantı kurma özelliklerini desteklemek için önceden belirlenmiş bilgilerdir. Bu bilgiler, şunun gibi bir yan kanal aracılığıyla paylaşılır: Bluetooth veya NFC olarak ayarlayın.

Aşağıdaki kod örneğinde, önceden belirlenmiş öğeleri kullanarak nasıl grup bilgi:

Kotlin

val manager = getSystemService(Context.WIFI_P2P_SERVICE) as WifiP2pManager
val channel = manager.initialize(this, mainLooper, null)

// prefer 5G band for this group
val config = WifiP2pConfig.Builder()
    .setNetworkName("networkName")
    .setPassphrase("passphrase")
    .enablePersistentMode(false)
    .setGroupOperatingBand(WifiP2pConfig.GROUP_OWNER_BAND_5GHZ)
    .build()

// create a non-persistent group on 5GHz
manager.createGroup(channel, config, null)

Java

WifiP2pManager manager = (WifiP2pManager) getSystemService(Context.WIFI_P2P_SERVICE);
Channel channel = manager.initialize(this, getMainLooper(), null);

// prefer 5G band for this group
WifiP2pConfig config = new WifiP2pConfig.Builder()
.setNetworkName("networkName")
.setPassphrase("passphrase")
.enablePersistentMode(false)
.setGroupOperatingBand(WifiP2pConfig.GROUP_OWNER_BAND_5GHZ)
.build();

// create a non-persistent group on 5GHz
manager.createGroup(channel, config, null);

Kimlik bilgilerini kullanarak bir gruba katılmak için manager.createGroup() yerine takip etmek için:

Kotlin

manager.connect(channel, config, null)

Java

manager.connect(channel, config, null);

Bluetooth LE Bağlantı Yönlü Kanallar (CoC)

Android 10, uygulamanızın iki BDE cihazı arasında daha büyük veri akışları aktarmak için BDE CoC bağlantılarını kullanmasına olanak tanır. Bu arayüzde Bluetooth ve bağlantı mekaniklerini kullanarak uygulamayı basitleştirir.

Telefon özellikleri

Android 10, telefon özellikleriyle ilgili çeşitli iyileştirmeler içerir.

Arama kalitesiyle ilgili iyileştirmeler

Android 10, özelliği destekleyen cihazlarda devam eden IP Multimedya Alt Sistemi (IMS) aramalarının kalitesi (ağla olan bağlantı kalitesi dahil) hakkında bilgi toplama özelliğini ekler.

Arama süzme ve arayan kimliği

Android 10, uygulamanıza kullanıcıların spam aramalar yapmak ve spam aramalar yapmak için kullanıcının adres defterine kullanıcı adına sessizce reddedildi. Engellenen bu aramalarla ilgili bilgiler Çağrı kaydına engellenen çağrılar olarak kaydedilir. Böylece, cevaplamaya çalışın. Bu API'nin kullanılması, arama filtreleme ve arayan kimliği işlevini sağlamak için kullanıcıdan READ_CALL_LOG izinleri alınması gerekliliğini ortadan kaldırır.

Çağrı yönlendirme hizmeti API'si

Android 10, aramaların amaçlarının işlenme şeklini değiştirir. İlgili içeriği oluşturmak için kullanılan NEW_OUTGOING_CALL yayını kullanımdan kaldırıldı ve CallRedirectionService API'sı. CallRedirectionService API, ve Android platformu tarafından yapılan giden çağrıları değiştirmenize olanak tanıyan arayüzler. Örneğin, üçüncü taraf uygulamaları aramaları iptal edip VoIP üzerinden yeniden yönlendirebilir.

Harici depolama alanında dosya oluşturma konusunda iyileştirmeler

Ek olarak, kapsamlı depolama alanı, Android 10'a, harici web siteleriyle ilgili olarak aşağıdaki özellikler eklendi: depolama alanı:

Medya ve grafikler

Android 10'da aşağıdaki yeni medya ve grafik özellikleri ile API'ler kullanıma sunuluyor:

Ses girişi paylaşılıyor

Android 10, iki uygulamanın ses girişini aynı anda paylaşma özelliğini ekler. Ayrıntılı bilgi için Ses girişi paylaşma başlıklı makaleye bakın.

Ses çalma kaydı

Android 10, bir uygulamaya diğer uygulamalardaki sesleri yakalama özelliği sunar. Ayrıntılı bilgi için Oynatma kaydı bölümünü inceleyin.

MediaStyle bildirimlerinde arama çubuğu

Android 10 sürümünden itibaren MediaStyle bildirimlerinde arama çubuğu gösterilir. Zaman çubuğu, PlaybackState.getPosition()'den itibaren oynatma ilerleme durumunu gösterir ve bazı durumlarda oynatılan programda bir konuma gitmek için kullanılabilir. Arama çubuğunun görünümü ve davranışı şu kurallarla kontrol edilir:

  • Etkin bir MediaSession varsa ve süresi varsa arama çubuğu görünür (MediaMetadata.METADATA_KEY_DURATION ile belirtilir) sıfırdan büyük. Bu, çubuğun belirli olmayan akışlar için görünmediği anlamına gelir. canlı yayınlar ve radyo yayınları gibi içerikler de var.
  • Oturumda ACTION_SEEK_TO uygulanırsa kullanıcı arama çubuğunu oynatma konumunu kontrol eder.

Yerel MIDI API'si

Android Yerel MIDI API'si (AMidi), uygulama geliştiricilere C/C++ kodu ile MIDI verilerini göndermek ve almak, ve JNI ihtiyacını en aza indirerek C/C++ ses/kontrol mantığını geliştirdiler.

Daha fazla bilgi için Android Yerel MIDI API'si konusuna bakın.

MediaCodecInfo iyileştirmeleri

Android 10, MediaCodecInfo için codec hakkında daha fazla bilgi sağlayan yöntemler ekler.

Daha fazla bilgi için Medya codec'leri konusuna bakın.

Termal API

Cihazlar çok ısındığında CPU ve/veya GPU'yu kısıtlayabilir. Bu da uygulamaları ve oyunları beklenmedik şekillerde etkileyebilir. Karmaşık grafikler kullanan ve ağır uygulamalar veya uzun süreli ağ etkinliğinin sorunlara yol açma ihtimali daha yüksektir cihazlar arasında yonga seti ve çekirdek frekanslarına, ses düzeylerine ve entegrasyonu ve cihaz paketlemesi ile form faktörü de bulunuyor.

Android 10'da uygulamalar ve oyunlar, eski haline getirmek üzere daha düşük güç kullanımını sürdürmek için değer. Uygulamalar bir dinleyici kaydeder PowerManager'da yapabilirsiniz. hafif ve orta ile şiddetli arasında değişen ısınma durumunu raporlar; ve kapanışı takip edebilirsiniz.

Uygulama ve oyunlar, cihaz termal stres bildirdiğinde çeşitli şekillerde enerji kullanımını azaltmak için devam eden aktivitelerdir. Örneğin, akış uygulamaları, çözünürlük/bit hızı veya ağ trafiğini azaltabilir. uygulama flaş veya yoğun görüntü geliştirmeyi devre dışı bırakabilir. Oyun, bir medya uygulaması hoparlör ses düzeyini azaltabilir, ve bir harita uygulaması GPS'i kapatabilir.

Termal API için yeni bir cihaz HAL katmanı gerekir. Şu anda Android 10 çalıştıran Pixel cihazlarda desteklenmektedir. Ekosisteme en kısa sürede geniş kapsamlı destek sunmak için cihaz üreticisi iş ortaklarımızla birlikte çalışıyoruz.

Kamera ve resimler

Android 10'da kamera ve resimlerle ilgili aşağıdaki yeni özellikler kullanıma sunuluyor:

Tek renkli kamera desteği

Android 9 (API düzeyi 28) ilk olarak tek renkli kamera özelliğini kullanıma sundu. Android 10, tek renkli kamera desteğine çeşitli geliştirmeler ekler:

  • Bellek verimliliğini artırmak için Y8 akış biçimi desteği.
  • Tek renkli ham DNG yakalama desteği.
  • Normal sıralamayı ayırt etmek için MONO ve NIR CFA numaralandırmalarının kullanımı tek renkli kamera ve yakın kızılötesi kameralar.

Yerel tek renkli görüntü yakalamak için bu özelliği kullanabilirsiniz. Mantıksal çoklu kameralı cihazlar, düşük ışıkta daha iyi görüntü kalitesi elde etmek için fiziksel bir alt kamera olarak tek renkli kamera kullanabilir.

Dinamik Derinlik Biçimi

Android 10 sürümünden itibaren kameralar bir resmin derinlik verilerini ve Dinamik Derinlik Biçimi (DDF) adlı yeni bir şema kullanarak ayrı dosya oluşturun. Uygulamalar şunları yapabilir: hem JPG resmini hem de derinlik meta verilerini isteyebilir. orijinal resmi değiştirmeden işleme sonrası istediği bulanıklaştırma işlemini uygulayabilir. resim verileri.

Bu biçimin spesifikasyonunu okumak için Dinamik Derinlik Biçimi bölümüne bakın.

Yüksek Verimli Resim Dosyası Biçimi

Yüksek Verimli Resim Dosyası (HEIF) biçimi, diğer dosya biçimlerine kıyasla daha yüksek kaliteli kodlama ve daha küçük dosya boyutu sunan standart bir resim ve video biçimidir.

Dosya biçimiyle ilgili daha fazla bilgi edinmek için bkz. HEIC

Çoklu kameradaki iyileştirmeler

Android 10, birden fazla kameranın tek bir mantıksal kamerada birleştirilmesini iyileştirir. Android 9'da (API düzeyi 28) kullanıma sunulan bir özellik. Aşağıdakiler eklendi: "the" Kamera2 API'si:

Accessibility services API (Erişilebilirlik hizmetleri API'si)

Android 10, aşağıdaki yeni erişilebilirlik hizmetini kullanıma sunuyor özellikler ve API'ler:

AccessibilityNodeInfo giriş tuşu işareti

Android 10 itibarıyla şunları arayabilirsiniz: isTextEntryKey() belirli bir AccessibilityNodeInfo öğesinin bir metin giriş anahtarını temsil edip etmediğini belirlemek için klavyenin veya tuş takımının parçası gibi.

Erişilebilirlik iletişim kutusu sesli geri bildirim

Kullanıcıların bir uygulamayı başlatmak için erişilebilirlik kısayolunu erişilebilirlik hizmeti sunuyorsanız Android 10, iletişim kutusunun bir metin okuma istemi eşliğinde hizmet tarafından istenir.

Hareketle gezinme etkinleştirildiğinde erişilebilirlik kısayolu

Hareketle gezinme özelliği etkinleştirildiğinde Android 10'da, erişilebilirlik düğmesi görünür veya seçilebilir. Erişilebilirlik hizmetleri menüsüne erişebilmek için kullanıcıların şu koşulları karşılaması gerekir: aşağıdaki hareketlerden birini yapın:

  • İki parmakla yukarı kaydırın.
  • İki parmağınızla yukarı kaydırıp basılı tutun.

Fiziksel klavyeler için erişilebilirlik kısayolu

Android 10'da kullanıcılar erişilebilirlik kısayolunu tetikleyebilir Ctrl+Alt+Z tuşlarına basarak fiziksel klavyenizde.

Klavye kumandası iyileştirmesi

Android 10'da erişilebilirlik hizmetleri, cihaz bir sabit klavyenin takıldığını algılasa bile klavyenin görüntülenmesi gerekir. Kullanıcılar bu davranışı geçersiz kılabilir.

Kullanıcı tanımlı erişilebilirlik zaman aşımları

Android 10'da getRecommendedTimeoutMillis() API'si kullanıma sunulmuştur. Bu yöntem, etkileşimler ve etkileşimli olmayan kullanıcı arayüzü öğeleridir. Döndürülen değer, her iki kullanıcıdan da etkilenir. tercihler ve erişilebilirlik hizmeti API'leri.

Otomatik doldurma iyileştirmeleri

Android 10, otomatik doldurma hizmetinde aşağıdaki iyileştirmeleri içerir.

Uyumlulukla ilgili otomatik doldurma istekleri

URL parametrelerinin Google tarafından nasıl ele alınmasını istediğinizi belirtmek için FillRequest.FLAG_COMPATIBILITY_MODE_REQUEST otomatik doldurma isteğinin uyumluluk üzerinden oluşturulup oluşturulmadığını belirlemek için flag'i kullanın yatırım yapmanız önemlidir.

Kullanıcı adı ve şifreyi aynı anda kaydedin

Bir uygulamanın şunları yapmak için birden fazla etkinlik kullandığı durumları destekleyebilirsiniz: kullanıcı adını, şifreyi ve diğer alanları görüntülemek için SaveInfo.FLAG_DELAY_SAVE tıklayın.

Kaydet kullanıcı arayüzüyle kullanıcı etkileşimi

Bir kaydetme iletişim kutusunda şifre alanını göstermek ve gizlemek için iletişim kutusunda bir işlem dinleyicisi ayarlayabilir ve ilgili şifre uzak görüntülemesinin görünürlüğünü değiştirebilirsiniz.

Veri kümelerini güncelleme desteği

Otomatik doldurma özelliği mevcut şifreleri güncelleyebilir. Örneğin, bir kullanıcı kullanıcı yeni bir şifre kaydederse Otomatik Doldurma özelliği kullanıcının yeni bir şifre kaydetmek yerine mevcut şifreyi güncelleyin.

Alan sınıflandırma iyileştirmeleri

Android 10, Field Classification API'de aşağıdaki iyileştirmeleri içerir.

UserData.Builder oluşturucu

İlgili içeriği oluşturmak için kullanılan UserData.Builder oluşturucu, Builder kalıbına daha iyi hizalanacak şekilde değiştirildi.

Bir değerin birden fazla kategori kimliği türüyle eşlenmesine izin verme

Bunu kullanırken UserData.Builder inç Android 10'da artık bir değeri birden fazla kategori kimliği türüyle eşleyebilirsiniz. İçinde bir değer birden fazla kez eklenirse istisna atılır.

Kredi kartı numaraları için gelişmiş destek

Alan sınıflandırması artık dört basamaklı sayıları son dört hane olarak algılayabilir bir kredi kartı numarasıdır.

Uygulamaya özel alan sınıflandırması desteği

Android 10 sürümleri FillResponse.setUserData() Böylece oturum süresince uygulamaya özel kullanıcı verilerini ayarlayabilirsiniz. Bu, otomatik doldurma hizmetinin, uygulamaya özgü alanlarla ilgili türleri algılamasına yardımcı olur içerik.

Kullanıcı arayüzü ve sistem kontrolleri

Android 10, aşağıdaki kullanıcı arayüzü iyileştirmelerini sunar:

JVMTI PopFrame sınırlarını destekleme

Android 10, can_pop_frames olanağı sağlamasıdır. Hata ayıklama sırasında bu özellik bir kesme noktasında duraklattıktan ve ayarladıktan sonra işlevleri yeniden çalıştırmanıza yereller, globaller veya bir işlevin uygulanması. Daha fazla bilgi için bkz. Oracle'ın Pop Frame referans sayfası.

Yüzey denetimi API'si

Android 10, sistem derleyiciye (SurfaceFlinger) düşük düzeyde erişim için bir SurfaceControl API'si sağlar. Çoğu kullanıcı için SurfaceView, derleyiciden yararlanmanın doğru yoludur. SurfaceControl API'si bazı durumlarda yararlı olabilir. Örneğin:

  • Birden fazla yüzeyin senkronizasyonu
  • İşlemler arası yüzey yerleştirme
  • Alt düzey yaşam boyu yönetim

SurfaceControl API her iki dilde de kullanılabilir SDK ve NDK bağlamaları. NDK uygulaması, tamponların birleşimdir. Bu, BufferQueue'ın sınırlamalarına takılan kullanıcılara alternatif bir seçenek sunar.

WebView'de donmuş oluşturma aracı algılama

Android 10, uygulamaların WebView'in yanıt verip vermediğini algılamak için kullanabileceği WebViewRenderProcessClient temsili sınıfını kullanıma sunar. Alıcı: şu sınıfı kullan:

  1. Kendi alt sınıfınızı tanımlayın ve onRenderProcessResponsive() ve onRenderProcessUnresponsive() yöntemlerine göz atın.
  2. WebViewRenderProcessClient öğenizin örneğini bir veya daha fazla yere ekleyin WebView nesne.
  3. WebView yanıt vermezse sistem istemcinin onRenderProcessUnresponsive() yöntemini kullanarak WebView ve WebViewRenderProcess. (WebView tek işlemliyse WebViewRenderProcess parametresi boştur.) Uygulamanız; kullanıcıya oluşturma işlemini durdurmak isteyip istemediğini soran iletişim kutusu gösterilir.

WebView yanıt vermezse sistem onRenderProcessUnresponsive() numarasını çağırır düzenli aralıklarla (beş saniyede en fazla bir kez) ancak başka hiçbir işlem yapmaz. WebView duyarlı hale gelirse tekrar, sistem onRenderProcessResponsive() adlı kişiyi yalnızca bir kez çağırır.

Ayar panelleri

Android 10, uygulamaların kullanıcılara ayarlarını kendi bağlamlarında göstermesine olanak tanıyan bir API olan Ayarlar Panelleri'ni kullanıma sunar. Bu sayede kullanıcıların uygulamayı kullanabilmek için NFC veya Mobil veri gibi ayarları değiştirmek üzere Ayarlar'a gitmesi gerekmez.

Şekil 1. Kullanıcı, cihaz açıkken bir web sayfası açmaya çalışır ağa bağlı değil. Chrome'da İnternet Bağlantısı açılır. ayarlar paneli...

Şekil 2. Kullanıcı kablosuz bağlantıyı açıp bir ağ seçebilir Chrome uygulamasından ayrılmadan.
'nı inceleyin.

Örneğin, bir kullanıcının cihazı uçak modundayken bir web tarayıcısı açtığını varsayalım. Android 10'dan önce uygulama yalnızca genel bir mesaj gösterebiliyordu Bağlantıyı geri yüklemek için kullanıcıdan Ayarlar'ı açmasını isteme. Android 10 ile Tarayıcı uygulaması, önemli bağlantı ayarlarını gösteren bir satır içi panel görüntüleyebilir Kablosuz bağlantı (yakındaki ağlar dahil) ve mobil veri gibi özellikler dahildir. Entegre kullanıcılar uygulamadan ayrılmadan bağlantıyı geri yükleyebilirler.

Ayarlar panelini görüntülemek için aşağıdakilerden birini kullanarak intent tetikleyin Settings.Panel işlemleri:

Kotlin

val panelIntent = Intent(Settings.Panel.settings_panel_type)
startActivityForResult(panelIntent)

Java

Intent panelIntent = new Intent(Settings.Panel.settings_panel_type);
startActivityForResult(panelIntent);

settings_panel_type şunlardan biri olabilir:

ACTION_INTERNET_CONNECTIVITY
Uçak modu, Kablosuz bağlantı gibi internet bağlantısıyla ilgili ayarları gösterir ve Mobil Veriler.
ACTION_WIFI
Kablosuz ayarlarını gösterir ancak diğer bağlantı ayarlarını göstermez. Bu büyük boyutlu yüklemeler yapmak için kablosuz bağlantıya ihtiyaç duyan veya indirin.
ACTION_NFC
Yakın alan iletişimi (NFC)
ile ilgili tüm ayarları gösterir.
ACTION_VOLUME
Tüm ses akışları için ses düzeyi ayarlarını gösterir.

Paylaşım iyileştirmeleri

Android 10, paylaşımla ilgili çeşitli iyileştirmeler sunar:

Paylaşım Kısayolları API'sı

Paylaşım Kısayolları API'si Doğrudan Paylaşım'ın yerini alıyor API'ler.

Paylaşım Kısayolları API'si, sonuçları isteğe bağlı olarak tepkisel olarak almak yerine uygulamaların önceden doğrudan paylaşım hedefleri yayınlamasına olanak tanır. ShortcutManager bu şekilde çalışır. İki API birbirine benzediği için ShortcutInfo API'yi kullanarak kolaylaştırır. Shared Kısayollar API'si ile doğrudan veya kişileri ortak bir paydada buluşturur. Paylaşım hedefleri sistemde kalır aynı uygulama tarafından güncellenene veya uygulama kaldırılana kadar.

Eski Doğrudan Paylaşım mekanizması çalışmaya devam eder, ancak bu mekanizmayı kullanan uygulamalarda daha düşük Paylaşım Kısayolları API'sını kullanan uygulamalara göre daha önceliklidir.

ShortcutInfo.Builder Paylaşım hedefi hakkında ek bilgi sağlama yöntemleri ekler ve geliştirir.

Doğrudan paylaşım hedefleri

Doğrudan Paylaşım Hedefi olarak dinamik bir kısayol yayınlayabilirsiniz. Doğrudan paylaşım hedeflerini yayınlama konusunu inceleyin.

ShortcutManagerCompat eski DirectShare API ile geriye dönük uyumluluk sağlayan yeni bir AndroidX API'sidir. Paylaşım hedeflerini yayınlamanın tercih edilen yolu budur.

Metin önizleniyor

Bir uygulama metin içeriği paylaştığında, Sharesheet kullanıcı arayüzünde içeriğin isteğe bağlı bir önizlemesini gösterebilir.

Bkz. Zengin metin önizlemeleri ekleme

Daha fazla bilgi

Uygulamaların nasıl veri paylaşabileceği hakkında daha fazla bilgi için Diğer uygulamalara basit veriler gönderme başlıklı makaleyi inceleyin ve Diğer uygulamalardan basit veriler alma

Koyu tema

Android 10, hem Android hem de cihazlar için geçerli olan koyu bir tema sunar. sistem arayüzünü ve cihazda çalışan uygulamaları etkiler. Daha ayrıntılı bilgi için Koyu tema bölümüne bakın.

Ön plan hizmeti türleri

Android 10, foregroundServiceType Belirli birkaç belirli öğenin tanımına eklediğiniz XML manifesti özelliği: kullanıma sunuyoruz. Nadiren uygun olsa da, bazen birden fazla ön plan hizmeti türlerini kullanıma sunuyoruz.

Aşağıdaki tabloda farklı ön plan hizmet türleri ve belirli bir türün beyan etmenin uygun olduğu durumlarda kullanın:

Ön plan hizmeti türü Bu türü bildirmesi gereken bir hizmet için örnek kullanım alanı
connectedDevice Giyilebilir bir fitness takip cihazını izleme
dataSync Dosyaları ağdan indirme
location Devam Kullanıcı tarafından başlatılan bir işlem
mediaPlayback Sesli kitap, podcast veya müzik çalma
mediaProjection Cihaz ekranının kısa bir süreliğine videosunu kaydedin
phoneCall Devam eden telefon görüşmesini yönetme

Kotlin

Android 10, Kotlin'in geliştirilmesi için aşağıdaki güncellemeleri içerir.

libcore API'leri için boş değer ek açıklamaları

Android 10, libcore API'leri için SDK'dır. Bu ek açıklamalar, null değeri elde etmek için Android Studio'da Kotlin veya Java null değer analizinden geçin e-tablolara veya bilgilere göre işlem yapabilir.

Normalde Kotlin'deki geçersiz değer sözleşmesi ihlalleri, derlemeyle sonuçlanır hatalar. Mevcut kodunuzla uyumluluğu sağlamak için yalnızca @RecentlyNullable ve @RecentlyNonNull ek açıklamaları eklendi. Bunun anlamı şudur: değer atanabilirliği ihlallerinin hata yerine uyarıyla sonuçlandığını gösterir.

Ayrıca, daha önce@RecentlyNullable@RecentlyNonNull Android 9'da eklenenler sırasıyla @Nullable ve @NonNull olarak değişiyor. Bu, Android 10 ve sonraki sürümlerde boşluk atlanabilirlik ihlallerinin uyarı yerine hatalara yol açacağı anlamına gelir.

Ek açıklama değişiklikleri hakkında daha fazla bilgi için Android Pie SDK'sı artık Kotlin ile daha uyumlu bulabilirsiniz.

NDK

Android 10'da aşağıdaki NDK değişikliklerini içerir.

Dosya tanımlayıcı sahipliğinde iyileştirilmiş hata ayıklama

Android 10'a eklenen fdsan, dosya tanımlayıcısı sahipliğini bulup düzeltmenize yardımcı olur kolaylaştırmaktadır.

Dosya tanımlayıcı sahipliğinin yanlış kullanımıyla ilgili hatalar (kapattıktan sonra kullanma ve çift kapatma olarak ortaya çıkar) bellek ayırma serbest bıraktıktan sonra kullanma ve çift serbest bırakma hatalarına benzer ancak teşhis edilmesi ve düzeltilmesi çok daha zordur. fdsan, dosya tanımlayıcı sahipliğini zorunlu kılarak dosya tanımlayıcısının yanlış kullanılmasını tespit etmeye ve/veya önlemeye çalışır.

Bu sorunlarla ilgili kilitlenmeler hakkında daha fazla bilgi için bkz. fdsan tarafından hata algılandı. fdsan hakkında daha fazla bilgi için fdsan'daki Googlesource sayfasına bakın.

ELF TLS

Minimum API düzeyi 29 ile NDK kullanılarak oluşturulan uygulamalar ELF TLS kullanabilir (emutls) bulabilirsiniz. Desteğe dinamik ve statik bağlayıcı desteği eklendi iş parçacığı yerel değişkenlerini işleme yöntemini kullanır.

API düzeyi 28 ve önceki sürümler için geliştirilen uygulamalar için iyileştirmeler uygulandı ve libgcc/compiler-rt adlı uygulamanın bazı emutls sorunlarını çözmek için.

Daha fazla bilgi için bkz. NDK geliştiricileri için Android değişiklikleri.

Çalışma zamanı

Android 10, aşağıdaki çalışma zamanı değişikliğini içerir.

Mallinfo tabanlı atık toplama tetikleme

Küçük platform Java nesneleri C++ yığınındaki büyük nesnelere referans verdiğinde C++ nesneleri genellikle yalnızca Java nesnesi toplandığında ve örneğin sonlandırıldığında yeniden kullanılabilir. Platform önceki sürümlerde, birçok C++ nesnesini oluşturur. Bu tahmin her zaman gösterir ve zaman zaman da bellek kullanımının önemli ölçüde artmasına neden olmuştur. platform olması gerektiği halde atık toplama işlemi yapamadı.

Android 10'da çöp toplayıcı (GC), toplam boyutu takip eder malloc() sistemi tarafından ayrılan yığın miktarı. Böylece, malloc() ayırmalar her zaman GC tetikleyici hesaplamalara dahil edilir. Araya ekleme uygulamaları çok sayıda C++ ayırmaları için gerçekleştirilen hesaplamada hakkında bilgi edindiniz. Diğer uygulamalarda küçük bir düşüş görülebilir.

Test etme ve hata ayıklama

Android 10, test ve hata ayıklama için aşağıdaki iyileştirmeleri içerir.

Cihaz üzerinde sistem izlemeyle ilgili iyileştirmeler

Android 10'dan itibaren boyut ve konum için bir iz süresi boyunca, cihaz üzerinde sistem izleme hakkında daha fazla bilgi edinin. Belirttiğinizde sistem, değeri düzenli olarak kopyalayarak uzun bir izleme işlemi gerçekleştirir. arabelleği hedef dosyaya ekleyin. İz tamamlandı belirttiğiniz boyut veya süre sınırlarına ulaşıldığında oluşur.

Standart bir izlemeyle test edebileceğinizden farklı kullanım alanlarını test etmek için bu ek parametreleri kullanın. Örneğin, yalnızca uygulamanız uzun süre çalıştıktan sonra ortaya çıkan bir performans hatasını teşhis edebilirsiniz. Bu durumda, tüm gün boyunca uzun bir izleme kaydı kaydedebilir ve ardından hatanın nedenini belirlemenize yardımcı olması için rapordaki CPU planlayıcıyı, disk etkinliğini, uygulama iş parçacıklarını ve diğer verileri analiz edebilirsiniz.

Android 10 ve sonraki sürümlerde izleme dosyaları şu biçimde kaydedilir: Perfetto ile açılabilir. performans araçları ve izleme için açık kaynaklı bir projedir. Şunları yapabilirsiniz: Perfetto izleme dosyalarını Systrace'e biçimindedir.

TextClassifier iyileştirmeleri

Android 10, TextClassifier kullanır.

Dil algılama

İlgili içeriği oluşturmak için kullanılan detectLanguage() daha önceki sınıflandırma yöntemlerine benzer şekilde çalışır. Google CANNOT TRANSLATE TextLanguage.Request nesnesini ifade eder ve TextLanguage nesnesini tanımlayın.

TextLanguage nesne, sıralı çiftlerden oluşan bir listeden oluşur. Her çift bir yerel ayar ve sınıflandırmaya karşılık gelen bir güven puanı içerir.

Önerilen görüşme işlemleri

İlgili içeriği oluşturmak için kullanılan suggestConversationActions() mevcut sınıflandırma yöntemlerine benzer şekilde çalışır. Bir ConversationActions.Request nesnesini ifade eder ve ConversationActions nesnesini tanımlayın.

ConversationActions nesneler bir liste ConversationAction nesneler'i tıklayın. Her ConversationAction nesnesi bir potansiyel içeriyor ve güven puanını belirlemenize yardımcı olur.

Bildirimlerdeki akıllı yanıtlar/işlemler

Android 9, önerilen yanıtları bildirimi görürsünüz. Android 10, aşağıdaki özelliklerle bunu geliştirir önerilen amaca dayalı işlemleri içerir. Ayrıca, platform; bu önerileri otomatik olarak oluşturabilir. Uygulamalar yine de kendi önerileri gösterebilir veya sistem tarafından oluşturulan önerileri devre dışı bırakabilirsiniz.

Bu yanıtları oluşturmak için kullanılan API, TextClassifier ve ayrıca Android 10'daki geliştiricilere de doğrudan maruz kalmıştır. Lütfen TextClassifier'daki iyileştirmeler bölümünü okuyun konulu videomuzu izleyin.

Uygulamanız kendi önerilerini sunuyorsa platform herhangi bir Otomatik öneriler. Uygulama bildirimlerinin gösterilmesini istemiyorsanız önerilen yanıtlar veya işlemler varsa sistem tarafından oluşturulan yanıtları devre dışı bırakabilirsiniz ve işlemleri kullanarak setAllowGeneratedReplies() ve setAllowSystemGeneratedContextualActions().