package com.example.fragment; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.example.R; import com.example.broadcast.ExampleBroadcast; import org.alfonz.utility.Logcat; public class ExampleFragment extends Fragment { private View mRootView; private IntentFilter mExampleIntentFilter; private BroadcastReceiver mExampleBroadcastReceiver; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { mRootView = inflater.inflate(R.layout.fragment_example, container, false); return mRootView; } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); // init receiver initReceiver(); } @Override public void onResume() { super.onResume(); // register receiver getActivity().registerReceiver(mExampleBroadcastReceiver, mExampleIntentFilter); } @Override public void onPause() { super.onPause(); // unregister receiver getActivity().unregisterReceiver(mExampleBroadcastReceiver); } private void initReceiver() { // create intent filter mExampleIntentFilter = new IntentFilter(); mExampleIntentFilter.addAction(ExampleBroadcast.ACTION_EXAMPLE); // create broadcast receiver mExampleBroadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { if(intent.getAction().equals(ExampleBroadcast.ACTION_EXAMPLE)) { String arg = intent.getExtras().getString(ExampleBroadcast.EXTRA_ARG); Logcat.d(arg); } } }; } }