Tôi có một ứng dụng Android mà tôi muốn kiểm tra xem tên ứng dụng được cài đặt có khớp với chuỗi được chuyển đến hàm chứa mã này không. Mã và ví dụ là dưới đây:Tại sao chuỗi so sánh String của tôi không thành công?
private Boolean checkInstalledApp(String appName){
PackageManager pm = this.getPackageManager();
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> list = pm.queryIntentActivities(mainIntent, 0);
Boolean isInstalled = false;
for(ResolveInfo info: list) {
if (info.activityInfo.applicationInfo.loadLabel(pm).toString()==appName){
isInstalled = true;
break;
}
}
return isInstalled;
}
Giả sử bạn gọi checkInstalledApp("SetCPU");
và tên ứng dụng trên điện thoại được gọi là điều tương tự nó sẽ trả về true
. Tuy nhiên, nó không bao giờ. Tôi đăng nhập các kết quả và nó phải phù hợp nhưng nó không. Bất cứ ai có thể xin vui lòng khai sáng cho tôi là tại sao điều này không hoạt động?
Ah tôi thấy. Đó chắc chắn là một sai lầm mà người mới này đã thực hiện. Cảm ơn. –