android.os.ServiceManager.getService("usb").isFunctionEnabled("adb");
/*
rndis → USB共享网络
none → 仅充电
mtp → 文件传输
ptp → 图片传输
adb → 设备调试
*/
// 检查USB功能是否启用(如adb、mtp)

#MVEL表达式 #Javascript
TRANSACTION_snoozeNotificationUntilFromListener → snoozeNotificationUntilFromListener(android.service.notification.INotificationListener, java.lang.String, long): void

TRANSACTION_unsnoozeNotificationFromSystemListener → unsnoozeNotificationFromSystemListener(android.service.notification.INotificationListener, java.lang.String): void

TRANSACTION_getSnoozedNotificationsFromListener → getSnoozedNotificationsFromListener(android.service.notification.INotificationListener, int): android.content.pm.ParceledListSlice

#通知隐藏
众所不周知,广播可以作为 ShortX 触发器之一,同时也支持获取传递的数据,用好了可以丰富 ShortX 触发器。

广播数据是从 Android 16类原生中提取,适用度比国产定制化系统要高,广播介绍均为AI翻译。
ShortX-广播宝典_丰富你的触发器.txt
196.8 KB
importClass(android.app.admin.DevicePolicyManager);
importClass(android.content.Context);

var dpm = context.getSystemService(Context.DEVICE_POLICY_SERVICE);

// 获取输错次数
var attempts = dpm.getCurrentFailedPasswordAttempts();
import android.content.Context;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiManager;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

// 获取WifiManager实例
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);

// 获取扫描结果列表
List scanResults = wifiManager.getScanResults();

Set uniqueSSIDs = new HashSet();

// 使用Set来保证唯一性
for (ScanResult result : scanResults) {
    String ssid = result.SSID;
    if (ssid == null || ssid.isEmpty()) {
        ssid = result.BSSID;
    }
    
    // 将SSID添加到Set中
    uniqueSSIDs.add(ssid);
}

// 构建输出结果
StringBuilder wifiInfoBuilder = new StringBuilder();
for (String ssid : uniqueSSIDs) {
    wifiInfoBuilder.append(ssid).append("\n");
}

String wifiInfo = wifiInfoBuilder.toString();

// 一次性输出结果
wifiInfo;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import java.util.ArrayList;
import java.util.List;

// 获取PackageManager实例,用于管理应用程序
PackageManager packageManager = context.getPackageManager();

String appName = "OwnDroid"; // 要查找的应用名称
List matchingPackageNames = new ArrayList();

List packages = packageManager.getInstalledApplications(PackageManager.GET_META_DATA);
// 获取所有已安装的应用程序信息列表

for (ApplicationInfo packageInfo : packages) {
    String currentAppName = (String) packageManager.getApplicationLabel(packageInfo);
    // 获取当前迭代的应用程序的标签名称
    
    if (currentAppName != null && currentAppName.equals(appName)) {
        matchingPackageNames.add(packageInfo.packageName); // 如果找到匹配的应用名称,则存储其包名
    }
        Thread.sleep(1); // 线程休眠1毫秒
    }


// 使用StringBuilder来统一输出所有找到的包名
StringBuilder output = new StringBuilder();

for (String packageName : matchingPackageNames) {
    output.append(packageName).append("\n");
}
// 在这里输出output
output;
import android.app.ActivityManager;
import android.content.Context;
import android.app.ActivityManager.MemoryInfo;
import java.text.DecimalFormat;

// 创建DecimalFormat对象,指定格式
DecimalFormat df = new DecimalFormat("#.00");

// 获取ActivityManager服务
ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);

MemoryInfo memoryInfo = new MemoryInfo();
activityManager.getMemoryInfo(memoryInfo);

// 获取可用内存大小
long availableMemory = memoryInfo.availMem;

// 将可用内存大小从字节转换为GB,并保留两位小数
String availableMemoryGB = df.format(availableMemory / (double) (1024 * 1024 * 1024));

// 输出可用内存大小(GB)
(availableMemoryGB + " GB");
import java.net.HttpURLConnection;
import java.net.URL;

// 创建一个URL对象,指向百度网站
URL url = new URL("https://baidu.com");

// 打开一个HTTP连接
HttpURLConnection connection = (HttpURLConnection) url.openConnection();

// 设置HTTP请求方法为GET
connection.setRequestMethod("GET");

// 设置连接超时时间为1秒
connection.setReadTimeout(1000); // 1秒

// 获取HTTP响应码
int responseCode = connection.getResponseCode();

// 如果收到的状态码不是在400-499范围内,则输出网络连接正常
if (responseCode < 400 || responseCode >= 500) {
    ("网络连接正常");
}
import java.util.HashSet;
import java.util.Set;

String text1 = "Hello";
String text2 = "Hell64664os";

