您的位置:首页 > 移动开发 > Android开发

Android Tips: 如何判断所安装的应用是否为系统应用

2014-12-18 10:16 519 查看
在Andori的开发中,尤其的是launcher 的开发中需要判断一个已经安装的应用是否为系统应用。这里介绍一个好用的方法,代码如下:

// Check if the apk is in system folder
public boolean isSystemApk(int position) {
if (position >= mList.size())
return false;
ResolveInfo resolveInfo = mList.get(position);
Log.d(TAG, resolveInfo.activityInfo.packageName + " get the path"
+ resolveInfo.activityInfo.applicationInfo.sourceDir.toString());
ApplicationInfo ai;
try {
ai = pm.getApplicationInfo(
resolveInfo.activityInfo.applicationInfo.packageName, 0);
if ((ai.flags & ApplicationInfo.FLAG_SYSTEM) != 0) {
return true;
}
} catch (NameNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return false;
}
取用一个标记位来判断。
具体的讨论可以参考: http://stackoverflow.com/questions/8784505/how-do-i-check-if-an-app-is-a-non-system-app-in-android
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