2015-04-22 3 views
1

Я пытаюсь прослушать события изменения док-станции за this documentation и ACTION_DOCK_EVENT.Android прослушивает ACTION_DOCK_EVENT

Мой приемник никогда не попадает.

Мой код выглядит довольно простым, поэтому мне интересно, есть ли разрешение, необходимое для прослушивания событий док-станции? Я пропустил что-то еще, связанное с ACTION_DOCK_EVENT?

AndroidManifest.xml

<receiver android:enabled="true" android:exported="true" android:label="MyReceiver" android:name="path.to.MyReceiver"> 
    <intent-filter> 
    <action android:name="android.intent.action.DOCK_EVENT"/> 
    </intent-filter> 
</receiver> 

MyReceiver.java

public class MyReceiver extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context context, Intent intent) { 
    if (intent.getAction() == Intent.ACTION_DOCK_EVENT) { 
     //Never hit :(
    } 
    } 

} 

Я тестирование, подключив/отключив свой телефон в моей розетке переменного тока питания и Macbook Pro. Я использую Moto X (2nd Genration) с Android 4.4.4.

ответ

2

доки являются очень специфический тип аксессуара, как показано на types of docks:

  • автомобилей
  • Стол
  • Low-End (аналоговый) Стол
  • High-End (Digital) Письменный стол

Факс: Следует отметить, что ни одна из них не соответствует подключению к источнику питания. Для этого вам, вероятно, понадобится monitor changes in charging state с использованием фильтра Intent, такого как

<receiver android:name=".PowerConnectionReceiver"> 
    <intent-filter> 
    <action android:name="android.intent.action.ACTION_POWER_CONNECTED"/> 
    <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"/> 
    </intent-filter> 
</receiver> 
Смежные вопросы