Bu sayfada, Android'in kaldırılabilir olan ürünleri nasıl işlediği açıklanmaktadır. veya dahili pil yok. Diğer cihazlar ise başka bir cihazdaki AC priz veya USB bağlantı noktası gibi harici bir güç kaynağı olanak tanır.
Pil var mı?
Aşağıdaki kod, cihazlarda aşağıdaki kod olup olmadığını algılamak için kullanılabilir: pil var:
```
final Intent batteryInfo = registerReceiver(null, new
IntentFilter(Intent.ACTION_BATTERY_CHANGED));
return batteryInfo.getBooleanExtra(BatteryManager.EXTRA_PRESENT, true);
```
Pilsiz cihaz davranışı
Android, ürününüz için bir pil cihazı algılamazsa pille ilgili aşağıdaki varsayılan değerler kullanılır. Varsayılan değerlerin Android 9 sürümü Farklılıkları bu tabloda görebilirsiniz.
Pil durumu | Android 9 ve sonraki sürümler | Android 8.1 ve önceki sürümler |
---|---|---|
Göster | yanlış | doğru |
Durum | Bilinmeyen | şarj oluyor |
Kalan kapasite | 0 | %100 |
Sağlık | Bilinmeyen | iyi |
AC şarj cihazının çevrimiçi durumu | değiştirilmedi | doğruya zorlandı |
Üreticiler, çekirdek kullanarak varsayılan ayarları değiştirebilir. güç_tedariki sürücüye veya Sağlık HAL'sine bağlanmayı deneyin.
Android 9 ve sonraki sürümler
Android 9, varsayılan olarak pil olduğunu, %100 şarj olduğunu ve termistöründe normal bir sıcaklık ölçümü olduğunu iddia eden pilsiz cihazlara yönelik bazı eski kodları kaldırır.
Bu bilgilerle ilgilenen çoğu çerçeve API'si, yaygın durumları daha önce olduğu gibi işlemeye devam eder: Sistem şarj oluyor (yani pil gücüyle çalışmıyor) olarak kabul edilir ve pilin düşük olduğu kabul edilmez. Kullanıcı arayüzü pil simgesini çizdiğinde, ünlem işaretiyle görünür ve pil yüzdesi %0 olarak gösterilir. Ancak cihaz, pil seviyesi düşük olduğu için kapanmaz ve şarj veya iyi pil gerektiren işler planlanır.
Android 8.1 ve önceki sürümler
Pil durumu bilinmediğinden, Android çerçeve API'leri bunu dikkate alır sistem şarj oluyor (ya da pil gücüyle çalışmıyor) pilin düşük olduğu kabul edilir. Kullanıcı arayüzünde pil simgesi oluşturuluyorsa ünlem işareti ile birlikte gösterilir ve pil yüzdesi %0 olarak görünür. Ancak cihaz, düşük pil seviyesi ve şarj edilmesi gerektiğini veya pilinin iyi olduğunu planladığınızdan emin olun.
Uygulama
Android 9'un varsayılan kodu Ancak, bunun için çekirdek veya HAL öğelerini seçmeniz açıklandığı gibi ürününüzün güç ve pil durumunu doğru bir şekilde yansıtmalıdır bölümünü ziyaret edin. Android 9 ve sonraki sürümler Linux güç kaynağı sınıfı şarj cihazı algılamazsa varsayılan olarak tüm şarj cihazı türleri (AC, USB, kablosuz) çevrimdışı olarak görünür. Tüm şarj cihazları çevrimdışıysa ancak pil cihazı algılanmazsa sistem, daha önce açıklandığı gibi pil gücüyle değil harici güçle çalıştığı için şarj oluyor olarak kabul edilir.
Ürününüzün pili yoksa ve her zaman bir güç kaynağına bağlıysa
bir Linux çekirdeği power_supply sınıfı şarj cihazı uygulamak en iyisidir.
online sysfs
özelliğini ayarlayan AC veya USB güç kaynağı için sürücü
Hedef: true
. Alternatif olarak, cihazınız için Health HAL'de AC şarj cihazı online mülkünü yapılandırabilirsiniz. Bunu yapmak için Health 2.0'ı uygulama bölümünde açıklandığı gibi bir Health HAL uygulayın.
Bu özel Health HAL, BatteryProperties.chargerAcOnline = true
değerini değiştiren Health::getHealthInfo()
özel bir sürümünü uygular.
Başlamak için dosyayı kopyalayın
hardware/interfaces/health/2.0/default/Health.cpp
.
ve bunu Health 2.0
BENİOKU.