2015-09-15 59 views
0

如何在XE8上獲得我的Android應用程序的版本?如何在XE8上獲得我的Android應用程序的版本?

這個代碼不編譯上XE8

PackageManager := SharedActivity.getPackageManager; 
    PackageInfo := PackageManager.getPackageInfo(SharedActivityContext.getPackageName(), TJPackageManager.JavaClass.GET_ACTIVITIES); 
    result:= JStringToString(PackageInfo.versionName); 
+0

什麼是實際的編譯器錯誤:

該類已由Embarcadero公司在以下單元周圍?在哪一行? –

+0

編譯器說 未說明的標識符JPackageManager「 我都在使用, Androidapi.JNI.GraphicsContentViewText, Androidapi.JNIBridge, Androidapi.JNI.JavaTypes, FMX.Helpers.Android, Androidapi。 JNI.Net, Androidapi.JNI.Os, Androidapi.Helpers, Androidapi.IOUtils, Androidapi.JNI.App, Androidapi.JNIBridge, Androidapi.NativeActivity; – Dison

+0

在XE8中,'AndroidApp.JNI.GraphicsContentViewText'單元中聲明'JPackageManager'。無論如何,這個問題是http://stackoverflow.com/questions/22315571/的重複。 –

回答

0

使用JPackageInfo類簡單擷取您的Android應用程序的版本。 Androidapi.JNI.GraphicsContentViewText

{code} 

{$IFDEF ANDROID} 

var 
    PackageManager: JPackageManager; 
    PackageInfo: JPackageInfo; 
begin 
    PackageManager := SharedActivityContext.getPackageManager; 
    PackageInfo := PackageManager.getPackageInfo 
    (SharedActivityContext.getPackageName, 0); 
    result := JStringToString(PackageInfo.versionName); 
End; 
{$ENDIF} 
相關問題