如何以编程方式按下 android 的物理按钮
How to press physical buttons of android programatically
我想以编程方式按下音量按钮。在Java中可以使用机器人class,但在Android中没有机器人class。
我想知道如何在 Android 中实现这一点。
这个怎么样
private abstract class SimpleButton extends Button {
public SimpleButton(String text) {
super(TechDemoLauncher.this);
setText(text);
setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
onButtonPressed();
}
});
}
public abstract void onButtonPressed();
}
之后你可以像这样实现 onButtonPressed() 方法
private void Example(String string) {
yourLayout.addView(new SimpleButton(string) {
@Override
public void onButtonPressed() {
//insert your code
}
});
}
我建议您以编程方式 increase/decrease 卷,这会更容易一些,但是如果您想将它用于其他一些过程,那么您可以检查下面的代码 -
编辑 - 我之前给出的片段不起作用,但这个片段有效。它使用可运行的,因此 try catch 块是必需的。
new Thread(new Runnable() {
@Override
public void run() {
try {
Instrumentation inst = new Instrumentation();
//This is for Volume Down, change to
//KEYCODE_VOLUME_UP for Volume Up.
inst.sendKeyDownUpSync(KeyEvent.KEYCODE_VOLUME_DOWN);
}catch(InterruptedException e){}
}
}).start();
我想以编程方式按下音量按钮。在Java中可以使用机器人class,但在Android中没有机器人class。
我想知道如何在 Android 中实现这一点。
这个怎么样
private abstract class SimpleButton extends Button {
public SimpleButton(String text) {
super(TechDemoLauncher.this);
setText(text);
setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
onButtonPressed();
}
});
}
public abstract void onButtonPressed();
}
之后你可以像这样实现 onButtonPressed() 方法
private void Example(String string) {
yourLayout.addView(new SimpleButton(string) {
@Override
public void onButtonPressed() {
//insert your code
}
});
}
我建议您以编程方式 increase/decrease 卷,这会更容易一些,但是如果您想将它用于其他一些过程,那么您可以检查下面的代码 - 编辑 - 我之前给出的片段不起作用,但这个片段有效。它使用可运行的,因此 try catch 块是必需的。
new Thread(new Runnable() {
@Override
public void run() {
try {
Instrumentation inst = new Instrumentation();
//This is for Volume Down, change to
//KEYCODE_VOLUME_UP for Volume Up.
inst.sendKeyDownUpSync(KeyEvent.KEYCODE_VOLUME_DOWN);
}catch(InterruptedException e){}
}
}).start();