2015-01-03 57 views
0

我使用以下代碼獲取已安裝應用程序的名稱,並使用它們查看此應用程序是否有任何更新可用。安裝的應用程序的正確名稱

但有時會提供不正確的名稱(MX Speler而不是MX Player),因此未找到更新。

有沒有我可以/應該使用的更好的代碼?

{ 
    final PackageInfo pi = installedInfo != null ? installedInfo : downloadedInfo; 

    final PackageManager pm = getApplicationContext().getPackageManager(); 
    ApplicationInfo ai; 
     try { 
       ai = pm.getApplicationInfo(pi ??, 0); //How to set the name of the installed application? 
      } catch (final NameNotFoundException e) { 
       ai = null; 
      } 
      final String applicationName = (String) (ai != null ? pm.getApplicationLabel(ai) : "(unknown)"); 
      System.out.println("Application name : "+ applicationName); 
} 

回答

0

你不應該使用標籤,因爲它可能是每一種語言不同或改變了每次更新。您應該只依靠應用程序的ID(packageId),因爲此ID在應用程序的整個生命週期內保持不變。

+0

嗨Marcin,我將如何在我的代碼中使用這個?,你能舉個例子嗎? – Bjorn

+0

看到我編輯的代碼,但我如何設置名稱(pi)。你能看看嗎? – Bjorn

相關問題