// 计算两个字符串的Jaccard相似度
def jaccardSimilarity(str1,str2) {
    Set set1 = new HashSet(); // 存储第一个字符串的字符集合
    Set set2 = new HashSet(); // 存储第二个字符串的字符集合

    // 将第一个字符串的字符添加到集合set1中
    for (char c : str1.toCharArray()) {
        set1.add(c);
    }

    // 将第二个字符串的字符添加到集合set2中
    for (char c : str2.toCharArray()) {
        set2.add(c);
    }

    // 创建集合intersection存储set1和set2的交集
    Set intersection = new HashSet(set1);
    intersection.retainAll(set2); // 只保留交集部分

    int commonCount = intersection.size(); // 交集的大小
    int totalUniqueCount = set1.size() + set2.size() - commonCount; // 并集的大小

    // 计算Jaccard相似度并返回
    return (double) commonCount / totalUniqueCount;
}

double similarityScore = jaccardSimilarity(text1, text2);

// 四舍五入并保留两位小数
String formattedScore = String.format("%.2f", similarityScore);

// 打印Jaccard相似度分数
return "Jaccard 相似分数: " + formattedScore;
// 清除指定包的应用数据
packageManager.clearApplicationUserData(packageName, null);

自行替换
import android.content.Context;
import android.content.pm.PackageManager;

String packageName = "包名";

PackageManager packageManager = context.getPackageManager();

// 清除指定包的缓存数据
packageManager.deleteApplicationCacheFiles(packageName, null);
import java.io.File;

// 创建表示目录的File对象
File directory = new File("/data/media/0");

// 获取目录中的所有文件和子目录
File[] files = directory.listFiles();

// 检查是否成功获取文件列表
if (files != null) {
    StringBuilder result = new StringBuilder();
    // 遍历文件列表,并将每个文件名添加到结果字符串中
    for (File file : files) {
        result.append(file.getName()).append("\n");
    }
    // 输出结果字符串
    return result.toString();
} else {
    // 如果目录不存在或为空,输出提示信息
    return "找不到指定目录或者目录为空。";
}
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.charset.StandardCharsets;

// 创建表示目录的File对象
File directory = new File("/data/media/0");

// 获取目录中的所有文件和子目录
File[] files = directory.listFiles();

// 定义要读取的文件名
String targetFileName = "2.html";

File targetFile = new File(directory, targetFileName);

// 检查文件是否存在并且是一个文件
if (targetFile.exists() && targetFile.isFile()) {
        // 读取文件内容
        String content = new String(Files.readAllBytes(Paths.get(targetFile.getPath())), StandardCharsets.UTF_8);
        // 返回文件路径和内容
        return targetFileName + " 文件内容:\n" + content;
} else {
    // 如果文件不存在,返回提示信息
    return targetFileName + " 文件不存在。";
}
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.charset.StandardCharsets;

// 创建表示目录的File对象
File directory = new File("/data/media/0");

// 定义要创建的文件名
String newFileName = "newfile.txt";
File newFile = new File(directory, newFileName);

// 检查目录是否存在,如果不存在则创建目录
if (!directory.exists()) {
    directory.mkdirs();
}

// 如果文件已存在,输出文件存在提示;否则创建新文件
if (newFile.exists()) {
    return newFileName + " 文件已经存在。";
} else {
        // 创建新文件
        if (newFile.createNewFile()) {
            return newFileName + " 文件已创建。";
        } 
        else {
        return "创建文件时发生错误。";
    }
}
import java.io.File;
import java.util.Scanner;

// 读取文件内容
new Scanner(new File("/data/media/0/newfile.txt")).useDelimiter("\\Z").next()
//应用是否被冻结,用作条件
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;

// 定义需要检查的应用包名
String targetPackageName = "包名";

// 获取PackageManager实例,用于管理应用程序
PackageManager packageManager = context.getPackageManager();


// 获取指定包名的应用信息
ApplicationInfo appInfo = packageManager.getApplicationInfo(targetPackageName, 0);
    
// 获取应用的启用状态
Boolean isApplicationEnabled =! appInfo.enabled;

//true代表已经被冻结
使用包名获取应用名
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;

def apkname(context, app) {
    // 获取PackageManager实例,用于管理应用程序
    PackageManager packageManager = context.getPackageManager();
    
    // 获取指定包名的应用信息
    ApplicationInfo appInfo = packageManager.getApplicationInfo(app, 0);
    
    // 获取应用名称
    String appName = packageManager.getApplicationLabel(appInfo).toString();
    
    return "应用名称: " + appName;
}

apkname(context, "org.telegram.messenger"); 
               //将后面的内容修改为你需要的包名
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.util.Base64;
import java.io.ByteArrayOutputStream;
String path = "/sdcard/Download/test.jpg";
Bitmap img = BitmapFactory.decodeFile(path);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
img.compress(Bitmap.CompressFormat.JPEG, 100, stream);
byte[] bytes = stream.toByteArray();
String code = Base64.encodeToString(bytes,Base64.NO_WRAP);
code

这个mvel的功能就是把本地一个图片转换为Android的bitmap对象,然后转换为字节数组,然后base64编码。我这运行报错了,我需要一点帮助
// 使用mvel写入文件
import java.io.*;
// 定义文件路径
String FilePath="/data/media/0/Download/1.txt";
// false为覆盖模式,true为追加模式
FileWriter file = new FileWriter(FilePath,false);
// 写入的内容
file.write("test");
// 关闭文件写入,如果没有这条内容无法正常写入
file.close()
Back to Top