J'ai une activité avec le fragment A ajouté dynamiquement. Maintenant, je transacte du fragment A au fragment B. Et puis du fragment B au fragment C. Maintenant, j'ai un bouton ici lorsque je clique va passer un appel. Je ne suis pas en mesure de démarrer l'intention d'appel et le journal des erreurs indique une exception d'état illégal - Aucune activité trouvée pour gérer l'intention. Cela signifie-t-il qu'il n'y a aucune activité trouvée pour le fragment C imbriqué? Comment cela peut-il arriver (fragmentation de la création sans activité)? Tous les fragments sont également créés dynamiquement pendant l'exécution. J'ai essayé ceci en utilisant à la fois la méthode getfragmentmanager() et la méthode getchildfragmentmanager(). Je fais face à cette erreur dans les deux cas. Toutes les suggestions seraient très appréciées.Fragment imbriqué-Aucune activité pour gérer l'intention
Voici mon extrait de code
Fixation Fragment A à activité
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.add(R.id.container,FragmentA_.builder().build());
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
ft.addToBackStack(null);
ft.commit();
Remplacement Fragment A avec Fragment B
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.container, FragmentB_.builder().build());
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
ft.addToBackStack(null);
ft.commit();
Remplacement Fragment B avec le fragment C
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.container, FragmentC_.builder().build());
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
ft.addToBackStack(null);
ft.commit();
intention Appel
public void call(String contact){
Intent i=new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+contact));
getActivity().startActivity(i);
}
Dans mon manifest.xml j'ai ajouté toutes les autorisations pour l'appel.
Edition - Méthode 2 Code Fragment C
@EFragment(R.layout.fragment_c)
public class FragmentC extends Fragment
{
@Click(R.id.call_button)
void call(){
call(phone_number);
}
public void call(String contact){
Intent i=new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+contact));
getActivity().startActivity(i);
}
}
Non, je suis assez sûr que j'ai suivi l'ordre de la pièce jointe comme mentionné dans ma question. Aussi j'ai seulement ajouté le fragment A, reste tous les fragments que j'ai utilisés pour remplacer la méthode. – Krishna
pouvez-vous poster le code où vous initiez l'intention d'appel, aussi je veux jeter un oeil à vos autorisations. – himanshu1496
Pourriez-vous s'il vous plaît partager du code? –