2011-03-15 43 views
6

在Android中,我怎樣才能獲得應用程序安裝日期,我怎樣才能安裝的應用程序的大小。 。的Android,獲取安裝的應用程序的大小和日期

我使用下面的代碼來獲取應用程序的大小,但它是不正確的

列表包= getPackageManager()getInstalledPackages(0);

for(i=0;i<packs.size();i++) { 
    PackageInfo p = packs.get(i); 
    ApplicationInfo appInfo =p.applicationInfo; 
    long fileSize = new FileInputStream(appInfo.sourceDir).getChannel().size(); 
} 

請幫助我..謝謝 ,

+0

[機器人,讓應用程序的大小(http://stackoverflow.com/questions/4065149/android-get-app-size) – 2011-03-15 17:33:35

回答

10

阿賈伊,

爲了讓你將要使用的PackageManager類的安裝日期。更具體地說是getPackageInfo()方法。這將返回一個PackageInfo對象,其中包含firstInstallTime值。

有目前不存在一個公共的API爲PackageManager.getpackageSizeInfo()是從SDK 0.9的API除去SDK 1.0獲取應用程序的大小。見HERE

祝你好運!

+0

感謝@Willytate – 2011-03-16 08:18:23

+0

我們有什麼辦法可以計算大小/盤的可能重複使用已安裝的應用程序 – 2011-03-16 08:26:33

2

對於一個包,你可以嘗試的標準「的Java方法」的大小,即:

ApplicationInfo appInfo = ...; 

try{ 
    File file = new File(appInfo.sourceDir); 
    double size = file.length(); // size in Byte 
    Log.d(TAG, "Size: " + size + " Byte\n"); 
} catch(Exception e) { 
    //e.printStackTrace(); 
} 

不知道它給你的尺寸的精確估計,但。

+1

這將只返回APK文件大小。還有許多其他的文件夾來考慮,其中一些受到保護。 – 2014-05-03 10:51:38

相關問題