Results 1 to 9 of 9

Thread: Lader aangesloten ?

  1. #1

    Lader aangesloten ?

    Hoe kan ik met code afvragen of de lader aangesloten zit, dus dat het apparaat (mobiel met android) extern gevoed wordt ?

  2. #2
    Het idee is dat ik afhankelijk van wel/niet aan de lader, het scherm van een Appje wel/niet uit wil laten schakelen na x tijd.

    Ik ben al behoorlijk aan het zoeken geweest, maar mogelijk door mijn gebrekkig Engels, gebruik ik de verkeerde zoek termen.
    Denken jullie dat het mogelijk is om met code af te vragen of de lader aangesloten zit, en zo ja enig idee hoe ?

  3. #3
    Volgens deze post op stackoverflow in ieder geval wel.

    http://stackoverflow.com/questions/2...-battery-level

    Hoe is je Spaans?

    http://neftali.clubdelphi.com/inform...a-android-xe5/

    De voorbeeld code kun je downloaden als het goed is.

    p.s. ik heb het zelf niet getest!

  4. #4
    Bedankt, dat is precies wat ik zoek.

    Site: http://neftali.clubdelphi.com/inform...a-android-xe5/
    De App die op die site staat werkt perfect.
    "Estado" geeft aan of de Lader aangesloten is dus dat is precies wat ik nodig heb.

    Ik ben met de code bezig: http://neftali.clubdelphi.com/ejempl...ria_source.zip
    Helaas krijg ik telkens de foutmelding: E2312 Unable to execute 'command'
    Deze code is gemaakt voor XE5 en ik gebruik XE8, dus lijkt het mij dat er iets is gewijzigd is, maar wat ?

    Ik heb al van alles geprobeerd, maar begrijp niet waarom ik deze fout melding krijg en hoe ik dat op kan lossen.
    Wie kan hier iets over vertellen ?

  5. #5
    Had je al op embarcadero gekeken?

  6. #6
    Ik ben een nieuw project begonnen en heb daar de 'code' in geplaatst.
    Het lijkt nu opgelost...

  7. #7
    Het schijnt te zijn verplaats volgens deze post.
    http://stackoverflow.com/questions/2...ctivitycontext

  8. #8
    Ik gebruik nu 'Enchufado', dus intentBatt.getIntExtra(StringToJString('plugged'), -1)

    Daarmee kan je zelfs zien of het apparaat via de USB (5 volt DC) of via het Net (230 volt AC) opgeladen wordt.
    Ik begrijp niet hoe ze dat verschil kunnen zien omdat de 230 volt ook omgezet wordt naar 5 volt.

    0 Lader niet aangesloten
    1 AC
    2 USB
    3 unknown
    4 Wireless (niet kunnen testen)

    Het lijkt mij dat elke waarde groter dan 0 aangeeft dat het apparaat aan de lader zit

    Code:
       if intentBatt.getIntExtra(StringToJString('plugged'), -1) > 0 then
        Label2.Text := 'Lader aangesloten'
       else
        Label2.Text := 'Lader NIET aangesloten';
    Kan ik deze code nog vereenvoudigen denken jullie ?
    Code:
    var
      filter: JIntentFilter;
      intentBatt: JIntent;
      iLevel, iScale: Integer;
      i:Integer;
      Str:JString;
      b:boolean;
      myContext: JContext;
    begin
      // Contexto
      myContext := SharedActivityContext;
    
      // Creamos y Configuramos el Intent
      filter := TJIntentFilter.Create;
      // Asociamos la ACTION que queremos capturar
      filter.addAction(TJIntent.JavaClass.ACTION_BATTERY_CHANGED);
      // lo registramos
      intentBatt := myContext.registerReceiver(nil, filter);
    
       if intentBatt.getIntExtra(StringToJString('plugged'), -1) > 0 then
        Label2.Text := 'Lader aangesloten'
       else
        Label2.Text := 'Lader NIET aangesloten';
    Dit omdat de waarde uit myContext.registerReceiver(nil, filter)
    wordt gehaald, maar ik begrijp niet hoe dat werkt.
    Last edited by MMSoft; 25-Aug-16 at 12:29.

  9. #9
    Het werkt:

    Code:
    //Deze uses toevoegen:
    AndroidAPI.JNI.GraphicsContentViewText, AndroidAPI.JNI.JavaTypes, Androidapi.Helpers;
    
    procedure TForm1.Button1Click(Sender: TObject);
    var
      filter: JIntentFilter;
      battery: JIntent;
      myContext: JContext;
      plugged: Integer;
    begin
      myContext := SharedActivityContext;
      filter := TJIntentFilter.Create;
      filter.addAction(TJIntent.JavaClass.ACTION_BATTERY_CHANGED);
      battery := myContext.registerReceiver(nil, filter);
    
      plugged := battery.getIntExtra(StringToJString('plugged'), -1);
    
      if plugged > 0 then
       Label1.Text := 'Lader aangesloten'
      else
       Label1.Text := 'Lader NIET aangesloten';
    end;
    luigi bedankt !

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •