1.4.0429 修改一键加速界面,去掉ToastUtil,对接权限和通知

This commit is contained in:
2024-05-08 14:33:06 +08:00
parent 08f5867864
commit 004de0cc2e
32 changed files with 885 additions and 527 deletions

View File

@@ -32,6 +32,7 @@ import com.arialyy.aria.core.Aria;
import com.arialyy.aria.core.download.DownloadEntity;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.hjq.toast.Toaster;
import java.io.BufferedReader;
import java.io.DataOutputStream;
@@ -81,6 +82,9 @@ public class ApkUtils {
this.add("com.yixuepai.os");
this.add("com.tongyi.aistudent");
this.add("com.uisaas.service");
this.add("com.ttstd.ttutils");
this.add("com.ttstd.qin");
}};
/**
@@ -411,7 +415,7 @@ public class ApkUtils {
/**
* 学习桌面和九学王app
*/
public static final Set<String> jxwApp = new HashSet<String>() {{
public static final Set<String> mJxwApp = new HashSet<String>() {{
this.add("com.google.android.inputmethod.pinyin");
this.add("air.com.zhihuiyoujiao.flashplayer");
this.add("com.example.arithmeticformula");
@@ -463,6 +467,10 @@ public class ApkUtils {
this.add("com.teclast.zybrowser");
this.add("com.teclast.zyappstore");
this.add("com.teclast.zy");
this.add("com.jxw.souti");
this.add("com.jxw.xdfzq");
this.add("com.uiui.zysn ");
}};
/**
@@ -552,7 +560,7 @@ public class ApkUtils {
return true;
} catch (Exception e) {
Log.e(TAG, "openPackage: " + e.getMessage());
ToastUtil.show("打开失败");
Toaster.show("打开失败");
return false;
}
}
@@ -783,12 +791,12 @@ public class ApkUtils {
public void onNext(Integer value) {
if (value == 2) {
//安装成功
ToastUtil.show("安装成功");
Toaster.show("安装成功");
Log.e("installRx", "-----------安装成功-----------");
} else {
//安装错误
Log.e("installRx", "------------安装错误-----------");
ToastUtil.show("安装失败");
Toaster.show("安装失败");
}
}
@@ -819,7 +827,7 @@ public class ApkUtils {
public static boolean installApps(String apkPath) {
Log.e(TAG, "installApps: 正在安装应用 " + apkPath);
ToastUtil.show("正在安装应用");
Toaster.show("正在安装应用");
Process process = null;
BufferedReader successResult = null;
BufferedReader errorResult = null;
@@ -874,7 +882,7 @@ public class ApkUtils {
if (sessionId != -1) {
boolean copySuccess = copyApkFile(packageInstaller, sessionId, apkFilePath);
if (copySuccess) {
ToastUtil.show("正在安装应用");
Toaster.show("正在安装应用");
install(packageInstaller, sessionId, context);
}
}
@@ -943,7 +951,7 @@ public class ApkUtils {
public static void installApkInSilence(String installPath, String packageName) {
Log.e(TAG, "installApps: 正在安装应用 " + installPath);
ToastUtil.show("正在安装应用");
Toaster.show("正在安装应用");
Class<?> pmService;
Class<?> activityTherad;
@@ -1138,39 +1146,24 @@ public class ApkUtils {
return applicationInfos;
}
public static void showAllAPP(Context context) {
public static void showAllApp(Context context) {
PackageManager pm = context.getPackageManager();
// 查询所有已经安装的应用程序
List<PackageInfo> packages = pm.getInstalledPackages(PackageManager.COMPONENT_ENABLED_STATE_ENABLED | PackageManager.COMPONENT_ENABLED_STATE_DISABLED);
for (PackageInfo packageInfo : packages) {
Log.i(TAG, "showAllAPP: " + packageInfo.packageName);
//如果是自带可以卸载的,除开不需要管控的
if (canremove_systemapp.contains(packageInfo.packageName)
&& !show_canremove_systemapp.contains(packageInfo.packageName)) {
String pkg = packageInfo.packageName;
Log.i(TAG, "showAllApp: " + pkg);
Log.e(TAG, "showAllApp: disable = " + (pm.getApplicationEnabledSetting(pkg) == PackageManager.COMPONENT_ENABLED_STATE_DISABLED));
if (canremove_systemapp.contains(pkg)
&& !show_canremove_systemapp.contains(pkg)) {
Log.e(TAG, "showAllApp: continue: " + pkg);
continue;
}
if ((packageInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 1 && !systemapp.contains(packageInfo.packageName)) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
//10.0上日历和电子邮件是可卸载的
//7.0是系统应用
if (show_canremove_systemapp.contains(packageInfo.packageName)) {
Logger.e("showAllAPP2", "packageName:" + packageInfo.packageName);
try {
pm.setApplicationEnabledSetting(packageInfo.packageName, PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, 0);
} catch (Exception e) {
Log.e(TAG, "showAllAPP: " + e.getMessage());
}
}
}
} else {
Logger.e("showAllAPP", "packageName:" + packageInfo.packageName);
try {
pm.setApplicationEnabledSetting(packageInfo.packageName, PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, 0);
} catch (Exception e) {
Log.e(TAG, "showAllAPP: " + e.getMessage());
}
hideSystemSettingAPP(context, packageInfo.packageName);
try {
Log.i(TAG, "showAllApp: show: " + pkg);
pm.setApplicationEnabledSetting(pkg, PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, 0);
} catch (Exception e) {
Log.e(TAG, "showAllApp: " + e.getMessage());
}
}
}
@@ -1472,4 +1465,28 @@ public class ApkUtils {
return size;
}
/**
* 获取第三方应用
*
* @param context
* @return
*/
public static List<String> queryFilterAppList(Context context) {
PackageManager pm = context.getPackageManager();
// 查询所有已经安装的应用程序
List<ApplicationInfo> appInfos = pm.getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES);// GET_UNINSTALLED_PACKAGES代表已删除但还有安装目录的
List<String> applicationInfos = new ArrayList<>();
for (ApplicationInfo app : appInfos) {
// Log.e("queryFilterAppInfo", String.valueOf(app.flags));
// Log.e("queryFilterAppInfo", String.valueOf((app.flags & mask)));
if ((app.flags & ApplicationInfo.FLAG_SYSTEM) == 1) {
//通过flag排除系统应用会将电话、短信也排除掉
} else {
applicationInfos.add(app.packageName);
Log.e("queryFilterAppInfo", app.packageName);
}
}
return applicationInfos;
}
}