android - 无法在 Android 小部件按钮上发出 Http 请求。
问题描述
这真的很奇怪。代码很简单。当点击按钮时,它会进入 getNaverHtmlOn 函数向网站请求。
但是在那里,当我的手机没有插入电源时,它不起作用。但是当我插入手机时,它可以工作。
并且,当我的手机没有插入时,按下按钮并启动应用程序,然后 http 请求工作
如何在不插入手机的情况下完成我的 http 请求
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
super.onReceive(context, intent);
if (SYNC_CLICKED.equals(intent.getAction())) {
Log.e("main","clicked");
Toast.makeText(context,"1",Toast.LENGTH_SHORT).show();
new Thread() {
public void run() {
getNaverHtmlOn();
}
}.start();
Log.e("main","clicked333");
}
}
private String getNaverHtmlOn() {
String naverHtml = "";
HttpURLConnection con = null;
InputStreamReader isr = null;
BufferedReader br = null;
try{
URL url = new URL("https://xxxxx.herokuapp.com/xxxx?xxx=015EF&xxx=0");
con = (HttpURLConnection) url.openConnection();
con.setConnectTimeout(10000);
con.setReadTimeout(10000);
isr = new InputStreamReader(con.getInputStream());
br = new BufferedReader(isr);
String str = null;
}catch(Exception e){
e.printStackTrace();
}finally{
if(con != null){
try{con.disconnect();}catch(Exception e){}
}
if(isr != null){
try{isr.close();}catch(Exception e){}
}
if(br != null){
try{br.close();}catch(Exception e){}
}
}
return naverHtml;
}
解决方案
当我的手机没有插入电源时,它没有工作。但是当我插入手机时,它可以工作。
这可能是硬件问题。您的手机似乎处于省电模式。尝试在系统设置中关闭它。
或者在另一部手机上运行您的应用程序,以确保它是硬件问题或奇怪的软件错误。
推荐阅读
- java - ExpandableListView 未使用 FirebaseDatabase 填充新片段
- android - 如何调整大尺寸图像?
- javascript - 反应父组件从子组件加起来不准确
- reactjs - reactjs 错误:如果您打算渲染一组子项,请改用数组
- python - 如何将 SelectKBest 的输出传递给 cross_val_score 函数?
- c# - 根据固定的类型列表多次调用泛型方法
- android-fragments - 在 Kotlin 的片段中调用 setSupportActionBar 时出错
- google-cloud-platform - 如何在 GCP 中创建相同的实例
- lua - [lua]:值为 1 的键与常规 1 的作用不同
- mysql - 具有许多表的 MySQL 内存使用情况