【发布时间】:2020-11-28 21:50:53
【问题描述】:
您好,我一定很累,因为我似乎无法完成这项工作,在我看来这是有道理的。我有一个 String[] 充满了 Android 应用程序名称,我试图在将结果写入 JSONArray 之前过滤掉它们。
public static JSONArray appInfo = new JSONArray();
public static String[] ignoreList = {"Google", "Maps", "Settings", "Phone", "Chrome", "Photos", "Duo", "YouTube", "Gmail", "Contacts", "Drive", "Clock", "Messages", "Files", "Calculator", "File manager", "Samsung", "Gallery", "LastPass", "OnePlus", "Weather"};
public void listApps(Context c) {
PackageManager pm = c.getPackageManager();
Intent main = new Intent(Intent.ACTION_MAIN, null);
main.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> packages = pm.queryIntentActivities(main, 0);
for (ResolveInfo resolve_info : packages) {
try {
String package_name = resolve_info.activityInfo.packageName;
String app = (String) pm.getApplicationLabel(pm.getApplicationInfo(package_name, PackageManager.GET_META_DATA));
for (String tempStr : ignoreList) {
if (!app.contains(tempStr)) {
JSONObject json = new JSONObject(); // Create temp json object with app info.
json.put("app", app);
appInfo.put(json);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
try {
Log.d("Debug", appInfo.toString(4));
} catch (JSONException e) {
e.printStackTrace();
}
}
如果我要检查;
if (!app.contains("Google")) {
等等。然后我的JSONArray 将不包含带有“Google”的应用程序名称,但是当我遍历ignoreList 时,我得到以下JSON 来自ignoreList,而不是剩余的项目不在ignorList?它还不断重复对象吗?非常欢迎任何帮助。
{
"app": "Chrome"
},
{
"app": "Chrome"
},
{
"app": "Chrome"
},
{
"app": "Chrome"
},
{
"app": "Chrome"
},
{
"app": "Chrome"
},
{
"app": "Chrome"
},
{
"app": "Chrome"
},
{
"app": "Chrome"
},
{
"app": "Chrome"
},
{
"app": "Chrome"
},
{
"app": "Chrome"
},
{
"app": "Chrome"
},
{
"app": "Chrome"
},
{
"app": "Chrome"
},
{
"app": "Chrome"
},
{
"app": "Chrome"
},
{
"app": "Chrome"
},
{
"app": "Chrome"
},
{
"app": "Chrome"
},
{
"app": "Phone"
},
{
"app": "Phone"
},
{
"app": "Phone"
},
{
"app": "Phone"
},
{
"app": "Phone"
},
{
"app": "Phone"
},
{
"app": "Phone"
},
{
"app": "Phone"
},
{
"app": "Phone"
},
{
"app": "Phone"
},
{
"app": "Phone"
},
{
"app": "Phone"
},
{
"app": "Phone"
},
{
"app": "Phone"
},
{
"app": "Phone"
},
{
"app": "Phone"
},
{
"app": "Phone"
},
{
"app": "Phone"
},
{
"app": "Phone"
},
{
"app": "Phone"
},
{
"app": "Settings"
},
{
"app": "Settings"
},
{
"app": "Settings"
},
{
"app": "Settings"
},
{
"app": "Settings"
},
{
"app": "Settings"
},
{
"app": "Settings"
},
{
"app": "Settings"
},
{
"app": "Settings"
},
{
"app": "Settings"
},
{
"app": "Settings"
},
{
"app": "Settings"
},
{
"app": "Settings"
},
{
"app": "Settings"
},
{
"app": "Settings"
},
{
"app": "Settings"
},
{
"app": "Settings"
},
{
"app": "Settings"
},
{
"app": "Settings"
},
{
"app": "Settings"
},
{
"app": "Google Play Store"
},
{
"app": "Google Play Store"
},
{
"app": "Google Play Store"
},
{
"app": "Google Play Store"
},
{
"app": "Google Play Store"
},
{
"app": "Google Play Store"
},
{
"app": "Google Play Store"
},
{
"app": "Google Play Store"
},
{
"app": "Google Play Store"
},
{
"app": "Google Play Store"
},
{
"app": "Google Play Store"
},
{
"app": "Google Play Store"
},
{
"app": "Google Play Store"
},
{
"app": "Google Play Store"
},
{
"app": "Google Play Store"
},
{
"app": "Google Play Store"
},
{
"app": "Google Play Store"
},
{
"app": "Google Play Store"
},
{
"app": "Google Play Store"
},
{
"app": "Google Play Store"
},
{
"app": "Drive"
},
{
"app": "Drive"
},
{
"app": "Drive"
},
{
"app": "Drive"
},
{
"app": "Drive"
},
{
"app": "Drive"
},
{
"app": "Drive"
},
{
"app": "Drive"
},
{
"app": "Drive"
},
{
"app": "Drive"
},
{
"app": "Drive"
},
{
"app": "Drive"
},
{
"app": "Drive"
},
{
"app": "Drive"
},
{
"app": "Drive"
},
{
"app": "Drive"
},
{
"app": "Drive"
},
{
"app": "Drive"
},
{
"app": "Drive"
},
{
"app": "Drive"
},
{
"app": "Maps"
},
{
"app": "Maps"
},
{
"app": "Maps"
},
{
"app": "Maps"
}
【问题讨论】:
标签: java android arrays string loops