German Mit Tablet - Anrufe machbar!?

BenKhederSoftware

Member
Licensed User
Hallo :)
Ich brauche eure Hilfe.
Meine APP startet einen Anruf.
Bei einem Smartphone ist das kein Problem.
Aber auf meinem Tablet, passiert nichts (Siehe Code).
Deshalb möchte ich, die beste Lösung finden.
  • Alle Tablets verbieten!
  • Prüfen ob, überhaupt Telefonieren möglich ist.
    • Ist eine Simkarte vorhanden?
    • Ist ein Telefonnetz vorhanden?
    • Oder?...
Ich freue mich auf eure Hilfe.
Danke

B4X:
Dim p As PhoneCalls
StartActivity(p.Call(„123456789“))
 

DonManfred

Expert
Licensed User
Longtime User
Wo ist dein Testprojekt welches das Problem zeigt? Erraten können wir es NICHT. Die zwei Zeilen Code zeigen gar nichts.

Ist denn eine Simkarte in dem Tablet enthalten? Ist denn ein Netz gegeben?
 

GMan

Well-Known Member
Licensed User
Longtime User
Ist denn bei DEINEM Tablet eine SIM-karte drin ?
Weil - ansonsten ist klar dass nichts passiert.

Prüfen ob Telefonie möglich st und wenn ja, ermöglichen.
Ansonsten halt mit MsgBox oder so anzeigen, dass das Tablet kein Telefonieren unterstützt
 

mw71

Active Member
Licensed User
Longtime User
Hallo BenKheder,

SimCard Libary, damit solltest du prüfen können ob Anrufe grdsl. möglich sind, wenn nicht, entsprechende Meldung ausgeben.
Evtl. vorher dann auch den Netzwerkstatus (für die Anruffunktion) prüfen?

Ob man pauschal alle Tablets verbieten kann weiß ich nicht, würde ich so nicht machen.
Evtl. kann man über das Manifest z.B. festlegen das das Device eine Sim Karte/Telefonmöglichkeit braucht??,
Ist aber auch nur die "halbe Miete", es muss dann ja auch eine drin und aktiv/verbunden sein
 

BenKhederSoftware

Member
Licensed User
@an alle
Danke, für eure Hilfe.

@mw71
Dein Beitrag hat mir sehr geholfen.
Zwar geht bei mir die „SimCardLibary“ nicht.
Aus irgendeinem Grund gibt es einen Fehler und die APP stürzt ab.
Deshalb habe ich weiter gegoogelt und dann die Lösung doch noch gefunden.
Ich lese aus ob es eine SIM-Karte gibt.

Hier mein Code:
B4X:
Private Sub Button1_Click
    If CheckeSIM_Exists = 0 Then
        ToastMessageShow("Keine SIM-Karte gefunden.", True)
    Else
        ToastMessageShow("SIM-Karte ist vorhanden.", True)
    End If
End Sub

#Region "SIM_Auslesen"
Sub CheckeSIM_Exists As Integer
    Dim telMgr As JavaObject = GetContext.RunMethod("getSystemService", Array("phone"))
    Dim simState As Int = telMgr.RunMethod("getSimState", Null)
       
    Return simState
End Sub

Sub GetContext As JavaObject
Return GetBA.GetField("context")
End Sub

Sub GetBA As JavaObject
    Dim jo As JavaObject
    Dim cls As String = Me
    cls = cls.SubString("class ".Length)
    jo.InitializeStatic(cls)
    Return jo.GetFieldJO("processBA")
End Sub
#End Region

Danke, an euch alle. 👍
 
Last edited:
Top