我正试着用一个安卓应用程序(在安卓工作室制作)来控制我的Esp8266 (上面有一些很棒的leds )。我必须转到URL才能将它们设置为不同的函数。
我已经通过使用Intent让它工作了,如下所示。如果我现在按下按钮并转到浏览器中的URL,这是有效的!但如果我按下按钮就更好了,我不会去浏览器,它仍然会执行URL。
我已经尝试了很多方法,但它就是不想工作。如果有人能帮我,那就太棒了!
btn3.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.addCategory(Intent.CATEGORY_BROWSABLE);
intent.setData(Uri.parse("http://192.168.0.157/ledsoff?fade=500"));
startActivity(intent);
}
});
发布于 2017-05-17 01:31:13
为什么需要打开浏览器?如果你只是发送GET请求呢?
import java.net.URL;
btn3.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
new URL("http://192.168.0.157/ledsoff?fade=500").openStream();
}
});
发布于 2019-05-17 05:27:41
我有另一个想法,有两个按钮。LedOn和LedOff。根据他的ESP32代码https://randomnerdtutorials.com/esp32-web-server-arduino-ide/我的代码。您也可以在Esp8266上使用它。
在activity_main.xml上创建一个WebView并将visible设置为gone。所以没人能看出来。
在MainActivity中:
Button buttonLedOn;
Button buttonLedOff;
WebView web1 ;
在OnCreate()中:
buttonLedOn = findViewById(R.id.b_LedOn);
buttonLedOn = findViewById(R.id.b_LedOff);
web1 = findViewById(R.id.webViewOnLayout);
buttonLedOn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
web.loadUrl(http://IP_ADDRESS/27/on);
}
});
buttonLedOff.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
web.loadUrl(http://IP_ADDRESS/27/off);
}
});
https://stackoverflow.com/questions/44007790
复制相似问题