Lancer mon application avec camera button
Bonjour,
j'ai réussi à lancer mon application en utilisant le broadcast CAMERA_BUTTON.
//dans le fichier manifest:
Code:
<uses-permission android:name="android.permission.CAMERA">
//et dans le broadcast camera
Code:
1 2 3 4 5 6
| public void onReceive(Context context, Intent intent) {
try {
Toast.makeText(context, "Camera Button Pressed", Toast.LENGTH_LONG).show();
} catch (Exception e) {
}
} |
jusqu'ici tous fonctionne parfaitement.
J'ai ajouté dans mon activité de paramétrage un champs dans le quelle l'utilisateur choisi Oui s'il veule changer le fonctionnement par défaut de la bouton caméra et Non sinon.
ainsi je devrais ajouté un test sur mon broadcast
Code:
1 2 3 4 5 6 7 8 9
| public void onReceive(Context context, Intent intent) {
// HAY extend de Application et permet d'accéder à un variable globale
String s = ((HAY) this.getApplication()).getSomeVariable();
if (s = "Oui"){
try {
Toast.makeText(context, "Camera Button Pressed", Toast.LENGTH_LONG).show();
} catch (Exception e) {
}
} |
et là j'ai eu une erreur: The method getApplication() is undefined for the type CameraButtonReceiver!!!
j'ai aussi essayer la methode getApplicationContext(), ça marche pas aussi.
Comment pourrais-je faire pour pouvoir accorder à mon utilisateur la liberté de changer ou non le fonctionnement de la bouton caméra.
Merci
utiliser un broadcast sur l'action CAMERA_BUTTON
Bonjour,
Je relance cette discussion car malgré son titre elle répond pas totalement à mon besoin.
Je souhaite lancé une activity lorsque l'utilisateur prend une photo.
Malgré le fait que j'ai parcouru ce forum et repéré les étapes importantes, je n'y parviens pas.
J'ai peut être oublié un détail important.
Tout d’abord, dans le manifest.xml :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
<application
android:icon="@drawable/icon"
android:label="@string/app_name">
<receiver
android:enabled="true"
android:name=".PhotoReceiver">
<intent-filter android:priority="100">
<action android:name="android.intent.action.CAMERA_BUTTON"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</receiver>
</application> |
Puis mon Broadcast Receiver affichant un toast dans un premier temps :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
public class PhotoReceiver extends BroadcastReceiver{
public void onReceive(Context context, Intent intent) {
abortBroadcast();
Toast.makeText(context, "Photo capturée !", Toast.LENGTH_SHORT).show();
}
} |
Merci pour votre aide.