Страницы

Поиск по вопросам

воскресенье, 16 февраля 2020 г.

Каким образом реализовать, чтобы при отключении наушников выключался плеер?

#java #android #android_studio #app #headset


Здравствуйте. 

Как сделать так, что бы при отключении наушников выключалось радио(плеер), то есть
ставилась пауза?

Где и что прописывается? 

Возможно нужно мне показать содержание какого либо файла (.class или .xml) вам, чтобы
узнать, как это реализовать? 

Я просто не совсем понял, каким образом это происходить должно.
    


Ответы

Ответ 1



Для этого есть специальное событие, о котором уведомляет система. "Поймать" его можно с помощью так называемых Broadcast Reciever'ов. Вот код, который показывает, как узнать о подключении/отключении наушников: public class MainActivity extends Activity { private static final String TAG = "MainActivity"; private MusicIntentReceiver myReceiver; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); myReceiver = new MusicIntentReceiver(); } @Override public void onResume(){ IntentFilter filter = new IntentFilter(Intent.ACTION_HEADSET_PLUG); registerReceiver(myReceiver, filter); super.onResume(); } private class MusicIntentReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(Intent.ACTION_HEADSET_PLUG)) { int state = intent.getIntExtra("state", -1); switch (state) { case 0: Log.d(TAG, "Наушники отключены"); break; case 1: Log.d(TAG, "Наушники подключены"); break; default: Log.d(TAG, "Неизвестное состояние"); } } } } @Override public void onPause() { unregisterReceiver(myReceiver); super.onPause(); } } Источник: Официальная документация

Комментариев нет:

Отправить комментарий