finalizar - cerrar completamente aplicaciones android studio
Pasar intento a mi fragmento (2)
Descubrí que Intent es un objeto parcelable, puedo usar el método bundle.putParcelable () para pasar la instancia de intención al siguiente fragmento.
Implementé el despacho de primer plano de NFC en mi actividad . El código funciona bien, cuando la etiqueta NFC se acerca a mi teléfono, se onNewIntent(Intent intent)
.
Ahora, me gustaría mostrar un Fragmento (MyFragment.java) cuando se onNewIntent(Intent intent)
. Hay un resolveIntent(Intent intent)
definido en la clase Fragment .
Aquí hay un código de mi actividad :
public class MainActivity extends Activity{
…
@Override
public void onNewIntent(Intent intent) {
super.onNewIntent(intent);
FragmentManager fragmentManager = activity.getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
//How to pass the ''intent'' to MyFragment?
MyFragment fragment = new MyFragment();
fragmentTransaction.replace(R.id.placeholder, fragment, fragmentName);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
}
}
Código de MyFragment.java
public class MyFragment extends Fragment{
…
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){
...
}
@Override
public void onResume(){
super.onResume();
//How to get ''intent'' here
resolveIntent(intent);
}
private void resolveIntent(Intent intent){
...
}
}
Mi pregunta es ¿cómo podría pasar el intent
de onNewIntent(Intent intent)
a MyFragment para que pueda manejar la intención en MyFragment en onResume()
?
Puede almacenar la intención en un campo de su actividad. Agregue un método como getLastIntent () y llámelo en su fragmento con getActivity (). GetLastIntent ().
O extrae información de la intención y crea un paquete que usarás con fragment.setArguments () y en el método onStart () de tu fragmento usa getArguments ()