Aller au contenu

Lancer son application avec le bouton caméra.


Profete162

Recommended Posts

Salut à tous,

ma question simple est résumée dans le titre. Elle permettra peut-être à certaines personnes de comprendre lancer leur appli avec le bouton chercher, et j'en profite pour la poser... :P

Je me suis rendu compte qu'il était assez simple de lancer une application avec le bouton search ( appui long ) en mettant dans le manifest cette simple ligne:


Mais incroyablement, faire de même avec le buton caméra semble assez complexe! Il ne suffit pas de rajouter cette ligne:


J'ai aussi essayé de rajouter un BroadcastReceiver:

            



public class CameraStart extends BroadcastReceiver { 

   @Override 
   public void onReceive(Context context, Intent intent) { 

       //Toast.makeText(context, "Test is a Succes! Thank you!", Toast.LENGTH_LONG).show();
       Intent i = new Intent();
       i.setClassName( "com.profete162.TaskOS", "com.profete162.TaskOS.TaskOS" );
       context.startActivity(i);

   } 
} 

Mais en fait ( je n'ai qu'un Hero pour tester, donc pas de bouton camera et l'émulateur ne veut pas pousser sur ce bouton, c'est le seul bouton de l'émulateur qui n'est pas clickable chez moi..) ca fait des erreurs fatales à tout de bout de champs et je n'ai pas encore trouvé un utilisateur avec un G1 ou Droid qui puisse m'aider.

Modifié par Profete162
Lien vers le commentaire
Partager sur d’autres sites

pour info, xma m'a gentillement aidé, voici le log qu'il recoit:

 java.lang.RuntimeException: Unable to start receiver com.profete162.TaskOS.CameraStart: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?

Je ne comprends pas vraiment ou mettre ce "FLAG_ACTIVITY_NEW_TASK".

Quand je le fais depuis le code: c'est facile, je fais ceci:

i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

Mais comme c'est fait depuis le manifest, je ne vois pas ou mettre cette valeur!

Un peu de doc ici: http://developer.android.com/intl/fr/guide/topics/fundamentals.html mais incompréhensible

Modifié par Profete162
Lien vers le commentaire
Partager sur d’autres sites

J'ai déjà eu cette erreur, je voulais ouvrire une Activity depuis le onCreate() de mon Application

Ca se produite quand le Thread depuis lequel tu démarres l'Activity n'a pas le bon "context"

(mais je suppose que tu sais >.<)

ça ne marche pas quand tu le mets dans le OnReceive de ton CameraStart ?

c'est la que je le mettrai ...

Lien vers le commentaire
Partager sur d’autres sites

  • 3 weeks later...

Bon, j'ai enfin eu un prêt de téléphone avec un bouton camera.

La méthode du premier post fonctionne bien et je lance sans soucis mon appli avec le bouton camera. Youpiiie.

Petit soucis:

1) contrairement au bouton "chercher", Android ne demande pas quelle appli lancer par défaut. L'utilisateur est donc perdant car on ne sait pas lui demander son avis. Ce n'est pas encore trop grave, je pense que je peux régler cela avec les préférences de mon appli.

2) plus embêtant. J'ai décidé d'afficher un message toast dans mon receiver, il s'affiche bien, mais la caméra se lance aussi... Je n'ai pas envie de la killer en même temps que je lance mon appli, ca me parait ridicule!

Toute idée et réaction de votre bpart est bonne à prendre car je sèche!

Lien vers le commentaire
Partager sur d’autres sites

Moi ce qui me parait ridicule, c'est de vouloir attribuer une fonction a une touche qui se trouve sur tres peu de telephones :D

Bien, le bouton chercher est sur beaucoup de téléphones. Tous mes utilisateurs sont super contents car ils ont le chois de laisser l'action par défaut sur le bouton chercher.

Puis il y a tous les utilisateurs qui me renvoient des mails tous les jours en me disant " I get no search button on my device, please do something to fix this and make a hardware button launch"

J'ai donc décidé de faire plaisir à ces utilisateurs. Il y en a qui ont un bouton chercher ET un bouton caméra, seulement un bouton chercher, ou seulement un bouton caméra....

Vox populi.. vox dei.

Modifié par Profete162
Lien vers le commentaire
Partager sur d’autres sites

  • 9 months later...

bonjour profete162 et merci pour cette appli taskOS

pour info, sur mon acer liquid sous froyo avec inferface breeze (celle d'acer) :

- taskOS peut être appelé par le bouton photo, mais le bouton est peu facile d'accès sur les liquid, et c'est lent

- le bouton "recherche" lance google et non taskOS !

- en revanche, dans la barre de statut, icône notifications, j'ai maintenant une entrée pour taskOS "taskOS : clik to open"

et je suis très content de l'appli :)

ph.

Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...