PureBasic
https://www.purebasic.fr/french/

#Android : Utiliser la torche
https://www.purebasic.fr/french/viewtopic.php?f=25&t=17273
Page 1 sur 1

Auteur:  falsam [ Dim 13/Mai/2018 13:10 ]
Sujet du message:  #Android : Utiliser la torche

[SB 2.20]

Avec SpiderBasic vous pouvez créer vos propres applications Android dépourvus de publicité.

Si vous le souhaitez, vos applications pourront accéder aux hardware de votre terminal grâce à l'utilisation des plugins Cordova.

C'est ce que nous allons aborder avec cet exemple.

■ Objectif : Allumer éteindre la torche.

Pour cela nous allons utiliser un plugin Cordova : cordova-plugin-flashlight

■ Documentation : https://www.npmjs.com/package/cordova-plugin-flashlight

L'importation du plugin est simple
Code:
Import "cordova plugin add cordova-plugin-flashlight"
EndImport
On utilisera un peu de JavaScript pour accéder à ce plugin. Par exemple pour allumer la torche
Code:
window.plugins.flashlight.switchOn()
et l’éteindre
Code:
window.plugins.flashlight.switchOff()

■ Principe de l'application.
- Initialiser le plugin qui recevra le callback de succes et le callback d'échec.
- Afficher la fenêtre de l'application.
- Un déclencheur qui permet de savoir si un utilisateur a pressé le bouton On/Off.
- Allumer ou éteindre la torche.
Code:
Enumeration
  #mf
  #mfSwitch
EndEnumeration

Declare PluginInit(onSuccess, onError)
Declare Start()
Declare OnClick()
Declare OnError()

;No debug
CloseDebugOutput()

;Import Cordova Plugin
Import "cordova plugin add cordova-plugin-flashlight"
EndImport

;Init plugin
PluginInit(@Start(), @OnError())

Procedure PluginInit(onSuccess, onError)
  !window.plugins.flashlight.available(function(isAvailable) {
  ! if (isAvailable) {
  !     v_onsuccess();     
  ! } else {
  !     v_onerror();
  ! }
  !})
EndProcedure

Procedure Start()
  Protected Font = LoadFont(-1, "Arial", 20)
 
  OpenWindow(#mf, 0, 0, 0, 0, "Flash Light", #PB_Window_Background)
  SetWindowColor(#mf, RGB(105, 105, 105))
  ButtonGadget(#mfSwitch, 20, 50, WindowWidth(0)-40, 200, "Light On")
  SetGadgetFont(#mfSwitch, FontID(Font))
 
  ;Trigger
  BindGadgetEvent(#mfSwitch, @OnClick()) 
EndProcedure

Procedure OnClick()
  Static Status
 
  If Status
    Status = #False
    SetGadgetText(#mfSwitch, "Light On")
    ! window.plugins.flashlight.switchOff() 
  Else
    Status = #True
    SetGadgetText(#mfSwitch, "Light Off")
    !  window.plugins.flashlight.switchOn()
  EndIf 
EndProcedure

Procedure OnError()
  !alert("Flashlight not available on this device")
EndProcedure
:!: Ce code ne teste pas si la torche est déja allumé ou pas.

■ Paramétrage de l'application : Menu compiler -> Create App :: Android
- App Name : Flash Light
- Version : 1.0.0
- Package ID : com.yournickname.flashlight Exemple com.falsam.flashlight
- Orientation : Portrait
- Fullscreen : Cochée
- Output filename : flashlight.apk
- Automaticaly upload on USB .... : Cochée
- Enable debugger : Cochée

:idea: Votre terminal Android doit être configurer pour recevoir des apk d'origines étrangères.
Une aide sur ce sujet viewtopic.php?p=187606#p187606

:idea: Vous devez avoir une connexion internet active.

Page 1 sur 1 Heures au format UTC + 1 heure
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/