İzleme durumu

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:

  1. android.telecom.InCallService uzatın.
    public class ClusterInCallService extends InCallService {
    ...
  2. 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">
  3. 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);
    }
  4. 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) {...}
    }
  5. İ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:

  1. MediaSessionManager kullanın ve birincil kumandayı edinin (#getActiveSessions(null)[0]).
  2. Geri çağırmaları kaydedin (MediaController#Callback).
  3. Etkin oturumda öğesine abone olma değiştirildi MediaSessionManager#addOnActiveSessionsChangedListener(...)

Ayrıntılar için bkz.: