2015-04-17 156 views
0

我想確定安裝的應用程序是否是系統應用程序。如何確定應用程序是否是系統應用程序?

所以我有安裝的應用程序的列表,像這樣: enter image description here

而且要改變所有的應用程序,這是系統應用的背景色。

這裏是我的代碼的相應部分:

private void kindElementTexte() { 

    // TODO: Bildericons sollen angezeigt werden 

    ActivityManager manager = 
      (ActivityManager) this.getSystemService (ACTIVITY_SERVICE); 


    ArrayList<String> kinder = new ArrayList<String>(); 


    final PackageManager pm = getPackageManager(); 
    List<ApplicationInfo> packages = pm.getInstalledApplications (PackageManager.GET_META_DATA); 

    View inflate = getLayoutInflater(). inflate(R. layout. anwendung_starten_layout, null); 


    String packetName = null; 

    for (ApplicationInfo packageInfo : packages) { 




     packetName = packageInfo.packageName; 


     kinder.add (packetName); 
    } 


    kindElemente.add (kinder); 


} 

是否有機會做到這一點?

非常感謝。

回答

2

在for循環中,檢查應用程序是否是系統應用程序,並根據需要調整顏色。

您可以檢查系統的應用程序用下面的代碼:

for (ApplicationInfo packageInfo : packages) { 
    if ((packageInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0) { 
     //is system app 
    } 
} 

瞭解更多關於不同的標誌in the ApplicationInfo documentation

1

我認爲這是一個有效的解決方案,並顯示所有系統應用對我來說:

for (ApplicationInfo packageInfo : packages) { 
    if ((packageInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0) { 
     System.out.println(packageInfo.packageName + "is a system application"); 
    } 
} 
相關問題