Italian App chiama App

luciano deri

Active Member
Licensed User
Longtime User
Salve ho sviluppato un paio di App, mi piacerebbe creare una App generare tipo menù con dei semplici tasti che chiama le 2 APP. Man mano che aggiunto funzionalità progetto aggiungerò creerò altre App chiamabili dal menù. E' possibile o devo replicare tutto il codice nel programma generale? Grazie tutti.
 

udg

Expert
Licensed User
Longtime User
Ciao,

cerca "launcher" sul forum e vedrai diversi riferimenti utili.
Tra questi, direi che un Tutorial tipo questo dovrebbe fornirti la maggior parte delle informazioni che ti occorrono e forse anche qualche spunto ulteriore.

udg
 

luciano deri

Active Member
Licensed User
Longtime User
Grazie a tutti. Riassumendo la soluzione alla mia domanda è
B4X:
Sub Globals
    'These global variables will be redeclared each time the activity is created.
    'These variables can only be accessed from this module.

    Private BtTenVen As Button
    Private BtRilInve As Button
    Dim pm As PackageManager
    Dim packages As List
End Sub

Sub Activity_Create(FirstTime As Boolean)
    'Do not forget to load the layout file created with the visual designer. For example:
    Activity.LoadLayout("LyMain")
 
    packages = pm.GetInstalledPackages
    For i = 0 To packages.Size -1
        'utile per sapere con certezza come si chiamano le app
        Log(packages.Get(i))
    Next
 
End Sub

Sub BtTenVen_Click
    StartActivity(pm.GetApplicationIntent("it.multidatanet.siscoapp.tenven"))
End Sub
Sub BtRilInve_Click
    StartActivity(pm.GetApplicationIntent("it.multidatanet.siscoapp.rilinve"))
End Sub
 

LucaMs

Expert
Licensed User
Longtime User
Invece dei Button potresti usare una ListView.
(Scrivo ma non provo eh)
B4X:
Private lvMyPrj As ListView ' <--- Inserita tramite Designer ?
'...
packages = pm.GetInstalledPackages
Private PackName As String
For i = 0 To packages.Size -1
    PackName = packages.Get(i)
    If PackName.StartsWith("lm.projects.") Then ' <--- ovviamente, che inizi con la tua definizione
       lvMyPrj.AddSingleLine(PackName)
    End If
Next
'...
Private Sub lvMyPrj_ItemClick (Position As Int, Value As Object)
   StartActivity(pm.GetApplicationIntent(Value))
End Sub
 
Top