利用命令檢測已安裝第三方分身App
App被分身軟件復制安裝后集峦,就可以隨意攔截修改Api層東西,比如位置信息等,容易被人利用制造虛假信息希柿。
這里選擇檢測是否安裝分身軟件來做相應程序處理浮创,在利用系統(tǒng)PackageManager獲取已安裝第三方應用列表時發(fā)現(xiàn)忧吟,這些分身軟件已經(jīng)攔截剔除了自己的包名,所以改用命令直接獲日杜:
public boolean isInstalledVirtualLocationPackage() {
try {
List<String> virtualLocationPackages = new ArrayList<>();
//分身App列表
virtualLocationPackages.add("這里寫包名");
Process process = Runtime.getRuntime().exec("pm list package -3");
BufferedReader bis = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line = null;
while ((line = bis.readLine()) != null) {
for (String packageName : virtualLocationPackages) {
if (packageName.equals(line.substring(8, line.length()))) {
return true;
}
}
}
} catch (IOException e) {
}
return false;
}