Sub ListShortcutApps
Dim Packages As List = EnumShortcutPackages ,temp As Int
For temp = 0 To packages.Size-1
Log(Packages.Get(temp))
Next
End Sub
Sub EnumShortcutPackages As List
Dim PM As PackageManager, Permission As String = "com.android.launcher.permission.INSTALL_SHORTCUT", Packages As List = PM.GetInstalledPackages , temp As Int ,Permissions() As String
For temp = Packages.size-1 To 0 Step -1
Permissions = GetPermissions( Packages.get(temp) )
If Not(HasPermission(Permission,Permissions)) Then Packages.RemoveAt(temp)
Next
Return Packages
End Sub
Sub HasPermission(Permission As String, Permissions() As String) As Boolean
Dim temp As Int
For temp = 0 To Permissions.Length -1
If Permissions(temp).EqualsIgnoreCase(Permission) Then Return True
Next
End Sub
Sub GetPermissions(Package As String) As String()
Dim r As Reflector, permissions() As String
r.Target = r.GetContext
r.Target = r.RunMethod("getPackageManager")
r.Target = r.RunMethod4("getPackageInfo", Array As Object(Package, 0x00001000), Array As String("java.lang.String", "java.lang.int"))
permissions = r.GetField("requestedPermissions")
If permissions = Null Then
Dim permissions(0) As String
End If
Return permissions
End Sub