Traitement sur ActivitéRésultat en dehors de l'Activité

J'essaie de faire une classe d'aide pour démarrer une Activity et obtenir le résultat de retour ( startActivityForResult ) pour éviter que les développeurs onActivityResult leur propre code onActivityResult et encapsulent les détails internes complexes.

C'est-à-dire: le code de l'appelant:

  • Comment puis-je dimensionner l'arrière-plan d'un bouton?
  • Comment créer un ProgressBar circulaire dans Android?
  • L'émulateur AndroidStudio "ne fonctionnera pas à moins que vous mette à jour Google Play Services"
  • Quand Android affiche-t-il une boîte de dialogue d'appariement lors de l'utilisation de prises Bluetooth Bluetooth RF sécurisées?
  • Retrolambda - Jack est requis pour supporter java 8 - correction d'avertissement
  • Android, gestes sur les widgets cliquables
  •  MyIntent i = new MyIntent(); i.getMyData(new OnData() { public void onData(Bundle data) {....} ); 

    J'ai essayé de créer une activité "mannequin" à l'intérieur de MyIntent juste pour pouvoir annuler onActivityResult , mais l'activité doit être déclarée dans le manifeste, ce que la classe helper essaie d'éviter. Il n'y a pas de "setOnActivityResult" qui serait une bonne alternative.

    Alors, comment créer une Activity programme et "l'attacher" afin qu'il ait un état valide?

    Après avoir créé une new Activity() j'aimerais appeler l'activité "attacher" qui est interne.

  • Problèmes d'Android Conversion de ViewGroup avec les enfants en Bitmap
  • Ajout d'un nouveau support réseau à Android
  • Contrôle dynamique des éléments d'action / menu dans ActionBar
  • AudioTrack: play () appelé AudioTrack non initialisé
  • Android: affichage d'une barre de progression indéterminée dans l'activité TabHost
  • AutoCompleteTextView pris en charge par CursorLoader
  • 2 Solutions collect form web for “Traitement sur ActivitéRésultat en dehors de l'Activité”

    Alors, comment créer une activité par programme et "l'attacher" afin qu'il ait un état valide?

    Ce n'est pas possible, désolé.

    J'essaie de faire une classe d'aide pour démarrer une activité et obtenir le résultat de retour (startActivityForResult) pour éviter que les développeurs n'écrivent leur propre code OnActivityResult et encapsulent les détails internes complexes.

    Ce n'est pas possible, désolé. Le plus proche que vous puissiez obtenir, c'est la manière dont fonctionne le JAR d'intégration du Scanner Barcode: vous onActivityResult() pour décoder le résultat obtenu à partir de l'activité du scanner.

    Un rappel simple pourrait-il être une alternative? L'utilisateur place le rappel dans le champ statique de votre bibliothèque et votre bibliothèque invoquera ce rappel en cas de besoin. La mise en œuvre la plus simple pourrait être:

     YourSdk.staticCallbackField=new OnData() { public void onData(Bundle data) {....}); MyIntent i = new MyIntent(); startActivity(i); 

    Lorsque SDK termine son travail, il invoque le rappel:

     staticCallbackField.onData(data) 

    L'activité de l'utilisateur obtiendra les données Bundle dans le rappel en lieu et place de onActivityResult.

    Vous devez connaître les problèmes possibles du cycle de vie de l'activité. Par exemple, si Android recréé l'activité de l'utilisateur en arrière-plan, le rappel doit être recréé.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.