Страницы

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

пятница, 26 апреля 2019 г.

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

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


Ответ

Для этого есть специальное событие, о котором уведомляет система. "Поймать" его можно с помощью так называемых 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(); } }
Источник: Официальная документация

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

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