如何区分系统应用程序和普通应用程序?我浏览了android PackageManager
并找不到任何东西.
编辑:我想通过代码区分.
if(system app) {
//do something
}
else{
//do nothing
}
Run Code Online (Sandbox Code Playgroud)
小智 15
您可以尝试使用ApplicationInfo类(android.conent.pm)中提供的标志.例如:
...
PackageManager pm = getPackageManager();
List<ApplicationInfo> installedApps = pm.getInstalledApplications(0);
for (ApplicationInfo ai: installedApps) {
if ((ai.flags & ApplicationInfo.FLAG_SYSTEM) != 0) {
// System app - do something here
...
} else {
// User installed app?
}
}
Run Code Online (Sandbox Code Playgroud)
gb9*_*b96 12
忘记PackageManager!您只询问了自己的应用程序.在Activity#onCreate(Bundle)中,您可以调用getApplicationInfo()并测试其标志,如下所示:
boolean isSystemApp = (getApplicationInfo().flags
& (ApplicationInfo.FLAG_SYSTEM | ApplicationInfo.FLAG_UPDATED_SYSTEM_APP)) != 0;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6052 次 |
最近记录: |