Page 2 of 2 FirstFirst 1 2
Results 16 to 20 of 20

Thread: GSM Signaal sterkte (Android)

  1. #16
    Nou, die kan je dan dus weergeven. 0 is geen/onbekend, 4 is fantastisch, de rest is gradaties er tussenin. Daarmee kan je dan zo'n plaatje maken zoals ook in je bovenbalk staat. Of gewoon de cijfers, wat je maar wil.
    1+1=b

  2. #17
    -
    Last edited by MMSoft; 17-Apr-23 at 09:26.

  3. #18
    else if cname = 'android.telephony.CellInfoGsm' then
    begin
    //Deze wordt uitgevoerd als er geen Verbinding is (Telefoon moet dan opnieuw opgestart worden), het vreemde is dan je dan wel (soms) de waarde 4 krijgt

    CellInfoGsm := TJCellInfoGsm.Wrap(Cell);
    Result := CellInfoGsm.getCellSignalStrength.getLevel; // 0..4
    end
    [/code]
    Dit is dus ook niet altijd zo, nu had ik deze (met de waarde 0) en de telefoon werkte wel

    Deze code heb ik nu:
    Code:
    function GetCellLevel(): Integer; //Het GSM Signaal sterkte
    var
      TelephonyManager: Androidapi.JNI.Telephony.JTelephonyManager;
      obj: JObject;
      Cells: JList;
      i: Integer;
      Cell: JCellInfo;
      CellInfoLte: JCellInfoLte;
      CellInfoGsm: JCellInfoGsm;
      CellInfoWcdma: JCellInfoWcdma;
      cname: String;
    
    begin
      Result := -1; // Geen Bereik
      obj := TAndroidHelper.Context.getSystemService(TJContext.JavaClass.TELEPHONY_SERVICE);
    
      if obj <> nil then
      begin
        TelephonyManager := TJTelephonyManager.Wrap(obj);
        Cells := TelephonyManager.getAllCellInfo;
        // iter := Cells.iterator;
        i := 0;
    
        while (i < cells.size) do
         begin
    
          obj := Cells.get(i);
          Cell := TJCellInfo.Wrap(obj);
          if Cell.isRegistered then
    
          begin
            cname := JStringToString(Cell.getClass.getName);
            Tijdelijk_Str := cname;
    
            Form1.Label10.text := cname;
    
            if cname = 'android.telephony.CellInfoLte' then
             begin
              //Deze code lijkt goed te werken
              CellInfoLte := TJCellInfoLte.Wrap(Cell);
              Result := CellInfoLte.getCellSignalStrength.getLevel; // 0..4
             end
            else if cname = 'android.telephony.CellInfoGsm' then
             begin
              //Deze code lijkt goed te werken
              CellInfoGsm := TJCellInfoGsm.Wrap(Cell);
              Result := CellInfoGsm.getCellSignalStrength.getLevel; // 0..4
             end
            else if cname = 'android.telephony.CellInfoWcdma' then
             begin
              //Dit wordt uitgevoerd als er geen Sim kaartje in de Telefoon zit !!
              //Waar is dit voor (dit lijkt niets te doen) ?
    
              //Deze Code gebruik ik dan ook niet !!!
              //CellInfoWcdma := TJCellInfoWcdma.Wrap(Cell);
              //Result := CellInfoWcdma.getCellSignalStrength.getLevel; // 0..4
             end;
    
          end;
    
          Inc(i);
    
         end;
    
      end;
    
    end;


    Nou, die kan je dan dus weergeven. 0 is geen/onbekend, 4 is fantastisch, de rest is gradaties er tussenin. Daarmee kan je dan zo'n plaatje maken zoals ook in je bovenbalk staat. Of gewoon de cijfers, wat je maar wil.
    Ik zal het zo maken:
    -1: Rood kruis (geen verbinding)
    0: 4 grijze streepjes
    1: 1 Rood Streepje
    2: 2 Oranje streepjes
    3: 3 Groene streepjes
    4: 4 Groene streepje

    Hierbij de plaatjes, mocht iemand die ook kunnen gebruiken:
    Click image for larger version. 

Name:	Geen signaal sterkte_V3_1.png 
Views:	35 
Size:	18.0 KB 
ID:	8311Click image for larger version. 

Name:	Signaal sterkte 0.png 
Views:	32 
Size:	9.1 KB 
ID:	8312Click image for larger version. 

Name:	Signaal sterkte 1.png 
Views:	29 
Size:	9.1 KB 
ID:	8316Click image for larger version. 

Name:	Signaal sterkte 2.png 
Views:	32 
Size:	9.1 KB 
ID:	8317Click image for larger version. 

Name:	Signaal sterkte 3.png 
Views:	29 
Size:	9.2 KB 
ID:	8318
    Last edited by MMSoft; 17-Apr-23 at 09:28.

  4. #19
    En plaatje 5 (mag er maar 4 posten)Click image for larger version. 

Name:	Signaal sterkte 4.png 
Views:	28 
Size:	9.1 KB 
ID:	8319

    Iedereen bedankt die mee gedacht heeft !

  5. #20
    Het is een indicatie. Ik heb zelf te weinig ervaring met programmeren op android om te weten hoe precies het is, maar ik weet wel dat je telefoon allerlei sensors maar om de zoveel tijd checkt, om batterij te besparen. Het valt me ook weleens op dat het soms best even duurt voor een telefoon door heeft dat hij buiten bereik van wifi is en overschakelt op het mobiele netwerk.

    Daarbij kunnen telefoons nog wel 112 bellen zonder simkaart. Ik weet eerlijk gezegd dus niet of de indicator daarvan afhankelijk is.

    Succes met het inbouwen van de plaatjes!
    1+1=b

Page 2 of 2 FirstFirst 1 2

Thread Information

Users Browsing this Thread

There are currently 2 users browsing this thread. (0 members and 2 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
  •