web-dev-qa-db-fra.com

Dans Android, ce que vous entendez par état d'amarrage

Dans Intent, il y a une constante nommée ACTION_DOCK_EVENT

Ajouté dans API level 5
Broadcast Action: diffusion persistante concernant les modifications de l'état d'amarrage physique du périphérique.

Qu'entendez-vous par état d'amarrage?

5
Aada

Les appareils Android peuvent être connectés à plusieurs types d'appareils d'accueil. Celles-ci incluent des stations d'accueil pour voiture ou à domicile et des stations d'accueil numériques ou analogiques. Ainsi, lorsqu'un quai de l'appareil est modifié, il affiche une intention de ACTION_DOCK_EVENT

Si un périphérique est connecté, il peut être connecté à l'un des quatre types de stations d'accueil suivants:

  • Voiture
  • Bureau
  • Bureau bas de gamme (analogique)
  • Bureau (numérique) haut de gamme

ressource ici

2
stinepike

qu'entendez-vous par état d'amarrage

L'état d'ancrage signifie généralement votre état de charge, il peut s'agir d'une car, home dock, digital ou analog docks, les appareils Android peuvent être ancrés dans plusieurs types de stations d'accueil.

Déterminer l'état d'amarrage actuel

Les détails de dock-state sont inclus en tant qu’extra dans une diffusion persistante de l’action ACTION_DOCK_EVENT. Comme il s'agit de sticky, vous n'avez pas besoin d'enregistrer un BroadcastReceiver. Vous pouvez simplement appeler registerReceiver() en passant à null en tant que récepteur de diffusion, comme indiqué dans le prochain extrait.

IntentFilter ifilter = new IntentFilter(Intent.ACTION_DOCK_EVENT);
Intent dockStatus = context.registerReceiver(null, ifilter);
1
Abhijit Chakra

Les détails de l'état du quai sont inclus en tant qu'extra dans une diffusion persistante de l'action ACTION_DOCK_EVENT. Parce que c'est collant, vous n'avez pas besoin d'enregistrer un BroadcastReceiver. Vous pouvez simplement appeler registerReceiver () en spécifiant null comme récepteur de diffusion, comme indiqué dans le prochain extrait.

        mContext = getApplicationContext();
        IntentFilter ifilter = new IntentFilter(Intent.ACTION_DOCK_EVENT);
        Intent dockStatus = registerReceiver(null, ifilter);

Vous pouvez extraire le statut d'ancrage actuel de EXTRA_DOCK_STATE supplémentaire:

        int dockState = (dockStatus == null ?
            Intent.EXTRA_DOCK_STATE_UNDOCKED :
            dockStatus.getIntExtra(Intent.EXTRA_DOCK_STATE, -1));
        boolean isDocked = dockState != Intent.EXTRA_DOCK_STATE_UNDOCKED;
        boolean isCar = dockState == Intent.EXTRA_DOCK_STATE_CAR;

Chaque fois que le périphérique est connecté ou déconnecté, l'action ACTION_DOCK_EVENT est diffusée. Pour surveiller les modifications de l'état du dock du périphérique, enregistrez simplement un récepteur de radiodiffusion dans le manifeste de votre application, comme indiqué dans l'extrait de code ci-dessous: action Android: name = "Android.intent.action.ACTION_DOCK_EVENT"

J'espère que cela t'aides.

0
user3368570