Jump to content

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.

Edited by Profete162
Link to comment
Share on other 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

Edited by Profete162
Link to comment
Share on other 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 ...

Link to comment
Share on other 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!

Link to comment
Share on other 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.

Edited by Profete162
Link to comment
Share on other 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.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...