2
Je souhaite transmettre une donnée d'un service à un fragment. Voici mon code dans le servicePassage de données du service au fragment
public void putInfo(){
Intent trIntent = new Intent("android.intent.action.MAIN");
trIntent.setClass(this,WelcomeActivity.class);
trIntent.putExtra("info", strengthAmplitude+"");
trIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(trIntent);
}
Et puis je veux utiliser ces données ("info") dans mon fragment (InfoFragment) comme que
String msg = getActivity().getIntent().getExtras().getString("info");
Je recevais des erreurs.
E/AndroidRuntime(25036): java.lang.RuntimeException: Unable to start service
[email protected] with Intent {
cmp=com.BackupAndTools/.service.InfoService }:
android.content.ActivityNotFoundException: Unable to find explicit activity class
{com.BackupAndTools/com.BackupAndTools.views.InfoFragment}; have you declared this
activity in your AndroidManifest.xml?
alors que c'est un fragment pas une activité à déclarer dans AndroidManifets.xml !!
I pense que vous devez mettre en œuvre une activité et à travers cette activité appelez le fragment, votre problème résoudra marya –
En fait, c'est ce que je fais réellement. J'appelle le fragment (InfoFragment) d'une activité (WelcomeActivity). J'ai édité mon code comme vous l'avez suggéré alors jetez un coup d'oeil. Mais je ne peux toujours pas obtenir les données car j'ai une exception NullPointerException dans cette ligne Chaîne msg = getActivity(). GetIntent(). GetExtras(). GetString ("info"); dans le fragment – Marya
Ya, puis appelez cette activité du service également. –