2015-04-17 152 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"); 
    } 
} 
相关问题