如果我从我的Android设备上卸载一个应用程序,然后重新安装它,用户id会改变吗?例如,如果用户之前是app-60,重新安装后会不会再次是app-60 (uid 60)?
发布于 2013-01-22 15:30:23
摘自Security and Permissions“在安装时,安卓给每个包一个不同的Linux用户ID。在包在该设备上的生命周期内,该身份保持不变。在不同的设备上,相同的包可能有不同的UID;重要的是每个包在给定的设备上有不同的UID。”
在安装应用程序时,Android默认情况下(1)会为该软件包创建一个专门的UID,以便它可以拥有自己的私有资源/存储空间。如果没有程序包再使用该UID,则会删除该UID。
所以我相信它会改变。您可以使用Pratik的代码来检查并确定在连续安装后的差异。
Here 是Package Manager服务的代码。可能是一个深入研究的起点。
发布于 2013-01-22 15:27:59
您可以在应用程序中获取UID
String your app_selected = "your package name";
final PackageManager pm = getPackageManager();
//get a list of installed apps.
List<ApplicationInfo> packages = pm.getInstalledApplications(
PackageManager.GET_META_DATA);
int UID;
//loop through the list of installed packages and see if the selected
//app is in the list
for (ApplicationInfo packageInfo : packages) {
if(packageInfo.packageName.equals(app_selected)){
//get the UID for the selected app
UID = packageInfo.uid;
}
}
https://stackoverflow.com/questions/14453495
复制相似问题