我找到了以下代码:
try{
Object service = getSystemService("statusbar");
Class<?> statusbarManager = Class.forName("android.app.StatusBarManager");
Method expand = statusbarManager.getMethod("expand");
expand.invoke(service);
}
catch(Exception ex){
}
它可用于扩展状态栏,但我想要访问的方法不会展开,它的“禁用”和禁用会将int作为参数。可以告诉我如何以这种方式调用方法时包含一个参数。
答案 0 :(得分:4)
invoke
为参数提供额外的参数,因此您可以这样调用它:
Class<?> statusbarManager = Class.forName("android.app.StatusBarManager");
Method disable = statusbarManager.getMethod("disable", Integer.TYPE); //takes an int
disable.invoke(service, 2); //calls disable(2)
注意:正如评论中所指出的,这是一个坏主意。