Tipik bir gösterge grubu, yeni veri olduğunda sürüş, arama ve medya bilgilerini günceller devreye giriyor. Android, bir OEM'in araç kümesinin trafik verilerini almasını sağlamak için aşağıdaki API'yi sağlar: kolayca güncelleyebilirsiniz.
Sürüş durumu
Arabayla yol tarifi etkinlikleri navigasyon devam ederken gönderilir. Dosya
packages/services/Car/car-lib/src/android/car/cluster/renderer/NavigationRenderer.java
.
gösterge grubunda bir gezinme uygulaması oluşturucu için soyut yöntemler içerir.
Genişletilmiş InstrumentClusterRenderingService
içinde bu yöntemler aşağıdaki gibidir:
public class MyClusterRenderingService extends InstrumentClusterRenderingService { ... @Override protected NavigationRenderer getNavigationRenderer() { return new NavigationRenderer() { @Override CarNavigationInstrumentCluster getNavigationProperties() {...} @Override void onStartNavigation() {...} @Override void onStopNavigation() {...} @Override void onNextTurnChanged(int event, String road, int turnAngle, int turnNumber, Bitmap image, int turnSide) {...} @Override void onNextTurnDistanceChanged(int distanceMeters, int timeSeconds) {...} }; } }
İstediğiniz görüntüleme sayısını göstermek için bu yöntemlere özel işlemler (oluşturma gibi) ekleyebilirsiniz ekleyebilirsiniz.
Arama durumu
Çağrı durumunu izlemek için aşağıdaki adımları uygulayın:
android.telecom.InCallService
uzatın.public class ClusterInCallService extends InCallService { ...
AndroidManifest.xml
için hizmeti kaydedin.<service android:name="com.android.car.cluster.sample.ClusterInCallService" android:permission="android.permission.BIND_INCALL_SERVICE" android:exported="false">
- onCallAttach ve onCallRemoved özelliklerini geçersiz kıl.
public void onCallAdded(Call call) { ... call.registerCallback(mPhoneCallback); mPhoneCallback.onStateChanged(call, call.getState()); } public void onCallRemoved(Call call) { ... call.unregisterCallback(mPhoneCallback); }
- Arama durumu değişikliği etkinliklerini almak için geri çağırmaları kaydedin (
Call#registerCallback
).private static class PhoneCallback extends Callback { ... public void onStateChanged(Call call, int state) {...} }
- İletişim bilgilerini almak için içerik sağlayıcıları kullanın:
ContactsContract.PhoneLookup, ContactsContract.Contacts#openContactPhotoInputStream
) tıklayın.
Çağrı durumu izleme örnek kodu için bkz:
packages/services/Car/tests/InstrumentClusterRendererSample/src/com/android/car/cluster/sample/ClusterInCallService.java
İçerik sağlayıcı örnek kodu için bkz:
packages/services/Car/tests/InstrumentClusterRendererSample/src/com/android/car/cluster/sample/TelecomUtils.java
.
Medya durumu
Sistemi, bir ürünle ilgili etkinlikler aldığında medya durumunu güncelleyecek şekilde yapılandırabilirsiniz. MediaMetadata'da (albüm veya şarkı adı ya da kapak resmi gibi) veya oynatma durumunda (arabelleğe alma, duraklat, oynat ve durdur). Medya durumunu güncellemek için:
MediaSessionManager
kullanın ve birincil kumandayı edinin (#getActiveSessions(null)[0]
).- Geri çağırmaları kaydedin (
MediaController#Callback
). - Etkin oturumda öğesine abone olma değiştirildi
MediaSessionManager#addOnActiveSessionsChangedListener(...)
Ayrıntılar için bkz.:
packages/services/Car/+/android-8.1.0_r9/tests/InstrumentClusterRendererSample/src/com/android/car/cluster/sample/MediaStateMonitor.java
packages/services/Car/tests/InstrumentClusterRendererSample/src/com/android/car/cluster/sample/InstrumentClusterController.java