user853583 предложение является хорошим, но если вам нужен доступ к контексту внутри фрагмента, вы должны использовать getActivity().getApplicationContext()
Вы должны избегать передачи действия в качестве контекста всякий раз, когда это возможно, так как это может привести к утечкам памяти - некоторый объект будет удерживать эту активность после вызова его onDestroy () и не будет собирать мусор.
Сказав это, бывают случаи, когда вам нужно передать действие в качестве контекста, например: для адаптеров списка
Еще две вещи:
, поскольку фрагмент прикреплен и отсоединен от действия, иногда getActivity()
возвращает ноль - вы можете безопасно вызывать его в определенных методах жизненного цикла, где вы знаете, что действие активно, например: onResume()
если ваш фрагмент не сохраняет свой экземпляр, т.е. уничтожается при изменении ориентации, обязательно отмените регистрацию получателя в вашем фрагменте, например, внутри onPause()
или onDestroy()