在Android 12中,确实已经移除了ActivityManager类的getRunningServices()方法。但是,你可以使用adb shell dumpsys activity services命令来获取系统中所有的服务。\n\n要在Activity运行时执行该命令,可以使用Runtime.getRuntime().exec()方法执行命令,并读取命令的输出。以下是一个示例代码:\n\njava\nimport java.io.BufferedReader;\nimport java.io.IOException;\nimport java.io.InputStreamReader;\n\npublic class MainActivity extends AppCompatActivity {\n\n @Override\n protected void onCreate(Bundle savedInstanceState) {\n super.onCreate(savedInstanceState);\n setContentView(R.layout.activity_main);\n\n try {\n // 执行命令\n Process process = Runtime.getRuntime().exec("adb shell dumpsys activity services");\n BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));\n\n String line;\n StringBuilder output = new StringBuilder();\n // 读取命令输出\n while ((line = reader.readLine()) != null) {\n output.append(line).append("\n");\n }\n\n // 输出命令结果\n Log.d("Services", output.toString());\n\n // 关闭输入流和进程\n reader.close();\n process.destroy();\n\n } catch (IOException e) {\n e.printStackTrace();\n }\n }\n}\n\n\n这将执行adb shell dumpsys activity services命令,并将命令的输出打印到Logcat中。请注意,你需要确保设备连接到电脑上,并且已经启用了USB调试模式。\n\n另外,需要注意的是,使用adb shell命令执行系统命令需要WRITE_EXTERNAL_STORAGE权限,因此你需要在AndroidManifest.xml文件中添加以下权限:\n\nxml\n<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />\n\n\n希望对你有帮助!


原文地址: https://www.cveoy.top/t/topic/p4xR 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录