Guten Morgen zusammen,
ich habe beim Auflisten von installierten Apps in einem Listview auf manchen Geräten das Problem, dass beim Einlesen des App-Icons als Bitmap ein Fehler entsteht.
Mit dem Code fange ich den Fehler zwar ab, aber die Schleife ist damit auch unterbrochen. Wie kann ich es anstellen, dass nach einem solchen Fehler, dieser ignoriert und mit der Schleife weiter fortgefahren wird?
ich habe beim Auflisten von installierten Apps in einem Listview auf manchen Geräten das Problem, dass beim Einlesen des App-Icons als Bitmap ein Fehler entsteht.
Mit dem Code fange ich den Fehler zwar ab, aber die Schleife ist damit auch unterbrochen. Wie kann ich es anstellen, dass nach einem solchen Fehler, dieser ignoriert und mit der Schleife weiter fortgefahren wird?
B4X:
Try
ListView1.clear
Dim pm As PackageManager
Dim Icons As BitmapDrawable
Dim Appname As String
Dim Obj1, Obj2, Obj3 As Reflector
Dim size, i, flags As Int
Dim msg, name As String
Obj1.Target = Obj1.GetContext
Obj1.Target = Obj1.RunMethod("getPackageManager") ' PackageManager
Obj1.Target = Obj1.RunMethod2("getInstalledPackages", 0, "java.lang.int") ' List<PackageInfo>
size = Obj1.RunMethod("size")
Dim mathe As Double
Dim PROBAR As Int
mathe= 100 / size ' 100 Prozent geteilt durch Anzahl der Apps
ProgressBar1.Enabled=True
For i = 0 To size -1
If manager.GetBoolean("chkSchnell")=False Then Sleep(10)
Obj2.Target = Obj1.RunMethod2("get", i, "java.lang.int") ' PackageInfo
name = Obj2.GetField("packageName")
Obj3.Target = Obj2.GetField("applicationInfo") ' ApplicationInfo
Icons = pm.GetApplicationIcon(name)
Appname = pm.GetApplicationLabel (name)
ImageView1.Bitmap=Icons.Bitmap
Label2.Text= i & " von " & size
Label3.Text= Appname
ProgressBar1.Progress=i*mathe ' Verarbeitete App multipliziert mit Variable Double (Mathe)
ListView1.AddTwoLinesAndBitmap2 ( Appname,name,Icons.Bitmap, name)
Next
Catch
' Wenn ein Fehler auftritt, dann....
Return True
End Try