How to add missing member from PackageManager?

Ram

Member
Licensed User
Longtime User
Using Java i can get the date that the application was installed:

B4X:
long installed = context.getPackageManager().getPackageInfo("package.name", 0).firstInstallTime;

this member is not available in the Phone PackageManager Basic4android - Phone

how can it be done using B4A?

Thx in advance!
 

Erel

B4X founder
Staff member
Licensed User
Longtime User
You can use the reflection library:
B4X:
Sub Activity_Create(FirstTime As Boolean)
   Log(DateTime.Date(GetFirstInstallTime("anywheresoftware.b4a.designer")))
End Sub

Sub GetFirstInstallTime(Package As String) As Long
   Dim r As Reflector
   r.Target = r.GetContext
   r.Target = r.RunMethod("getPackageManager")
   r.Target = r.RunMethod3("getPackageInfo", Package, "java.lang.String", 0, "java.lang.int")
   Return r.GetField("firstInstallTime")
End Sub
 
Upvote 0

hanyelmehy

Well-Known Member
Licensed User
Longtime User
When i use
B4X:
Return r.GetField("firstInstallTime")

i get this error
java.lang.NoSuchFieldException: firstInstallTime

any idea
Thank you:sign0085:
 
Upvote 0
Top